PDA

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



GoJIoBoJIoMkA
01.05.2019, 13:14
Здравствуйте все!
Беру в руки дезерт игл и 100 патронов, пишу sethp мой ид 0, у меня выпадает оружие, часть денег, и сердце. Но проблема в том, что когда я подхожу подобрать это всё, оно подбирается, но через несколько секунд отнимается назад, в чём тут проблема, помогите пожалуйста разобраться!

В начало мода пихаю это

#pragma tabsize false

new Kasa =
true;

forward PickDestroy(o);

new weapmod[600] = {0,331,333,334,335,336,337,338,339,341,321,322,323,324,
325,326,342,343,344,345,345,345,346,347,348,349,350,351,352,353,355,356,372,357,
358,359,360,361,362,363,364,365,366,367,368,369,371};

new PickUpMoney[101] = {false, ...};

new DropPick[101] = {false, ...};

forward Float:GetPlayerArmourEx(p);
перед OnPlayerDeath

Float:GetPlayerArmourEx(p)
{
new Float:a;
GetPlayerArmour(p, a);
return a;
}
B OnPlayerDeath

new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new weap[200];
new ammo;
new temp;
new s[256];
new PX;
new PY;
for(new i=0;i<15;i++){
format(s, 256 ,"%.0f", X);
temp = strval(s);
PX = random((temp+2)-(temp-2))+(temp-2);
format(s, 256 ,"%.0f", Y);
temp = strval(s);
PY = random((temp+2)-(temp-2))+(temp-2);
if(i<12)
{
GetPlayerWeaponData(playerid, i, weap[i], ammo);
if(weapmod[weap[i]] == 1212 && Kasa){
new pickid = CreatePickup(1212, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
SetTimerEx("PickDestroy", 60000, 0, "d", pickid);
}
else
{
new pickid = CreatePickup(weapmod[weap[i]], 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
SetTimerEx("PickDestroy", 60000, 0, "d", pickid);
}
}
if(i==13)
{
new pickid = CreatePickup(1240, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
SetTimerEx("PickDestroy", 60000, 0, "d", pickid);
}
if(i==14)if(GetPlayerArmourEx(playerid)>0.0)
{
new pickid = CreatePickup(1242, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
SetTimerEx("PickDestroy", 60000, 0, "d", pickid);
}
else if(Kasa)
{
new pickid = CreatePickup(1212, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
SetTimerEx("PickDestroy", 60000, 0, "d", pickid);
}
if(i==15 && Kasa)
{
new pickid = CreatePickup(1212, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
SetTimerEx("PickDestroy", 60000, 0, "d", pickid);
}
}
В OnPlayerPicPickup

if(PickUpMoney[pickupid])GivePlayerMoney(playerid, random(3500)+500);
if(DropPick[pickupid])SetTimerEx("PickDestroy", 500, 0, "d", pickupid);
И в конец мода

public PickDestroy(o)DestroyPickup(o);

Была проблема в том, что код был очень кривой, я делал табуляцию сам, компилиться всё без ошибок, но проблема в том, что выпавшие предметы отнимаются у того, кто их поднимет!
За помощь с меня как полагается!

Pa4enka
01.05.2019, 18:40
Замените функции выдачи денег, оружия на свои аналоги античита.

Den_Gurino
04.05.2019, 15:03
А может просто сохранение надо сделать, подобрать предметы и что-бы они сохранялись у того, кто подобрал?

GoJIoBoJIoMkA
04.05.2019, 15:20
Я сейчас делал проверку с другом, без sethp а реальное убийство с пистолета, и понял следующее!
ХП выдается норм, бабло тоже в норме, а вот оружие, было до смерти 100 патронов, после смерти стало 10 ( после того как я подобрал его ), и через несколько секунд оно исчезает с рук, и вот еще, я релогнулся после того как подобрал выпавшие предметы, и ХП выдается по новой, и так же деньги, а вот оружия на руках уже не появляется!
Может действительно нужно запилить функцию сохранения?