PDA

Просмотр полной версии : [Вопрос] Оружие



Endo
06.01.2014, 14:46
Есть ли функция которая вызывается тогда,когда игрок берет оружие в руки?

^_^
06.01.2014, 14:59
Есть ли функция которая вызывается тогда,когда игрок берет оружие в руки?
Нет, такого колбэка (функция которая вызывается автоматически) нет (полный список всех колбэков - КЛАЦ (http://wiki.sa-mp.com/wiki/Scripting_Callbacks)).
Объясни её параметры и когда конкретно её вызывать, я помогу сделать.

Endo
06.01.2014, 15:04
Нет, такого колбэка (функция которая вызывается автоматически) нет (полный список всех колбэков - КЛАЦ (http://wiki.sa-mp.com/wiki/Scripting_Callbacks)).
Объясни её параметры и когда конкретно её вызывать, я помогу сделать.
Функция которая будет срабатывать когда игрок возьмет оружие в руки.Игрок взял например "дигл" она ему в чат "Вы взяли дигл в руки", что то такое )

^_^
06.01.2014, 15:07
Функция которая будет срабатывать когда игрок возьмет оружие в руки.Игрок взял например "дигл" она ему в чат "В взяли дигл в руки", сто то такое )
Так, тут конкретнее, когда игроку даётся оружие при помощи функции GivePlayerWeapon, или когда он меняет оружие?

Endo
06.01.2014, 15:13
Так, тут конкретнее, когда игроку даётся оружие при помощи функции GivePlayerWeapon, или когда он меняет оружие?

Когда он меняет его

^_^
06.01.2014, 17:44
Когда он меняет его
Я тут посмотрел и протестировал, но увы, кроме проверки на функцию GetPlayerWeapon в повторяющийся таймер - создать этот "колбэк"- невозможно. Как никак, вот проверка...

SetTimer("OnPlayerWeaponChange",500,false); //в OnGameModeInit
//Остальное в глобальной области видимости
new oldweapon[MAX_PLAYERS];
forward OnPlayerWeaponChange();
public OnPlayerWeaponChange(){
new newweapon;
tforeach(playerid){//замени на свой цикл перебора игроков
if((newweapon = GetPlayerWeapon(playerid)) == oldweapon[playerid]) continue;
#define oldweapon oldweapon[playerid]
//Тут можно писать действия в случае если игрок изменил своё оружие.
//Можно использовать следующие переменные в качестве параметрах playerid -ид игрока который изменил оружие
//newweapon - ид нового оружия и oldweapon - ид старого.
oldweapon = newweapon;
#undef oldweapon
}
SetTimer("OnPlayerWeaponChange",500,false);
}

Endo
06.01.2014, 18:00
Спасибо!