Jump to content

Teleport met random spawn


Recommended Posts

Geplaatst:

Ik heb in mn gamemode een teleport naar een minigunmadness:

if(strcmp(cmdtext, "/minigunmadness", true) == 0)
   {
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
       {
           SetVehiclePos(GetPlayerVehicleID(playerid), 2618.2820,2720.9912,36.5386);
       }
       else
       {
           SetPlayerPos(playerid, 2618.2820,2720.9912,36.5386);
       }
       SendClientMessage(playerid, 0x00FFFFAA, "Welcome To MinigunMadness");
       return 1;
   }

Hoe kan ik hier meerdere coordinaten aan toevoegen met random spawn?

Alvast bedankt

Geplaatst:

Zet dit bovenaan je script:

new Float:gRandomDmSpawns[6][3] = {
{1958.3783,1343.1572,15.3746},
{2199.6531,1393.3678,10.8203},
{2483.5977,1222.0825,10.8203},
{2637.2712,1129.2743,11.1797},
{2000.0106,1521.1111,17.0625},
{2024.8190,1917.9425,12.3386}
};

en dit word het commando:

if(strcmp(cmd, "/minigunmadness", true) == 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
	new rand = random(sizeof(gRandomDmSpawns));
	SetVehiclePos(GetPlayerVehicleID(playerid), gRandomDmSpawns[rand][0], gRandomDmSpawns[rand][1], gRandomDmSpawns[rand][2]); // Warp the player
}
else
{
	new rand = random(sizeof(gRandomDmSpawns));
	SetPlayerPos(playerid , gRandomDmSpawns[rand][0], gRandomDmSpawns[rand][1], gRandomDmSpawns[rand][2]); // Warp the player
}
SendClientMessage(playerid, 0x00FFFFAA, "Welcome To MinigunMadness");
return 1;
}

Als voorbeeld heb ik nu 6 verschillende spawnplaatsen.

De coördinaten daarvan zal je zelf nog moeten aanpassen.

Als je coördinaten wilt toevoegen, dan pak je eerst deze regel:

