oke even wat anders dan problemen oplossen en problemen vragen, laten we eens een tutorial doen.
deze houd in:
****voor nu alleen nog maar single-player races.
Simpele checkpoint uitleg
mini .pwn FS als voorbeeld.
oke, eerst zet je dit bovenaan je script:
new kart = 0; // zegt of het gestart of gestopt is
new racecheckpoint[MAX_PLAYERS]; // zegt bij welke checkpoint je bent
new Count = -1; // is de timer voor de counter
new CountdownTimer; // is de timer definitie voor de counter
new StartTimer; // is de definitie voor het aantal seconden het duurt voor de counter start
new Seconds; // zijn het aantal seconden voor het duurt voor de counter start
forward Countdown(); // om een warning te voorkomen
forward RaceStartK(); // om een warning te voorkomen
plaats dit bij OnPlayerSpawn (of ergens anders waar je het wilt hebben):
verander X naar het aantal seconden van de counter.
zet dit er onder (de counter zelf)
public Countdown()
{
if(Count == 0)
{
GameTextForAll("Go go go!", 300, 3);
KillTimer(CountdownTimer);
kart = 1;
}
else
{
new string[128];
format(string, sizeof(string), "%d", Count);
GameTextForAll(string, 1500, 3);
Count--;
}
return 1;
}
de /join voor de kart race (elk vehicle)
if(strcmp(cmdtext, "/join", true)==0)
{
StartTimer = SetTimer("RaceStartK", 1000, 1);
Seconds = 3;
SendClientMessageToAll(0x00FF00AA, "***Kart race starting in X seconds at /kart");
GameTextForPlayer(playerid,"DO NOT STAY INTO THE RED CHECKPOINT!", 1000,1);
return 1;
}
nu de race zelf. We nemen als voorbeeld drie checkpoints:
public OnPlayerEnterRaceCheckpoint(playerid)
{
if(kart == 0) {
GameTextForPlayer(playerid,"Kart race~n~type /join om mee te doen~n~prijsgeld: 250.000",500,0);
if(kart == 1) {
DisablePlayerRaceCheckpoint(playerid); // haalt de vorige weg en plaatst nieuwe
}
else if(racecheckpoint[playerid] == 0) // kijkt of je op de goede plaats ben
{
SetPlayerRaceCheckpoint(playerid, T, X, Y, Z, NX, NY, NZ, G); // de nieuwe checkpoint
racecheckpoint[playerid] = 1; // volgende..
}
else if(racecheckpoint[playerid] == 1)
{
SetPlayerRaceCheckpoint(playerid, T, X, Y, Z, NX, NY, NZ, G);
racecheckpoint[playerid] = 2;
}
else if(racecheckpoint[playerid] == 2)
{
SetPlayerRaceCheckpoint(playerid, T, X, Y, Z, NX, NY, NZ, G);
racecheckpoint[playerid] = 3;
}
else if(racecheckpoint[playerid] == 3)
{
//Dit is de finish
racecheckpoint[playerid] = 0;
}
return 1;
}
oke even wat anders dan problemen oplossen en problemen vragen, laten we eens een tutorial doen.
deze houd in:
****voor nu alleen nog maar single-player races.
Simpele checkpoint uitleg
mini .pwn FS als voorbeeld.
oke, eerst zet je dit bovenaan je script:
plaats dit bij OnPlayerSpawn (of ergens anders waar je het wilt hebben):
vergeet niet de X,Y,Z,VolgendeX,VolgendeY,VolgendeZ,Grootte te veranderen in wat je zelf wilt.
Oke nu maken we de timer die je neer zet als je /join typt.
die komt er als volgd uit te zien
als je dit niet nodig heb, sla het dan over.
verander X naar het aantal seconden van de counter.
zet dit er onder (de counter zelf)
de /join voor de kart race (elk vehicle)
nu de race zelf. We nemen als voorbeeld drie checkpoints:
t = type - 0 = normaal, 1 = finish, 2 = blank, 3 = vlieg checkpoint, 4 = vlieg finish
X Y Z is wel duidelijk
NX NY NZ is volgende X Y Z (waar de pijl heen wijst met type 1)
G = grootte van de checkpoint.
De PWN file is ook bij bijlagen geplaatst als je het wilt downloaden.
>pastebin<
________________________________________________________________________________
Ik heb het zo makkelijk mogelijk gemaakt om uit te leggen.
PM me als er een fout in staat, Niet in een reactie zetten SVP.
HEB ER PLEZIER MEE!
Kart_Race.rar
Bewerkt: door spike2148