Monael 0 Odesláno: 27. Listopad, 2021 Share Odesláno: 27. Listopad, 2021 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 More sharing options...
1 mxco 55 Odesláno: 27. Listopad, 2021 Share Odesláno: 27. Listopad, 2021 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 1 Link to comment Share on other sites More sharing options...
0 Monael 0 Odesláno: 27. Listopad, 2021 Author Share Odesláno: 27. Listopad, 2021 Funguje Link to comment Share on other sites More sharing options...
Dotaz
Monael 0
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...
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:
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
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 accountSign in
Already have an account? Sign in here.
Sign In Now