PDA

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



vovandolg
28.02.2016, 16:41
Однако здравствуйте, проблема с античитом, есть такая схема выдача оружия игроку до его спавна
и вот как античит выдаёт оружие




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. Если оружие выдавать пока игрок живой, то запись в переменную идёт.

DeimoS
28.02.2016, 17:36
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 который)

vovandolg
28.02.2016, 18:34
У меня по логам всё нормально кроме pAmmo[playerid],
вот допустим я засунул в паблик OnPlayerSpawn

GiveWeapon(playerid, 31, 30);
Он по логам всё правильно выдал, но в переменную не пошла запись!
Тут в printf не хватает pAmmo[playerid], которую я так же вывел и в ней оказалось пусто,
и это кстате не как не скорость обращения,
эта переменная именно что не записала в себя данные, ждал несколько секунд и она всё равно пустовала,
но надо на пустом сервере ещё проверить почему так,
сейчас поставил таймер на выдачу оружия после спавна при таком варианте в переменную записывает.