Szerző Téma: Traffipax script hiba  (Megtekintve 936 alkalommal)

Nem elérhető RIP

Traffipax script hiba
« Dátum: 2016. Június 16. - 12:41:06 »
0
Sziasztok, gyakorlás kép próbálkoztam, egy traffipax scriptel, viszont egy olyan problémába ütköztem, hogy ha átmegy a CP-n gyorsabban mint a megengedett akkor ki floodolja, azt a szöveget amit én megadtam és a pénzt is többször vonja le, viszont én azt szeretném, hogyha átmegy akkor csak 1x írja ki a szöveget és 1x vonja le a pénzt.
Mi lehet benne a hiba:
 

        new bSebesseg = 120;
        new pNev[24];
new string[128];
GetPlayerName(playerid, pNev, sizeof(pNev));
new Float:TraffipaxPos[][3] =
{
{2312.6272,-2252.1567,13.5469}
};
if(IsPlayerInRangeOfPoint(playerid, 13.0, PosExt(TraffipaxPos[PlayerInfo[playerid][pTraffipaxc]])))
{
if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   if(bSebesseg < GetPlayerSpeed(playerid, 0))
   {
      format(string, sizeof(string), \"{1E90FF}Teszt Szerver: {FFFFFF}%s-t lekapta a traffipax mivel túl gyorsan ment, büntetése $100\", pNev);
      SendClientMessageToAll(-1, string);
      GivePlayerMoney(playerid, -100);
   }
}
}
return 1;

 
Előre is köszönöm a válaszokat.

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Traffipax script hiba
« Válasz #1 Dátum: 2016. Június 16. - 21:47:05 »
0
Nem egy Checkpointot hoztál létre, hanem állandóan ellenőrzöd, hogy a játékos a pont közelében van-e. A kód, amit írtál minden alkalommal lefut, ahányszor a közelben van.
Két megoldást látok: Írj, vagy tölts le egy Checkpoint rendszert
Hozz létre egy változót (pl. megbuntetve = false), amit true-ra változtatsz, amikor belefut elsőre. Továbbá csak akkor büntessék, amikor megbuntetve == false (tehát még nem büntették).
Ha a játékos eltávolodott a ponttól akkor állítsd vissza false-re

Nem elérhető RIP

Traffipax script hiba
« Válasz #2 Dátum: 2016. Június 16. - 22:07:20 »
0
Rendben, megpróbálkozom majd vele, köszönöm a válaszod :D .

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal