Jarno Geplaatst: 11 april 2006 Rapport Geplaatst: 11 april 2006 (bewerkt) SA-MP Mini-Tutorial Willekeurige spawnplaatsen De mini-tutorial Zet onder je defines dit neer. forward PlayerSpawn(playerid); En daar onder: new Float:gRandSpawns[6][4] = { // {PositieX,PositieY,PositieZ,Hoek}, {1958.3783,1343.1572,15.3746,90.0}, {2199.6531,1393.3678,10.8203,180.0}, {1441.5894,2567.9099,10.8203,270.0}, // De hoeken verzin ik ter plekke... {1480.6473,2213.5718,11.0234,23.7}, {1400.5906,2225.6960,11.0234,64.98}, {1598.8419,2221.5676,11.0625,0.0}, }; // Al je spawnplaatsen Zoek dan: public OnPlayerSpawn(playerid) en zet boven "return 1;". PlayerSpawn(playerid); En zet dan ergens je nieuwe functie (Niet in een andere functie). public PlayerSpawn(playerid) { new rand = random(sizeof(gRandSpawns)); SetPlayerPos(playerid,gRandPlayerSpawns[rand][0],gRandPlayerSpawns[rand][1],gRandPlayerSpawns[rand][2]); // Verplaats de speler naar de punten. SetPlayerFacingAngle(playerid, gRandPlayerSpawns[rand][3]); // Draai de speler nog goed. return 1; } Enjoy Bewerkt: 11 april 2006 door Jarno Reageren
JGuntherS Geplaatst: 11 april 2006 Rapport Geplaatst: 11 april 2006 Je hebt de verkeerde arraynaam gebruikt in PlayerSpawn! Stoutert .Misschien is het handig om nog een 4e arrayvariabele te maken, voor de hoek. new Float:gRandSpawns[6][4] = { // {PositieX,PositieY,PositieZ,Hoek}, {1958.3783,1343.1572,15.3746,90.0}, {2199.6531,1393.3678,10.8203,180.0}, {1441.5894,2567.9099,10.8203,270.0}, // De hoeken verzin ik ter plekke... {1480.6473,2213.5718,11.0234,23.7}, {1400.5906,2225.6960,11.0234,64.98}, {1598.8419,2221.5676,11.0625,0.0}, }; // Al je spawnplaatsen public PlayerSpawn(playerid) { new rand = random(sizeof(gRandSpawns)); SetPlayerPos(playerid,gRandPlayerSpawns[rand][0],gRandPlayerSpawns[rand][1],gRandPlayerSpawns[rand][2]); // Verplaats de speler naar de punten. SetPlayerFacingAngle(playerid, gRandPlayerSpawns[rand][3]); // Draai de speler nog goed. return 1; } Reageren
Puma Geplaatst: 16 april 2007 Rapport Geplaatst: 16 april 2007 (bewerkt) Ik kreeg allemaal errors, heb toen zitten klooien en toen kreeg ik geen errors meer.. Nu ziet het er zo uit: forward PlayerSpawn(playerid); new Float:gRandSpawns[6][3] = { // {PositieX,PositieY,PositieZ,Hoek}, {1958.3783,1343.1572,15.3746}, {2199.6531,1393.3678,10.8203}, {1441.5894,2567.9099,10.8203}, // De hoeken verzin ik ter plekke... {1480.6473,2213.5718,11.0234}, {1400.5906,2225.6960,11.0234}, {1598.8419,2221.5676,11.0625} }; // Al je spawnplaatsen En ergens onderaan: public PlayerSpawn(playerid) { new rand = random(sizeof(gRandSpawns)); SetPlayerPos(playerid,gRandSpawns[rand][0],gRandSpawns[rand][1],gRandSpawns[rand][2]); // Verplaats de speler naar de punten. return 1; Zo krijg ik geen errors meer :o Edit: Ik krijg nu geen errors meer, maar als ik ingame ga krijg ik wel een crash... Zo werkt het wel goed: Zet dit ergens neer boven "main" neer: forward SetPlayerRandomSpawn(playerid); new iSpawnSet[MAX_PLAYERS]; new Float:gRandomPlayerSpawns[50][3] = { // {PositieX,PositieY,PositieZ,Hoek}, {1323.236,1540.658,10.82031}, {1323.236,1543.658,10.82031}, {1323.236,1546.658,10.82031}, {1323.236,1549.658,10.82031}, {1323.236,1552.658,10.82031}, {1323.236,1555.658,10.82031}, {1323.236,1558.658,10.82031}, {1323.236,1561.658,10.82031}, {1323.236,1564.658,10.82031}, {1323.236,1567.658,10.82031}, {1323.236,1570.658,10.82031}, {1323.236,1573.658,10.82031}, {1323.236,1576.658,10.82031}, {1323.236,1579.658,10.82031}, {1323.236,1582.658,10.82031}, {1323.236,1585.658,10.82031}, {1323.236,1588.658,10.82031}, {1323.236,1591.658,10.82031}, {1323.236,1594.658,10.82031}, {1323.236,1597.658,10.82031}, {1323.236,1600.658,10.82031}, {1323.236,1603.658,10.82031}, {1323.236,1606.658,10.82031}, {1323.236,1609.658,10.82031}, {1323.236,1612.658,10.82031}, {1323.236,1615.658,10.82031}, {1323.236,1618.658,10.82031}, {1323.236,1621.658,10.82031}, {1323.236,1624.658,10.82031}, {1323.236,1627.658,10.82031}, {1323.236,1630.658,10.82031}, {1323.236,1633.658,10.82031}, {1323.236,1636.658,10.82031}, {1323.236,1639.658,10.82031}, {1323.236,1642.658,10.82031}, {1323.236,1645.658,10.82031}, {1323.236,1648.658,10.82031}, {1323.236,1651.658,10.82031}, {1323.236,1654.658,10.82031}, {1323.236,1657.658,10.82031}, {1323.236,1660.658,10.82031}, {1323.236,1663.658,10.82031}, {1323.236,1666.658,10.82031}, {1323.236,1669.658,10.82031}, {1323.236,1672.658,10.82031}, {1323.236,1675.658,10.82031}, {1323.236,1678.658,10.82031}, {1323.236,1691.658,10.82031}, {1323.236,1694.658,10.82031}, {1323.236,1697.658,10.82031}}; // De coördinaten hiervan kun je veranderen, en daarna moet je bovenaan i.p.v. "50" het aantal coördinaatdingen zetten Nu ergens (het makkelijkste is hélemaal onderaan je script) plaats je dit: public SetPlayerRandomSpawn(playerid) { if (iSpawnSet[playerid] == 0) { new rand = random(sizeof(gRandomPlayerSpawns)); SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player } return 1; } Nu werkt het als het goed is Bewerkt: 16 april 2007 door Puma 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.