new Float:gRandomDmSpawns[6][3] = {

Die '6' geeft het aantal spawnplaatsen aan (en de 3 het aantal waarden per spawnplaats maar dat hebben we niet nodig nu)

Als je dus bijvoorbeeld 2 spawnplaatsen wilt toevoegen maak je van die 6 dus een 8

Dan de coördinaten zelf. { x, y, z},

Achter elke spawnplaats zet je een komma, behalve bij de laatste .

Dus als je spawnplekken gaat toevoegen, vergeet dan niet nog een komma toe te voegen aan degene die net als laatst was.

Stel dat we nou 3 coördinaten willen toevoegen:

We hadden dit:

new Float:gRandomDmSpawns[6][3] = {
{1958.3783,1343.1572,15.3746},
{2199.6531,1393.3678,10.8203},
{2483.5977,1222.0825,10.8203},
{2637.2712,1129.2743,11.1797},
{2000.0106,1521.1111,17.0625},
{2024.8190,1917.9425,12.3386}
};

Die nieuwe array (zoals dat heet) met de 3 nieuwe plekken word dan zo:

new Float:gRandomDmSpawns[9][3] = {	 // <<<--- De 6 vervangen door '9'
{1958.3783,1343.1572,15.3746},
{2199.6531,1393.3678,10.8203},
{2483.5977,1222.0825,10.8203},
{2637.2712,1129.2743,11.1797},
{2000.0106,1521.1111,17.0625},
{2024.8190,1917.9425,12.3386},   //  <<<--- Hier een nieuwe komma zetten
{1598.8419,2221.5676,11.0625},
{1318.7759,1251.3580,10.8203},
{1558.0731,1007.8292,10.8125}   //  <<<---- Hier geen komma neerzetten 
};

Ik hoop dat het nu duidelijk is.

Groetjes Sandra

Geplaatst:

Dit staat nu bovenaan:

new Float:gRandomDmSpawns[37][3] = {
{2544.5032,	2805.8840,	19.9922},
{2556.2554,	2832.5313,	19.9922},
{2561.9175,	2848.5532,	19.9922},
{2613.9866,	2848.4475,	19.9922},
{2611.5500,	2845.7542,	16.7020},
{2545.9243,	2839.1824,	10.8203},
{2647.6553,	2805.0278,	10.8203},
{2672.9387,	2800.3374,	10.8203},
{2672.8306,	2792.1057,	10.8203},
{2647.7834,	2697.5884,	19.3222},
{2654.5427,	2720.3474,	19.3222},
{2653.2063,	2738.2432,	19.3222},
{2641.1350,	2703.2019,	25.8222},
{2599.1304,	2700.7249,	25.8222},
{2606.1384,	2721.5237,	25.8222},
{2597.3745,	2748.0884,	23.8222},
{2595.0657,	2776.6729,	23.8222},
{2601.3640,	2777.8101,	23.8222},
{2584.3940,	2825.1748,	27.8203},
{2631.8110,	2834.2593,	40.3281},
{2632.2852,	2834.9390,	122.9219},
{2646.1997,	2817.7070,	36.3222},
{2685.8875,	2816.6575,	36.3222},
{2691.1233,	2787.7883,	59.0212},
{2717.8071,	2771.3464,	74.8281},
{2695.2622,	2699.5488,	22.9472},
{2688.8206,	2689.0039,	28.1563},
{2655.0229,	2650.6807,	36.9154},
{2570.4668,	2701.2876,	22.9507},
{2498.9915,	2704.6204,	10.9844},
{2524.1584,	2743.3735,	10.9917},
{2498.3167,	2782.3357,	10.8203},
{2504.5142,	2805.9763,	14.8222},
{2522.2144,	2814.7087,	24.9536},
{2510.6292,	2849.6384,	14.8222},
{2618.2646,	2720.8005,	36.5386},
{2690.9980,	2741.9060,	19.0722},
{2544.5032,	2805.8840,	19.9922},
{2556.2554,	2832.5313,	19.9922},
{2561.9175,	2848.5532,	19.9922},
{2613.9866,	2848.4475,	19.9922},
{2611.5500,	2845.7542,	16.7020},
{2545.9243,	2839.1824,	10.8203},
{2647.6553,	2805.0278,	10.8203},
{2672.9387,	2800.3374,	10.8203},
{2672.8306,	2792.1057,	10.8203},
{2647.7834,	2697.5884,	19.3222},
{2654.5427,	2720.3474,	19.3222},
{2653.2063,	2738.2432,	19.3222},
{2641.1350,	2703.2019,	25.8222},
{2599.1304,	2700.7249,	25.8222},
{2606.1384,	2721.5237,	25.8222},
{2597.3745,	2748.0884,	23.8222},
{2595.0657,	2776.6729,	23.8222},
{2601.3640,	2777.8101,	23.8222},
{2584.3940,	2825.1748,	27.8203},
{2631.8110,	2834.2593,	40.3281},
{2632.2852,	2834.9390,	122.9219},
{2646.1997,	2817.7070,	36.3222},
{2685.8875,	2816.6575,	36.3222},
{2691.1233,	2787.7883,	59.0212},
{2717.8071,	2771.3464,	74.8281},
{2695.2622,	2699.5488,	22.9472},
{2688.8206,	2689.0039,	28.1563},
{2655.0229,	2650.6807,	36.9154},
{2570.4668,	2701.2876,	22.9507},
{2498.9915,	2704.6204,	10.9844},
{2524.1584,	2743.3735,	10.9917},
{2498.3167,	2782.3357,	10.8203},
{2504.5142,	2805.9763,	14.8222},
{2522.2144,	2814.7087,	24.9536},
{2510.6292,	2849.6384,	14.8222},
{2618.2646,	2720.8005,	36.5386},
{2690.9980,	2741.9060,	19.0722}
};

En dit onderaan:

if(strcmp(cmdtext, "/minigunmadness", true) == 0)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        new rand = random(sizeof(gRandomDmSpawns));
        SetVehiclePos(GetPlayerVehicleID(playerid), gRandomDmSpawns[rand][0], gRandomDmSpawns[rand][1], gRandomDmSpawns[rand][2]); // Warp the player
    }
    else
    {
        new rand = random(sizeof(gRandomDmSpawns));
        SetPlayerPos(playerid , gRandomDmSpawns[rand][0], gRandomDmSpawns[rand][1], gRandomDmSpawns[rand][2]); // Warp the player
    }
    SendClientMessage(playerid, 0x00FFFFAA, "Welcome To MinigunMadness");
    return 1;
}

