Szerző Téma: Checkpoint hiba  (Megtekintve 578 alkalommal)

Checkpoint hiba
« Dátum: 2012. november 17. - 19:39:21 »
0 Show voters
Üdv, próbálok készíteni egy 10 db-os checkpoint [fuvarozós] scriptet de nem nagyon megy.
A 2. checkpoint-ba ha belemegyek nem történik semmi...
Van egy munka választós dialog, abból a fuvarozós rész ez:
 
                     SetPlayerTeam(playerid, 8);
     SetPlayerFacingAngle(playerid, 92.2933);
     SetPlayerPos(playerid, 2283.5850, 2062.8411, 10.8207);
     HideMenuForPlayer(tele, playerid);
     TogglePlayerControllable(playerid, true);
             SetPlayerSkin(playerid,5);
     new string[255];
     new pName[30];
                GetPlayerName(playerid, pName, 30);
                format(string, 280,\"%s Mostantól a 24/7 italcég fuvarozója.\", pName);
                SendClientMessageToAll(COLOR_CHARTREUSE, string);
     SetPlayerRaceCheckpoint(playerid,0, 2149.593500,2107.536400,10.663200, 0.000000,0.000000,0.000000, 5.0);

 
És van maga az EnterCheckpont rész:
 
public OnPlayerEnterRaceCheckpoint(playerid)
{
if(GetPlayerTeam(playerid) == fuvaros)
{
switch(playerid)
{
            case 1:
    {
       DisablePlayerRaceCheckpoint(playerid);
               PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
               SendClientMessage(playerid, COLOR_LIME, \"Ellenõrzõpont 10/1\");
               SetPlayerRaceCheckpoint(playerid,0, 2229.5994,2429.0188,10.6613, 2490.2437,2511.4233,10.8101, 5.0);
    }
    case 2:
    {
                   DisablePlayerRaceCheckpoint(playerid);
               PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
               SendClientMessage(playerid, COLOR_LIME, \"Ellenõrzõpont 10/2\");
       SetPlayerRaceCheckpoint(playerid,0, 2490.2437,2511.4233,10.8101, 2597.0022,2231.5420,10.6645, 5.0);
    }
    case 3:
    {
                   DisablePlayerRaceCheckpoint(playerid);
               PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
               SendClientMessage(playerid, COLOR_LIME, \"Ellenõrzõpont 10/3\");
       SetPlayerRaceCheckpoint(playerid,0, 2597.0022,2231.5420,10.6645, 2887.3572,2446.4065,10.8076, 5.0);
    }
}     //éssatöbbi
}
return 1;
}

 
Tehát hogy mi lehet a hiba, vagy hogy lehetne kivitelezni normálisan egy 10db-os racecheckpoint [munka] rendszert?
Köszönöm!
« Utoljára szerkesztve: 2012. november 17. - 19:46:40 írta takehun »

Nem elérhető nyE

  • 1745
    • Profil megtekintése
Checkpoint hiba
« Válasz #1 Dátum: 2012. november 17. - 21:16:20 »
+1 Show voters
Ez az a rész ami nem jó.
switch(playerid)
Én így oldanám meg:
 

public OnPlayerEnterRaceCheckpoint(playerid)
{
        if(GetPlayerTeam(playerid) == fuvaros)
        {
                switch(GetPVarInt(playerid, \"Részek\"))
                {
                    case 1:
                    {
                       SetPVarInt(playerid, \"Részek\", +1); // hozzáadunk 1-et
                       DisablePlayerRaceCheckpoint(playerid);
                       PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
                       SendClientMessage(playerid, COLOR_LIME, \"Ellenõrzõpont 10/1\");
                       SetPlayerRaceCheckpoint(playerid,0, 2229.5994,2429.0188,10.6613, 2490.2437,2511.4233,10.8101, 5.0);
                    }
                    case 2:
                    {
                       SetPVarInt(playerid, \"Részek\", +1); // megint hozzáadunk 1-et
                       DisablePlayerRaceCheckpoint(playerid);
                       PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
                       SendClientMessage(playerid, COLOR_LIME, \"Ellenõrzõpont 10/2\");
                       SetPlayerRaceCheckpoint(playerid,0, 2490.2437,2511.4233,10.8101, 2597.0022,2231.5420,10.6645, 5.0);
                    }
                    case 3:
                    {
                       SetPVarInt(playerid, \"Részek\", +1); // és megint . . .
                       DisablePlayerRaceCheckpoint(playerid);
                       PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
                       SendClientMessage(playerid, COLOR_LIME, \"Ellenõrzõpont 10/3\");
                       SetPlayerRaceCheckpoint(playerid,0, 2597.0022,2231.5420,10.6645, 2887.3572,2446.4065,10.8076, 5.0);
                    }
                }     //éssatöbbi
        }
        return 1;
}

 
A dialog résznél pedig:
 

SetPVarInt(playerid, \"Részek\", 1);
SetPlayerTeam(playerid, 8); // A checkpointnál fuvaros van itt meg 8? :D
SetPlayerFacingAngle(playerid, 92.2933);
SetPlayerPos(playerid, 2283.5850, 2062.8411, 10.8207);
HideMenuForPlayer(tele, playerid);
TogglePlayerControllable(playerid, true);
SetPlayerSkin(playerid,5);
new string[255];
new pName[30];
GetPlayerName(playerid, pName, 30);
format(string, 280,\"%s Mostantól a 24/7 italcég fuvarozója.\", pName);
SendClientMessageToAll(COLOR_CHARTREUSE, string);
SetPlayerRaceCheckpoint(playerid,0, 2149.593500,2107.536400,10.663200, 0.000000,0.000000,0.000000, 5.0);

 
Elvileg ez így mûködik. Ha valamit rosszul írtam azért bocs, nem pawnoban, hanem itt írtam.

Checkpoint hiba
« Válasz #2 Dátum: 2012. november 18. - 00:48:31 »
0 Show voters
Köszi, mûködik de ott a pluszos részeknél nem + jelet kell írni, csak szimplán 1-el nagyobb számot. (ha úgy gondoltad akkor oké)  ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal