-
Подскажите
Сделал анти чит на патроны, когда покупаю оружие все норм, но если я еще раз куплю это же оружие, то орет анти чит на патроны, подскажите как исправить
PHP код:
#define WEAPON_SLOT_COUNT 13
new Ammo[MAX_PLAYERS][WEAPON_SLOT_COUNT];
PHP код:
stock CheckWeapons(playerid)
{
new weaponid = GetPlayerWeapon(playerid);
new slot = GetWeaponSlot(weaponid);
if(weaponid != 0 && Weapons[playerid][slot] != weaponid)
{
SendClientMessage(playerid,-1,"Чит на оружие");
}
if(GetPlayerAmmo(playerid) > Ammo[playerid][slot])
{
SendClientMessage(playerid,-1,"Чит на патроны");
}
}
PHP код:
stock ServerWeapon(playerid, weaponid, ammo)
{
new slot = GetWeaponSlot(weaponid);
Weapons[playerid][slot] = weaponid;
Ammo[playerid][slot] = ammo;
GivePlayerWeapon(playerid, weaponid, ammo);
}
-
PHP код:
[PHP]stock ServerWeapon(playerid, weaponid, ammo)
{
new slot = GetWeaponSlot(weaponid);
if(Weapons[playerid][slot] != weaponid)
{
Weapons[playerid][slot] = weaponid;
Ammo[playerid][slot] = ammo;
}
else Ammo[playerid][slot] += ammo;
GivePlayerWeapon(playerid, weaponid, ammo);
}
[/PHP]
-
А можешь еще подсказать, почему когда я беру пикап с гранатой или парашютом, то орет анти чит на патроны, а если куплю парашют или гранаты, то все норм..?
-
Реализацию пикапов покажите
-
PHP код:
Pickup16 = CreatePickup(342, 2, x,y,x, -1);
PHP код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
...
if(pickupid == Pickup16)
{
ServerWeapon(playerid, 16, 4);
}
return 1;
}
-
Прологируйте значение массива с патронами во время кика
-
Заметил странную штуку, если куплю биту, а потом нож, (или на оборот) то у меня останется бита и анти чит напишет что я чит, а когда снова выберу нож, то нож появляется, то есть 2 раза нужно тыкнуть на него..
- - - Добавлено - - -
а, нет с этим все норм, не заметил как заменил GivePlayerWeapon на Sendclientmessage :в
щяс как я понял, если купить 3 раза нож, то будет писать что чит
-
Кажется понял, у меня на спавне выдает 2 оружия и оба эти оружия под слотом 4 и на спавне мне пишет "Чит на патроны", т.к складываются патроны оружий, вот только не понятно как это исправить..
PHP код:
stock GetWeaponSlot(weaponid)
{
new slot;
switch(weaponid)
{
case 0,1: slot = 0;
case 2 .. 9: slot = 1;
case 10 .. 15: slot = 10;
case 16 .. 18, 39: slot = 8;
case 22 .. 24: slot = 2;
case 25 .. 27: slot = 3;
case 28, 29, 32: slot = 4;
case 30, 31: slot = 5;
case 33, 34: slot = 6;
case 35 .. 38: slot = 7;
case 40: slot = 12;
case 41 .. 43: slot = 9;
case 44 .. 46: slot = 11;
}
return slot;
}
-
Во-первых, нужно просто добавить проверку на те оружия, у которых нет патрон и не прибавлять им патроны при выдаче (они равны 1).
Во-вторых, тема закрыта по причине нарушения пункта 10 общих правил форума. Автору устное предупреждение.