Dit zijn de errors:

C:\GTA San Andreas\GTA San Andreas\gamemodes\race2.pwn(47) : error 018: initialization data exceeds declared size
C:\GTA San Andreas\GTA San Andreas\gamemodes\race2.pwn(85) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.

Ik zier niets verkeerds aan, hopelijk iemand anders wel :cya:

Geplaatst:

Op welke regels geeft hij een error aan? Regel 47 en 85, welke regeltjes zijn dat? Daar kunnen we de fout wel vinden, denk ik. :Y

Geplaatst:
Op welke regels geeft hij een error aan? Regel 47 en 85, welke regeltjes zijn dat? Daar kunnen we de fout wel vinden, denk ik. :Y

Maar is het wel goed dat het helemaal bovenaan staat?

Of moet hij onder gamemode init?

Geplaatst:

Je hebt veel meer dan 37 rijtjes.

(Ik tel er al meer dan 50)

Tel ze nog eens na, en vul het goede getal in ;)

Ja dat had ik ook al door ^_^

Nu heb ik wel 73, maar nu zegt pawn dit:

C:\GTA San Andreas\GTA San Andreas\gamemodes\race2.pwn(84) : error 018: initialization data exceeds declared size
C:\GTA San Andreas\GTA San Andreas\gamemodes\race2.pwn(86) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.

Dit zijn regel 84, 86 en 86:

{2618.2646, 2720.8005, 36.5386},
{2690.9980, 2741.9060, 19.0722}
};

Geplaatst:

Ik tel er 74...

Nu zijn die errors weg, nu zijn er nog twee.

C:\Documents and Settings\Bert\Desktop\kopie script\3\race2.pwn(48) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Bert\Desktop\kopie script\3\race2.pwn(48) : error 008: must be a constant expression; assumed zero
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.

new Float:gRandomDmSpawns[37][3] = {
{2544.5032,	2805.8840,	19.9922},
{2556.2554,	2832.5313,	19.9922},
{2561.9175,	2848.5532,	19.9922},
{2613.9866,	2848.4475,	19.9922},
{2611.5500,	2845.7542,	16.7020},
{2545.9243,	2839.1824,	10.8203},
{2647.6553,	2805.0278,	10.8203},
{2672.9387,	2800.3374,	10.8203},
{2672.8306,	2792.1057,	10.8203},
{2647.7834,	2697.5884,	19.3222},
{2654.5427,	2720.3474,	19.3222},
{2653.2063,	2738.2432,	19.3222},
{2641.1350,	2703.2019,	25.8222},
{2599.1304,	2700.7249,	25.8222},
{2606.1384,	2721.5237,	25.8222},
{2597.3745,	2748.0884,	23.8222},
{2595.0657,	2776.6729,	23.8222},
{2601.3640,	2777.8101,	23.8222},
{2584.3940,	2825.1748,	27.8203},
{2631.8110,	2834.2593,	40.3281},
{2632.2852,	2834.9390,	122.9219},
{2646.1997,	2817.7070,	36.3222},
{2685.8875,	2816.6575,	36.3222},
{2691.1233,	2787.7883,	59.0212},
{2717.8071,	2771.3464,	74.8281},
{2695.2622,	2699.5488,	22.9472},
{2688.8206,	2689.0039,	28.1563},
{2655.0229,	2650.6807,	36.9154},
{2570.4668,	2701.2876,	22.9507},
{2498.9915,	2704.6204,	10.9844},
{2524.1584,	2743.3735,	10.9917},
{2498.3167,	2782.3357,	10.8203},
{2504.5142,	2805.9763,	14.8222},
{2522.2144,	2814.7087,	24.9536},
{2510.6292,	2849.6384,	14.8222},
{2618.2646,	2720.8005,	36.5386},
};         // Dit is regel 48 

#include <a_samp>
#include <core>
#include <float>

Geplaatst: (bewerkt)

Je hebt mijn voorbeeld niet goed gelezen,

ik had gezegt dat je bij het laatste rijtje de komma aan het eind moest weglaten. ;)

