Szerző Téma: Fegyver miatt kick  (Megtekintve 873 alkalommal)

Nem elérhető Brand

  • 273
    • Profil megtekintése
Fegyver miatt kick
« Dátum: 2016. Február 09. - 20:05:11 »
0 Show voters
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;
         }
      }
« Utoljára szerkesztve: 2016. Február 09. - 23:38:39 írta anGeL »

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Fegyver miatt kick
« Válasz #1 Dátum: 2016. Február 09. - 20:09:39 »
0 Show voters
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.

Nem elérhető Brand

  • 273
    • Profil megtekintése
Fegyver miatt kick
« Válasz #2 Dátum: 2016. Február 09. - 20:42:28 »
0 Show voters
Továbbra is van 1 személy akit nem dob ki sajnos.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Fegyver miatt kick
« Válasz #3 Dátum: 2016. Február 09. - 20:54:03 »
0 Show voters
A kóddal nincs baj. Hol helyezkedik el?

Nem elérhető Brand

  • 273
    • Profil megtekintése
Fegyver miatt kick
« Válasz #4 Dátum: 2016. Február 09. - 21:55:24 »
0 Show voters
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;
}
« Utoljára szerkesztve: 2016. Február 09. - 23:38:25 írta anGeL »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Fegyver miatt kick
« Válasz #5 Dátum: 2016. Február 10. - 09:36:01 »
0 Show voters
Idézetet írta: Brand date=1455044711\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59489\" data-ipsquote-contentclass=\"forums_Topic
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
SpecifierMeaning
iInteger.
dInteger.
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.
« Utoljára szerkesztve: 2016. Február 10. - 13:00:18 írta Kovacs_Richard »
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Brand

  • 273
    • Profil megtekintése
Fegyver miatt kick
« Válasz #6 Dátum: 2016. Február 10. - 10:00:52 »
0 Show voters
Akkor rosszul írtam, elnézést, az a célom ,hogy az összeset kérje le, és ha van valami nálla dobja ki.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal