Jump to content
  • 0

pomoc OnPlayerEnterRaceCheckpoint


Monael

Dotaz

Dělám hodně jednoduchý systém při kterém, když hráč nasedne do určeného vozidla ukážou se racepointy.

Můj kod funguje bez errorů, ale když hráč dokončí trasu jednou, tak po druhé se mu ukáže jenom první racepoint, který nejde sebrat.

Potřebuji vymyslet, aby se switch resetoval na původní hodnotu. Myslím...

 

 

Spoiler

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
        if (GetPlayerVehicleID(playerid) == drifter) { 
             SetPlayerRaceCheckpoint(playerid, 0,-302.2960,1507.6826,75.3594,-304.0585,1395.5380,72.3237, 5);    //první racepoint//
        }
     }
return 1;    //loose indentation//
}

public OnPlayerEnterRaceCheckpoint(playerid)
{

   if(GetPlayerVehicleID(playerid) == drifter) {
   AddVehicleComponent(drifter, 1010);

     SetPVarInt(playerid,"Skuska",GetPVarInt(playerid,"Skuska")+1);    //loose indentation//
     switch(GetPVarInt(playerid,"Skuska"))
     {
     case 1: SetPlayerRaceCheckpoint(playerid, 0,-304.0585,1395.5380,72.3237,-367.1844,1464.4679,62.7074, 5);
     case 2: SetPlayerRaceCheckpoint(playerid, 0,-367.1844,1464.4679,62.7074,-325.2260,1316.8179,52.4603, 5);
     case 3: SetPlayerRaceCheckpoint(playerid, 0,-325.2260,1316.8179,52.4603,-401.3667,1428.2120,37.5566, 5);
     case 4: SetPlayerRaceCheckpoint(playerid, 0,-443.2034,1454.8387,33.5067,-402.2722,1915.0061,57.6342, 5);
     case 5: SetPlayerRaceCheckpoint(playerid, 0,-408.2926,1918.0751,57.4288,-439.9128,1760.6552,71.6298, 5);
     case 6: SetPlayerRaceCheckpoint(playerid, 0,-439.9128,1760.6552,71.6298,-386.3443,2077.7852,61.0047, 5);
     case 7: SetPlayerRaceCheckpoint(playerid, 0,-386.3443,2077.7852,61.0047,-486.9103,1995.2097,59.7845, 5);
     case 8: SetPlayerRaceCheckpoint(playerid, 0,-486.9103,1995.2097,59.7845,-992.9978,1850.8741,62.7570, 5);
     case 9: SetPlayerRaceCheckpoint(playerid, 0,-873.6009,1931.6987,59.8950,-914.3341,1791.8691,59.7904, 5);
     case 10: SetPlayerRaceCheckpoint(playerid, 0,-914.3341,1791.8691,59.7904,-1138.0078,1801.1257,40.5384, 5);
     case 11: SetPlayerRaceCheckpoint(playerid, 1,-1138.0078,1801.1257,40.5384,0,0,0, 5);
     case 12: DisablePlayerRaceCheckpoint(playerid);
      }
      //
}
return 1;    //loose indentation//
}

public OnPlayerExitVehicle(playerid)
{
     DisablePlayerRaceCheckpoint(playerid);
     

     return 1;
}

 Pokud to k něčemu bude:

Spoiler


C:\Program Files\GTA\GTA-SanAndreas\Server\filterscripts\Autanemovitosti.pwn(146) : warning 217: loose indentation
C:\Program Files\GTA\GTA-SanAndreas\Server\filterscripts\Autanemovitosti.pwn(155) : warning 217: loose indentation
C:\Program Files\GTA\GTA-SanAndreas\Server\filterscripts\Autanemovitosti.pwn(173) : warning 217: loose indentation

 

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 1

loose indentation - nesprávné odsazení, return ti tam visí v jiném odstavci, ale je to jen warning, chod to neovlivní

po dokončení musíš resetovat svou pvar  SetPVarInt(playerid,"Skuska", 0) zpět na nula

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...