19:50
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Получение оружия на респе при вводе команды)
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'ы банд? crazy

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 crazy

Может что-то где-то неверно?

Добавлено (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, не, ввод команды - более реалистичнее wink
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
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua