 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Получение оружия на респе при вводе команды)
| |
| Inferno | Дата: Суббота, 16.08.2008, 17:54 | Сообщение # 1 |
|
Хостинг-провайдер
Группа:
I'm V.I.P.
Сообщений: 1320
Награды: 26
Город: /root
Репутация: 320
Замечания: 0%
Статус: 
| Как такое сделать? Команда /gang при её вводе пишется текст: "Мы отомстим врагам" но повторно команду можно использовать только через минуту... Оружие - пистолет(id 22 вроде), mp5(id 29) и бита(ид 5) PS: такое наверно мне потом придется добавлять к каждой банде... Добавлено (16.08.2008, 17:54) --------------------------------------------- Если надо могу дать координаты респы
|
| |
|
|
| OKStyle™ | Дата: Суббота, 16.08.2008, 20:33 | Сообщение # 2 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| В начало: Code new UsedCom[MAX_PLAYERS]; // by Neo-Rus (поскольку он первый написал такое решение) В OnPlayerCommandText: Code if(!strcmp(cmdtext,"/gang",true)) { UsedCom[playerid]=60; if(UsedCom[playerid]>0) { SendClientMessage(playerid,0xFF0000AA," Эта команда доступна только 1 раз в минуту."); } else { GivePlayerWeapon(playerid,5); GivePlayerWeapon(playerid,22); GivePlayerWeapon(playerid,29); SendClientMessageToAll(0xFFFF00AA," Мы отомстим врагам!"); } return 1; }
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
Сообщение отредактировал OKStyle™ - Суббота, 16.08.2008, 20:34 |
| |
|
|
| Inferno | Дата: Суббота, 16.08.2008, 21:35 | Сообщение # 3 |
|
Хостинг-провайдер
Группа:
I'm V.I.P.
Сообщений: 1320
Награды: 26
Город: /root
Репутация: 320
Замечания: 0%
Статус: 
| И всё? а как сделать это только определенным бандам? Например у ментов, фбр, репортеров, медиков, армии, лицензеров, мэра и хитманов этого быть не должно... Может там где-нить дописать id'ы банд?
|
| |
|
|
| OKStyle™ | Дата: Воскресенье, 17.08.2008, 08:43 | Сообщение # 4 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| Inf1203, есть 3 варианта: Пусть функции определения фракций будут такими (твоего определения я не знаю): IsAMedic(); IsACop(); IsAFBI(); и так далее Первый Указываем определение франкции при вводе команды. Сработает только для указанных, остальным напишет, что неизвестная команда. Code if(!strcmp(cmdtext,"/gang",true) && IsAMedic(playerid)) // если одинаковый результат для нескольких фракций, то: && (IsAMedic(playerid) || IsACop(playerid) || IsAFBI(playerid)) ... { UsedCom[playerid]=60; if(UsedCom[playerid]>0) { SendClientMessage(playerid,0xFF0000AA," Эта команда доступна только 1 раз в минуту."); } else { GivePlayerWeapon(playerid,5); GivePlayerWeapon(playerid,22); GivePlayerWeapon(playerid,29); SendClientMessageToAll(0xFFFF00AA," Мы отомстим врагам!"); } return 1; } Второй Указываем в самом коде. Сработает только для медиков, остальным напишет, что он не медик. Code if(!strcmp(cmdtext,"/gang",true)) { if(IsAMedic(playerid) { UsedCom[playerid]=60; if(UsedCom[playerid]>0) { SendClientMessage(playerid,0xFF0000AA," Эта команда доступна только 1 раз в минуту."); } else { GivePlayerWeapon(playerid,5); GivePlayerWeapon(playerid,22); GivePlayerWeapon(playerid,29); SendClientMessageToAll(0xFFFF00AA," Мы отомстим врагам!"); } } else { SendClientMessageToAll(0xFF0000AA," Вы не медик!"); } return 1; } Третий Универсализируем код для нескольких фракций одновременно, но с различным результатом. Code if(!strcmp(cmdtext,"/gang",true)) { UsedCom[playerid]=60; if(UsedCom[playerid]>0) { SendClientMessage(playerid,0xFF0000AA," Эта команда доступна только 1 раз в минуту."); } else { if(IsAMedic(playerid) { GivePlayerWeapon(playerid,5); GivePlayerWeapon(playerid,22); GivePlayerWeapon(playerid,29); SendClientMessageToAll(0xFFFF00AA," Мы отомстим врагам!"); } else if(IsACop(playerid)) { GivePlayerWeapon(playerid,5); // тут можно другое оружие GivePlayerWeapon(playerid,22); // и тут GivePlayerWeapon(playerid,29); // и здесь SendClientMessageToAll(0xFFFF00AA," Мы отомстим врагам!"); } else { SendClientMessageToAll(0xFF0000AA," Вы не работаете!"); // не коп, не медик, не фбр и т.п. Объедини одним словом =) } } return 1; }
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
Сообщение отредактировал OKStyle™ - Воскресенье, 17.08.2008, 08:58 |
| |
|
|
| Inferno | Дата: Воскресенье, 17.08.2008, 10:15 | Сообщение # 5 |
|
Хостинг-провайдер
Группа:
I'm V.I.P.
Сообщений: 1320
Награды: 26
Город: /root
Репутация: 320
Замечания: 0%
Статус: 
| А можно где-нить просто прописать иды банд и только для них эта команда будет работать?
|
| |
|
|
| OKStyle™ | Дата: Воскресенье, 17.08.2008, 10:18 | Сообщение # 6 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| Inf1203, 1 способ.
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
|
| |
|
|
| Inferno | Дата: Пятница, 22.08.2008, 12:30 | Сообщение # 7 |
|
Хостинг-провайдер
Группа:
I'm V.I.P.
Сообщений: 1320
Награды: 26
Город: /root
Репутация: 320
Замечания: 0%
Статус: 
| OKStyle™, сделал значит я вот так: В OnPlayerCommandText: Code if(!strcmp(cmdtext,"/gang",true) && PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] == 8 || PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pLeader] == 14 || PlayerInfo[playerid][pLeader] == 15 || PlayerInfo[playerid][pLeader] == 16 || PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pMember] == 17) { UsedCom[playerid]=60; if(UsedCom[playerid]>0) { SendClientMessage(playerid,0xFF0000AA," Подожди брат, аммуницию скоро принесут."); } else { GivePlayerWeapon(playerid,5); GivePlayerWeapon(playerid,22); GivePlayerWeapon(playerid,29); SendClientMessageToAll(0xFFFF00AA," Грядет расплата нашим врагам!"); } return 1; } Но после этого у мну на все команда стало реагировать "Подожди брат, аммуницию скоро принесут", абсолятно на все, даже на /kick и /ban Может что-то где-то неверно? Добавлено (22.08.2008, 12:30) --------------------------------------------- да и ещё надо добавить чтоб при вводе этой команды ещё добавлялось +100 хр и брони)
|
| |
|
|
| Spirit | Дата: Пятница, 22.08.2008, 19:14 | Сообщение # 8 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 129
Награды: 1
Город: Омск
Репутация: 14
Замечания: 0%
Статус: 
| OKStyle™, за неимением собственных мозгов приписываем чужие алгоритмы другим... Написал не полностью. Решения не очень классные. Code new UsCom[MAX_PLAYERS];//Так же пишем массив //Так же нам понадобится ещё одна функция которая собсна позволит писать команду только раз в минуту forward Gbljhs(playerid);//По своему надеюсь обзавёте public Gbljhs(playerid) { UsCom[playerid] = 0; } Прописываем команду Code if(!strcmp(cmdtext,"/gang",true)) { if(UsedCom[playerid] == 1) { SendClientMessage(playerid,0xFF0000AA," Эта команда доступна только 1 раз в минуту."); } else { if(PlayerTeam[playerid] == Cop)//массив и переменную меняем на своё { GivePlayerWeapon(playerid,5); GivePlayerWeapon(playerid,22); GivePlayerWeapon(playerid,29); SendClientMessageToAll(0xFFFF00AA," Мы отомстим врагам!"); } UsCom[playerid] = 1; SetTimerEx("Gbljhs",60*1000,0,"d",playerid);//Создаём таймер котрый позволит игроку написать команду через минуту } return 1; }
Любиш садизм люби и мазахизм :)
Сообщение отредактировал Spirit - Пятница, 22.08.2008, 19:16 |
| |
|
|
| [TDM]Kosmos | Дата: Воскресенье, 24.08.2008, 00:00 | Сообщение # 9 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2046
Награды: 8
Город: Йошкар-Ола
Репутация: 126
Замечания: 40%
Статус: 
| А не легче сделать так, что при респе хэлсы, броня, оружие сами появляются без ввода команды, чем заморачиваться
Я вернулся =)
|
| |
|
|
| Inferno | Дата: Воскресенье, 24.08.2008, 10:38 | Сообщение # 10 |
|
Хостинг-провайдер
Группа:
I'm V.I.P.
Сообщений: 1320
Награды: 26
Город: /root
Репутация: 320
Замечания: 0%
Статус: 
| LOgotipik, не, ввод команды - более реалистичнее
|
| |
|
|
| OKStyle™ | Дата: Вторник, 26.08.2008, 12:12 | Сообщение # 11 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| Quote (Inf1203) при вводе этой команды ещё добавлялось +100 хр и брони Code SetPlayerHealth(playeird,0.0); SetPlayerArmour(playerid,100.0);
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
|
| |
|
|
|
 |
|
 | |
| |
|