Achter elke spawnplaats zet je een komma, behalve bij de laatste .

Dus als je spawnplekken gaat toevoegen, vergeet dan niet nog een komma toe te voegen aan degene die net als laatst was.

Oh, ik weet trouwens niet over dit per sé moet, maar volgens mij moet je de #includes altijd helemaal bovenaan het script zetten

Bewerkt: door Sandra18[NL]
Geplaatst:

Je hebt mijn voorbeeld niet goed gelezen,

ik had gezegt dat je bij het laatste rijtje de komma aan het eind moest weglaten. ;)

Achter elke spawnplaats zet je een komma, behalve bij de laatste .

Dus als je spawnplekken gaat toevoegen, vergeet dan niet nog een komma toe te voegen aan degene die net als laatst was.

Oh, ik weet trouwens niet over dit per sé moet, maar volgens mij moet je de #includes altijd helemaal bovenaan het script zetten

Bedankt voor je reactie.

Nu is er nog 1 error:

//-----------------------------------------------------------------------------------------------------------------------------------

C:\Documents and Settings\Bert\Desktop\kopie script\3\race2.pwn(42) : error 052: multi-dimensional arrays must be fully initialized

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

1 Error.

//-----------------------------------------------------------------------------------------------------------------------------------

#include <a_samp>
#include <core>
#include <float>
#define COLOR_RED 0xAA3333AA // Kleur voor het "Ywa died" bericht.
new Float:gRandomDmSpawns[37][3] = {
{2544.5032,	2805.8840,	19.9922},
{2556.2554,	2832.5313,	19.9922},
{2561.9175,	2848.5532,	19.9922},
{2613.9866,	2848.4475,	19.9922},
{2611.5500,	2845.7542,	16.7020},
{2545.9243,	2839.1824,	10.8203},
{2647.6553,	2805.0278,	10.8203},
{2672.9387,	2800.3374,	10.8203},
{2672.8306,	2792.1057,	10.8203},
{2647.7834,	2697.5884,	19.3222},
{2654.5427,	2720.3474,	19.3222},
{2653.2063,	2738.2432,	19.3222},
{2641.1350,	2703.2019,	25.8222},
{2599.1304,	2700.7249,	25.8222},
{2606.1384,	2721.5237,	25.8222},
{2597.3745,	2748.0884,	23.8222},
{2595.0657,	2776.6729,	23.8222},
{2601.3640,	2777.8101,	23.8222},
{2584.3940,	2825.1748,	27.8203},
{2631.8110,	2834.2593,	40.3281},
{2632.2852,	2834.9390,	122.9219},
{2646.1997,	2817.7070,	36.3222},
{2685.8875,	2816.6575,	36.3222},
{2691.1233,	2787.7883,	59.0212},
{2717.8071,	2771.3464,	74.8281},
{2695.2622,	2699.5488,	22.9472},
{2688.8206,	2689.0039,	28.1563},
{2655.0229,	2650.6807,	36.9154},
{2570.4668,	2701.2876,	22.9507},
{2498.9915,	2704.6204,	10.9844},
{2524.1584,	2743.3735,	10.9917},
{2498.3167,	2782.3357,	10.8203},
{2504.5142,	2805.9763,	14.8222},
{2522.2144,	2814.7087,	24.9536},
{2510.6292,	2849.6384,	14.8222},
{2618.2646,	2720.8005,	36.5386}
};





forward GameModeExitFunc();

new gRoundTime = 0; // Hoe lang duurt de ronde (In seconden)? 0 = Oneindig

//---------------------------------------------------------

Geplaatst:

Die error geeft aan dat er te weinig rijtjes instaan.

Ik tel er nu namelijk 36 terwijl je 37 hebt ingevuld bovenin.

Het werkt! _O_

(Ik weet het ik kan niet tellen) :D

Geplaatst:

Is er trouwens een maximaal aantal objects voor de Samp-server?

Want ik heb weer een stunteiland gemaakt ,

maar de helft van de objects is er niet.

Geplaatst:

maximaal 150 objecten

en verder:

Max. Players - 200

Max.Vehicle Models - 70

Max.Vehicles - 700

Max.Pickups - 100

Max.Text Draws - 96

Max.Gang Zones - 1024

Max.Menus - 128

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