Szerző Téma: Checkpoint probléma  (Megtekintve 668 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Checkpoint probléma
« Dátum: 2015. augusztus 21. - 21:01:07 »
0 Show voters
Sziasztok!
2 kérdésem lenne, az első:
Van ez a kis részlet:
 
public OnPlayerEnterCheckpoint(playerid)
{
new str[64];
if(JatekosInfo[playerid][Vizsga] != 0)
{
    SendClientMessage(playerid,-1,\"1\");
    if(IsPlayerInAnyVehicle(playerid)&& GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            SendClientMessage(playerid,-1,\"2\");
            if(GetPlayerVehicleID(playerid) == JatekosInfo[playerid][VizsgaJarmu])
            {
                SendClientMessage(playerid,-1,\"3\");
      JatekosInfo[playerid][Vizsgazikk]++;
      PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
      if(JatekosInfo[playerid][Vizsgazikk] == -2)
      {
          SendClientMessage(playerid,-1,\"vege\");
         JatekosInfo[playerid][Vizsgazikk]= -1;
         SetPlayerPos(playerid,1444.7711,-1726.0675,13.5469); //ahol elkezdett vizsgázni
         DestroyVehicle(JatekosInfo[playerid][VizsgaJarmu]);
         //vizsga alapján jogsi adás
         //JatekosInfo[playerid][KocsiJogsi] = 50;
         JatekosInfo[playerid][Vizsga] = 0;
         SendClientMessage(playerid,SIKERES,\"Vizsga Befejezve!\");
         return 1;
      }
                if(JatekosInfo[playerid][Vizsga] == 1 ||JatekosInfo[playerid][Vizsga] == 2)
                {
                    SendClientMessage(playerid,-1,\"ujcp\");
               format(str,sizeof(str),\"Vizsgazik: %d | %.2f %.2f %.2f\",JatekosInfo[playerid][Vizsgazikk],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][0],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][1],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][2]);
         SendClientMessage(playerid,-1,str);
                    if(!SetPlayerCheckpoint(playerid,KocsiCp[JatekosInfo[playerid][Vizsgazikk]][0],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][1],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][2],2.5)) SendClientMessage(playerid,-1,\"Sikertelen!\");
         if(JatekosInfo[playerid][Vizsgazikk] == sizeof(KocsiCp)-1) JatekosInfo[playerid][Vizsgazikk] = -3;
      }

 
Ez nem működik, lefut szépen, kiírja hogy mi a következő cp, de nem hozza létre (szóval csak a setplayercheckpoint nem működik, bár a \"Sikertelent\" sem írja ki)
De ha manuálisan kérem az új cp-t, (vagyis belemegyek egy cp-be, és beírom, hogy /cp , ami egy
SetPlayerCheckpoint(playerid,KocsiCp[JatekosInfo[playerid][Vizsgazikk]][0],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][1],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][2],2.5)

-t csinál), akkor működik.
Először csak simán volt a setplacercheckpoint, de most már if-be raktam, hátha return 0-val tér vissza, de nem.
Előre is köszönöm a segítséget.

Dupla hozzászólás automatikusan összefûzve. ( [time]2015. augusztus 22. 12:39:08[/time] )

Nos, csináltam egy 100 ms-es timert, és így működik, és azt a látszatot kelti, hogy instant adja a cp-t.
« Utoljára szerkesztve: 2015. augusztus 25. - 21:55:13 írta Flash »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal