Jump to content

Checkpoints


Recommended Posts

Geplaatst:

Ik heb het forum wel doorgezocht, maar vond niks dat echt hiermee te maken had. Mocht hier wel al een topic over zijn, dat spijt mij dit op recht .

Ok, ik heb dus een scriptje bij de callback ''OnPlayerEnterCheckpoint'' met daarin:
    if(PlayerToPoint(5.0, playerid,-187.3907,1063.9255,20.1602)) //1st possibility
    {
           SetPlayerCheckpoint(playerid, -98.0084,1094.9556,20.1531, 15.0);
	}
	if(PlayerToPoint(10.0, playerid,-96.2564,1095.0715,19.2186))
    {
           SetPlayerCheckpoint(playerid, -12.8744,1041.0557,20.1577, 15.0);
	}
	if(PlayerToPoint(10.0, playerid,-12.8744,1041.0557,20.1577))
    {
           SetPlayerCheckpoint(playerid, 32.4826,1131.3884,20.1451, 15.0);
	}

Als ik bijv. in Checkpoint nummero 1 stap (die met de playertopoint: -187) dan komt er inderdaad een nieuwe checkpoint op -96. Maaar, zodra ik daarin stap komt er geen nieuwe checkpoint! Oftewel, die andere checkpoint die daarna volgt (-12) komt er ook niet.

Hoe los ik dit op?

Thanks in advance!

// Rutger.

Geplaatst: (bewerkt)

Het probleem daarmee is dat de structuur zo is:

if(dingetje hier)
{
           if(PlayerToPoint(5.0, playerid,-187.3907,1063.9255,20.1602)) //1st possibility
           {
           SetPlayerCheckpoint(playerid, -98.0084,1094.9556,20.1531, 15.0);
               }
               if(PlayerToPoint(10.0, playerid,-96.2564,1095.0715,19.2186))
           {
           SetPlayerCheckpoint(playerid, -12.8744,1041.0557,20.1577, 15.0);
               }
               if(PlayerToPoint(10.0, playerid,-12.8744,1041.0557,20.1577))
           {
           SetPlayerCheckpoint(playerid, 32.4826,1131.3884,20.1451, 15.0);
               }
}

1st possibility is laat maar zeggen een random mogelijkheid (dat in het begin staat van heel mijn script).

De 2de possibility komt dus dan laat maar zeggen na de ''else'' van dit geheel (als ik het volgens jou manier zal doen). Maar na else kan niks meer toch?

Want het moet toch altijd if, if else, else, eind zijn?

Dus, laat maar zeggen. Het bovenstaande if(playertopoint) gedeelte past in een soort van ''eigen alinea''. Hier komt nog een ''tweede alinea'' bij, maar dit kan niet na de else?

Bewerkt: door 1112rutger
Geplaatst:
if(IsPlayerInRangeOfPoint(...)) 
{
   SetPlayerCheckpoint(...);
}
else if(IsPlayerInRangeOfPoint(...))
{
   SetPlayerCheckpoints(...);
}
else if(IsPlayerInRangeOfPoint(...))
{
   SetPlayerCheckpoints(...);
}

Geplaatst:

Dus dan zou dit het worden:

	    if(PlayerToPoint(5.0, playerid,-187.3907,1063.9255,20.1602)) //1st possibility
    {
        SendClientMessage(playerid, color_grey, "Garbage picked up, go to the next stop.");
           SetPlayerCheckpoint(playerid, -98.0084,1094.9556,20.1531, 15.0);
	}
	else if(PlayerToPoint(10.0, playerid,-98.0084,1094.9556,20.1531))
    {
        SendClientMessage(playerid, color_grey, "Garbage picked up, go to the next stop.");
           SetPlayerCheckpoint(playerid, -12.8744,1041.0557,20.1577, 15.0);
	}
	else if(PlayerToPoint(10.0, playerid,-12.8744,1041.0557,20.1577))
    {
        SendClientMessage(playerid, color_grey, "Garbage picked up, go to the next stop.");
           SetPlayerCheckpoint(playerid, 32.4826,1131.3884,20.1451, 15.0);
	}

Helaas werkt dit niet, bij de 2de checkpoint komt er geen 3de checkpoint en blijft hij er ook staan.

Geplaatst:

Even een paar vraagjes over dat scriptje:

1. Wat betekent CP_Garbage[playerid]++; nou precies?

2. Waarom begint de case pas bij 2?

Geplaatst:

Even een paar vraagjes over dat scriptje:

1. Wat betekent CP_Garbage[playerid]++; nou precies?

2. Waarom begint de case pas bij 2?

++ betekent +1

Dus CP_Garbage[playerid]++ zorgt ervoor de je een volgende Checkpoint krijgt.

En de Case begint pas bij 2 omdat je case 1 al hebt gehad. Die krijg je al je /garbage doet.

Geplaatst:

Sorry dat ik zo vervelend ben misschien maar...

Hij doet het nog steeds niet.. Als ik in de 2de check point (-98.0084,1094.9556,20.1531) kom, komt er geen 3de checkpoint.

Oftewel in case 3 gebeurt er niks.

Geplaatst:

Ik had dit probleem ook, heb gewoon mijn hele checkpoint gedoe gedelete en maar laten zitten..

Echt vervelend. Ik wil ook wel weten hoe je dit oplost..

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...