-
Sziasztok, valaki tudna segíteni hogy hogy tudom megoldani a random spawnolást DM zónában?
Eddig eljutottam:
new rand = random(sizeof(gRandomPlayerSpawns));
SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1],gRandomPlayerSpawns[rand][2]);
-
Mód elejére:
new const Float: DMSPawn [ ] [ 3 ] =
{
{ 122.1242, 1453.34, 23.42 }, // Koordináták X,Y,Z
{ 324.2342, 2355.22, 13.23 }, // Koordináták X,Y,Z
{ 243.4342, 2323.23, 52.34 }, // Koordináták X,Y,Z
{ 131.3232, 3215.33, 23.42 } // Koordináták X,Y,Z
};
DM Parancshoz:
new rand = random ( sizeof ( DMSpawn ) );
SetPlayerPos ( playerid, DMSpawn [ rand ] [ 0 ], DMSpawn [ rand ] [ 1 ], DMSpawn [ rand ] [ 2 ] );
Használd Epsilonét. :D :D
V
-
Ez a teljes kód.
Feltételezem, még mindig az én leírásom alapján készíted a DM zónákat, annál pedig úgy kell eljárni hogy:
Minden DM zónának létrehozol külön egy tömböt (pl. RandomSpawns) és beleírod annak a DM zónának a kezdõ koordinátáit. Majd a leírás példájánál feltüntetett helyen (Feltüntetés(így találod meg): // Elhelyezés a dMben. Itt akár véletlenszerû spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél ;)) használod az alsó kódot. (persze az alábbi példa OnPlayerSpawn része nem kell csak tartalma)
new const Float: RandomSpawns[] [ 4 ] = {
// { X , Y , Z , A },
{ 0.0, 1.1, 2.2, 3.3 },
{ 1.1, 2.2, 3.3, 4.4 },
{ 2.2, 3.3, 4.4, 5.5 }
}; // További sorok hozzáadhatóak, de figyelj hogy az utolsó után ne tegyél vesszot.
public OnPlayerSpawn( playerid )
{
new const rand = random(sizeof(RandomSpawns));
SetPlayerPos( playerid, RandomSpawns[ rand ] [ 0 ], RandomSpawns[ rand ] [ 1 ], RandomSpawns[ rand ] [ 2 ] );
SetPlayerFacingAngle( playerid, RandomSpawns[ rand ] [ 3 ] );
return 1;
}
E: Csabesz a tiéd hibás, próbáld meg átfordítani. (a tömb)
Kadaram, próbáld meg és jelezz vissza!
-
Köszi de szerintem valamit rosszul csináltam
Gamemode elején:
new const Float: RandomSpawns[] [ 4 ] = {
{2737.7871,-1760.2502,44.1498},
{ 2789.1135,-1744.3081,39.8986,117.7161 },
{ 2723.8813,-1703.3990,38.8141,78.0907 },
{ 2681.8699,-1746.8962,39.0449,258.5724 }
}; // További sorok hozzáadhatóak, de figyelj hogy az utolsó után ne tegyél vesszot.
OnPlayerSpawn-nál:
case 3: // 2-es azonosítószámú dm zónához tartozó tevékenységek
{
new const rand = random(sizeof(RandomSpawns));
SetPlayerPos( playerid, RandomSpawns[ rand ] [ 0 ], RandomSpawns[ rand ] [ 1 ], RandomSpawns[ rand ] [ 2 ] );
SetPlayerFacingAngle( playerid, RandomSpawns[ rand ] [ 3 ] )
SetPlayerPos(playerid,2737.7871,-1760.2502,44.1498); // Elhelyezés a dMben. Itt akár véletlenszeru spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél ;)
SetPlayerFacingAngle(playerid,110.0); // Játékos írányba állítása; elforgatás
ResetPlayerWeapons(playerid); // fegyverek elvétele <- FONTOS
GivePlayerWeapon(playerid,38,1000);
SetPlayerVirtualWorld(playerid, 2); // áthelyezés mási VW-be
-
Ha betetted a random spawnot töröld ki a már ott lévõ SetPlayerPos-t és SetPlayerFacingAngle-t (ami alapból ott volt)
Ezenkívül a koordinátákból mindenhol hiányzik az utolsó a FacingAngle (A).
Pótold ki!
-
De akkor is hibát ír ki(
(640) : error 001: expected token: \";\", but found \"-identifier-\"
Szerintem mindent megcsináltam,amit mondtál:
new const Float: RandomSpawns[] [ 4 ] = {
{2737.7871,-1760.2502,44.1498,110.0},
{ 2789.1135,-1744.3081,39.8986,110.0 },
{ 2723.8813,-1703.3990,38.8141,110.0 },
{ 2681.8699,-1746.8962,39.0449,110.0 }
}; // További sorok hozzáadhatóak, de figyelj hogy az utolsó után ne tegyél vesszot.
case 3: // 3-as azonosítószámú dm zónához tartozó tevékenységek
{
new const rand = random(sizeof(RandomSpawns));
SetPlayerPos( playerid, RandomSpawns[ rand ] [ 0 ], RandomSpawns[ rand ] [ 1 ], RandomSpawns[ rand ] [ 2 ] );
SetPlayerFacingAngle( playerid, RandomSpawns[ rand ] [ 3 ] )
//SetPlayerPos(playerid,2737.7871,-1760.2502,44.1498); // Elhelyezés a dMben. Itt akár véletlenszeru spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél ;)
//SetPlayerFacingAngle(playerid,110.0); // Játékos írányba állítása; elforgatás
ResetPlayerWeapons(playerid); // fegyverek elvétele <- FONTOS
GivePlayerWeapon(playerid,38,1000);
SetPlayerVirtualWorld(playerid, 2); // áthelyezés mási VW-be
}
-
A berakott SetPlayerFacingAngle mögött lemaradt az ; ;) :D
-
A berakott SetPlayerFacingAngle mögött lemaradt az ; ;) :D
Hú basszús kösz,ezt hogy nézhettem el?GOndoltam hogy valami ilyesmi lesz,de nem találtam és így azt hittem más a hiba! :D
Még egyszer köszönöm,zárok!