Sziasztok!
A kódomnak annyit kéne csinálnia ,hogy lekérdezi ,hogy van e a játékos kezében fegyver, és ha van akkor kickelje, sajnos ez a kickelés nem mindig történik meg, mi lehet a probléma?
new weapon, ammo;
for(new i=0;i<14;i++)
{
GetPlayerWeaponData(playerid, i, weapon, ammo);
if(weapon != 0 && ammo != 0)
{
Kick(playerid);
return 1;
}
}
Próbáld
if(weapon != 0 && ammo != 0)
helyett
if(weapon != 0)
Nem tuti hogy jó lesz így, de most teszt szerveremen kipróbáltam hogy mivan akkor ha egy 0 \"lőszeres\" baseball ütőt adok magamnak, és megadta.
Az elhelyezkedés a következő:
public OnPlayerSpawn(playerid)
{
Object(playerid);
}
public Object(playerid)
{
TogglePlayerControllable(playerid, false);
SetTimerEx(\"ObjectOff\", 2000, 0,\"e\",playerid); //Az \"ObjectOff\" meghívása 2 másodperc múlva
return 1;
}
public ObjectOff(playerid)
{
TogglePlayerControllable(playerid, true);
if(!IsPlayerNPC(playerid))
{
if(sobeit[playerid] == 0)
{
new weapon, ammo;
for(new i=0;i<14;i++)
{
GetPlayerWeaponData(playerid, i, weapon, ammo);
if(weapon != 0 && ammo != 0)
{
KickEx(playerid,PIROS,\"(([AntiCheat]: Kérlek a segédprogramot töröld le!))\");
Ment(playerid);
new S[128];
format(S,sizeof(S),\"%s kirúgva a rendszer által! || Indok: Segédprogram\",Nev(playerid));
SendClientMessageToAll(0xFF0000AA,S);
return 1;
}
else
{
sobeit[playerid] = 1;
}
}
}
}
return 1;
}
Sziasztok!
A kódomnak annyit kéne csinálnia ,hogy lekérdezi ,hogy van e a játékos kezében fegyver, és ha van akkor kickelje
...
GetPlayerWeaponData(playerid, i, weapon, ammo);
http://wiki.sa-mp.com/wiki/GetPlayerWeapon
http://wiki.sa-mp.com/wiki/GetPlayerWeaponData
Nézd meg a kettő között a különbséget...amit te kérdezel le az az összes fegyver ami a játékosnál van, nem a kezében levő.
SetTimerEx(\"ObjectOff\", 2000, 0,\"e\",playerid);
http://wiki.sa-mp.com/wiki/SetTimerEx
Specifier | Meaning |
i | Integer. |
d | Integer. |
Szóval \"e\" format helyett \"d\", vagy \"i\" kell!
Ezek a módosítások után nézd meg, más hibát most hirtelen nem látok.