Jump to content

[tut]Race met checkpoints[tut]


spike2148

Recommended Posts

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):

SetPlayerRaceCheckpoint(playerid,0,X,Y,Z,VolgendeX,VolgendeY,VolgendeZ,Grootte);

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.

public RaceStartK()
{
if(Seconds == 0)
{
KillTimer(StartTimer);
CountdownTimer = SetTimer("Countdown", 1000, 1);
Count = X;
}
else
{
Seconds--;
}
}

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;
}

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! :tu:

Kart_Race.rar

Bewerkt: door spike2148
Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...