Saltar al contenido
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Publicaciones recomendadas

  • Usuario
Publicado (editado)

Hola gente :)

 

Tengo una duda, ¿como lo haria para hacer un Spawn Random?, explico.. tengo un minijuegos de dm, el usuario al morir vuelve a la cancha de duelo, pero solo tengo una coordenada, me gustaria poner unas 5, ya las tengo, pero nose como codificar eso, recuerdo que lo hize para cuando un usuario iniciaba el juego y daba a spawn, y caia en una de 8 coordenadas que tenia, pero se me olvido, y la pagina de scripts-tutoriales no me anda, dejo un codigo de ejemplo de como lo tengo.

 

 

if(WW[playerid] == 1)
{
SetPlayerPos(playerid,1409.0909,2168.4614,18.1016);

GivePlayerWeapon(playerid, .., ..);

GivePlayerWeapon(playerid, .., ..);

GivePlayerWeapon(playerid, .., ..);
}

return 1;

}

 

No tomen en cuenta los corchetes y que ahi algo malo,arriba van mas codigos de la callback OnPlayerSpawn

 

Como ven, solo tengo una coordenada, espero que puedan ayudarme :3

 

Saludos

Editado por Fenix
  • Usuario
Publicado

Con esta función se hace, en el link hay un ejemplo de spawn random.

 

Y de esa manera te evitas poner el code por cada spawn que tienes, solo pones el código y los setplayerpos, la función hará lo demás.


Ah, y si es minijuego solo en onplayerspawn, pones una sentencia que verifique si esta o no en el minijuego y ahí pones el code xd.

  • Usuario
Publicado

Aca te dejo un Ejemplo que tengo en OnplayerSpawn

 

if (Informacion[playerid][dm] == 1)
{
new RandomSpawn = random(5);
switch(RandomSpawn)
{
case 0:
{
SetPlayerPos(playerid,2542.4348,2848.1892,10.8203);
SetPlayerFacingAngle(playerid,266.8907);
SetCameraBehindPlayer(playerid);
}
case 1:
{
SetPlayerPos(playerid,2592.5757,2846.6299,10.8203);
SetPlayerFacingAngle(playerid,185.4467);
SetCameraBehindPlayer(playerid);
}
case 2:
{
SetPlayerPos(playerid,2615.0679,2843.0684,10.8203);
SetPlayerFacingAngle(playerid,182.0000);
SetCameraBehindPlayer(playerid);
}
case 3:
{
SetPlayerPos(playerid,2625.9412,2840.9387,10.8203);
SetPlayerFacingAngle(playerid,94.5792);
SetCameraBehindPlayer(playerid);
}
case 4:
{
SetPlayerPos(playerid,2597.8118,2800.4382,10.8203);
SetPlayerFacingAngle(playerid,272.2176);
SetCameraBehindPlayer(playerid);
}
}
ResetPlayerWeapons(playerid);
SetPlayerWeather(playerid,0);
SetPlayerVirtualWorld(playerid, 5);
SetPlayerHealth(playerid,100);
GivePlayerWeapon(playerid, 34, 9999);
GivePlayerWeapon(playerid, 26, 9999);
GivePlayerWeapon(playerid, 28, 9999);
GivePlayerWeapon(playerid, 31, 9999);
}
return 1;
}

Hay yo te Explico por el face pero es un ejemplo.

  • Usuario
Publicado

SI usas la funcion como en el ejemplo de wikisamp, te evitas poner 20 veces los setplayerpos xd

 

ej:

//array que almacena las coordenadas
new Float:RandomSpawn[][4] =
{
// Positions, (X, Y, Z and Facing Angle)
{-2796.9854, 1224.8180, 20.5429, 192.0335},
{-2454.2170, 503.8759, 30.0790, 267.2932},
{-2669.7322, -6.0874, 6.1328, 89.8853}
};
 
 
public OnPlayerSpawn(playerid)
{
 
 if(tuvariabledeminijuego[playerid] == true)
 { 
  //aca estan las funciones q te dan el spawn random
  new rand = random(sizeof(RandomSpawn));
  SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
  SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
  SetCameraBehindPlayer(playerid);
  //aca abajo pones las armas y demases
 }
 return 1;
}
Invitado
Este tema está cerrado a nuevas respuestas.
  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...