Jump to content
Geplaatst:
comment_1680896

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.

Featured Replies

Geplaatst:
  • Auteur
comment_1681162

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:
comment_1681171
if(IsPlayerInRangeOfPoint(...)) 
{
   SetPlayerCheckpoint(...);
}
else if(IsPlayerInRangeOfPoint(...))
{
   SetPlayerCheckpoints(...);
}
else if(IsPlayerInRangeOfPoint(...))
{
   SetPlayerCheckpoints(...);
}

Geplaatst:
  • Auteur
comment_1681176

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

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:
  • Auteur
comment_1681834

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.

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

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.