1112rutger Geplaatst: 28 juni 2010 Rapport Geplaatst: 28 juni 2010 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. Reageren
Big Boss Geplaatst: 28 juni 2010 Rapport Geplaatst: 28 juni 2010 Gebruik else if; if (bla) {} else if (moo) {} else if (boo) {} else {} Reageren
1112rutger Geplaatst: 28 juni 2010 Auteur Rapport Geplaatst: 28 juni 2010 (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: 28 juni 2010 door 1112rutger Reageren
Big Boss Geplaatst: 28 juni 2010 Rapport Geplaatst: 28 juni 2010 if(IsPlayerInRangeOfPoint(...)) { SetPlayerCheckpoint(...); } else if(IsPlayerInRangeOfPoint(...)) { SetPlayerCheckpoints(...); } else if(IsPlayerInRangeOfPoint(...)) { SetPlayerCheckpoints(...); } Reageren
1112rutger Geplaatst: 28 juni 2010 Auteur Rapport Geplaatst: 28 juni 2010 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. Reageren
Big Boss Geplaatst: 28 juni 2010 Rapport Geplaatst: 28 juni 2010 (bewerkt) Ik zal gauw even een scriptje maken waarmee dit makkelijk op te lossen is Edit: http://pawn.pastebin.com/L4Tiq3aK Bewerkt: 28 juni 2010 door Big Boss Reageren
1112rutger Geplaatst: 28 juni 2010 Auteur Rapport Geplaatst: 28 juni 2010 Even een paar vraagjes over dat scriptje: 1. Wat betekent CP_Garbage[playerid]++; nou precies? 2. Waarom begint de case pas bij 2? Reageren
Wu-Zi-Mu Geplaatst: 28 juni 2010 Rapport Geplaatst: 28 juni 2010 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. Reageren
1112rutger Geplaatst: 29 juni 2010 Auteur Rapport Geplaatst: 29 juni 2010 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. Reageren
Ice-cup Geplaatst: 30 juni 2010 Rapport Geplaatst: 30 juni 2010 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.. Reageren
Recommended Posts
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.