-
GivePlayerWeapon
Однако здравствуйте, проблема с античитом, есть такая схема выдача оружия игроку до его спавна
и вот как античит выдаёт оружие
PHP код:
new pAmmo[MAX_PLAYERS];
stock GiveWeapon(playerid, weaponid, amount)
{
SetPVarInt(playerid,"pausecheat",1);
pAmmo[playerid] += amount;
GivePlayerWeapon(playerid,weaponid,amount);//return
}
//умираю и юзаю выдачу оружия, потом уже спавн по координатам
//GiveWeapon(playerid, 31, 30); М4 и 30 патронов выданы, а записи в переменную нету
По логам оружие выдало, а вот записи в переменную он не сделал!
То есть если человек мертвый и не заспавнен он не запоминает не чего при записе в переменную? или как я не пойму..
__________________
p.s. Если оружие выдавать пока игрок живой, то запись в переменную идёт.
-
PHP код:
stock GiveWeapon(playerid, weaponid, amount)
{
SetPVarInt(playerid,"pausecheat",1);
pAmmo[playerid] += amount;
printf("playerid = %d, weaponid = %d, amount = %d", playerid, weaponid, amount);
GivePlayerWeapon(playerid,weaponid,amount);//return
}
И смотри по логам какие значения передаются в функцию при смерти.
И покажи код, который не срабатывает (в OnPlayerDeath который)
-
У меня по логам всё нормально кроме pAmmo[playerid],
вот допустим я засунул в паблик OnPlayerSpawn
PHP код:
GiveWeapon(playerid, 31, 30);
Он по логам всё правильно выдал, но в переменную не пошла запись!
Тут в printf не хватает pAmmo[playerid], которую я так же вывел и в ней оказалось пусто,
и это кстате не как не скорость обращения,
эта переменная именно что не записала в себя данные, ждал несколько секунд и она всё равно пустовала,
но надо на пустом сервере ещё проверить почему так,
сейчас поставил таймер на выдачу оружия после спавна при таком варианте в переменную записывает.