[Duda] Spawns dinбmicos por equipos.
#1

Hola gente, les querнa preguntar si me pueden facilitar o hacer una breve explicaciуn de como hacer spawns dinбmicos por equipos y ciudades, para que se orienten un poco mбs o menos, yo harй un dialog para el voto de mapa, o sea que los mapas irбn cambiando, entonces necesito un code o una explicaciуn, de como hacer spawnear a cada equipo segъn la ciudad (los que jugaron a Protect the president me entenderбn) yo estoy creando un TDM con el modo de juego Protect The President. Saludos y de antemano muchнsimas gracias.
Reply
#2

pawn Код:
public OnPlayerSpawn(playerid)
{
    switch(gTeam[playerid]) // Cambia a tu variable.
    {
        case 0: // Equipo nъmero '0'.
        {
            // wiki.sa-mp.com/wiki/Random
        }
        case 1: // Equipo nъmero '1'.
        {
            // wiki.sa-mp.com/wiki/Random
        }
    }
    return 1;
}

Йse es un pequeсo ejemplo.
Reply
#3

pawn Код:
#include <a_samp>
new Float:SpawnEquipo1[][4]={
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0}
};
new Float:SpawnEquipo2[][4]={
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0}
};
new Float:SpawnEquipo3[][4]={
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0}
};
public OnPlayerSpawn(playerid){
    switch(GetPlayerTeam(playerid)){
        case 1:{ //equipo 1
            new rand1 = random(sizeof(SpawnEquipo1));
            SetPlayerPos(playerid, SpawnEquipo1[rand1][0], SpawnEquipo1[rand1][1],SpawnEquipo1[rand1][2]);
            SetPlayerFacingAngle(playerid, SpawnEquipo1[rand1][3]);
        }
        case 2:{ //equipo 2
            new rand2 = random(sizeof(SpawnEquipo2));
            SetPlayerPos(playerid, SpawnEquipo2[rand2][0], SpawnEquipo2[rand2][1],SpawnEquipo2[rand2][2]);
            SetPlayerFacingAngle(playerid, SpawnEquipo2[rand2][3]);
        }
        case 3:{ //equipo 3
            new rand3 = random(sizeof(SpawnEquipo3));
            SetPlayerPos(playerid, SpawnEquipo3[rand3][0], SpawnEquipo3[rand3][1],SpawnEquipo3[rand3][2]);
            SetPlayerFacingAngle(playerid, SpawnEquipo3[rand3][3]);
        }
        //ETC..
    }
    return true;
}
https://sampwiki.blast.hk/wiki/GetPlayerTeam
https://sampwiki.blast.hk/wiki/SetPlayerTeam
https://sampwiki.blast.hk/wiki/Random
Reply
#4

Muchas gracias a los dos por responderme, ahora me puedo guiar un poquitito mбs, pero una pregunta, їcуmo harнa yo para poner el spawn para distintas ciudades?, es decir, como estб en los new Float:SpawnEquipo1[][4]={ creo que serнa para varios spawns, yo quiero que sea un spawn por ciudad, se me hace que anteriormente me expresй mal D:, necesito su ayuda, gracias .
Reply
#5

pawn Код:
#include <a_samp>

#define LOS_SANTOS   (1)
#define SAN_FIERRO   (2)
#define LAS_VENTURAS (3)
new Ciudades[MAX_PLAYERS];

public OnPlayerSpawn(playerid){
    switch(GetPlayerTeam(playerid)){
        case 1:{ //equipo 1
            switch(Ciudades[playerid]){
                case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
                case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
                case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
            }
        }
        case 2:{ //equipo 2
            switch(Ciudades[playerid]){
                case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
                case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
                case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
            }
        }
        case 3:{ //equipo 3
            switch(Ciudades[playerid]){
                case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
                case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
                case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
            }
        }
        //ETC..
    }
    return true;
}
Reply
#6

Eres el mбs grande de todos Otacon, no como yo, que con lo que te voy a preguntar parecerй el mбs n00bster de todos -.-, me estб dando йste error, їcуmo lo arreglo?

PD: reciйn arreglй el mismo error pero en otra linea y si se arreglу, йsta ultima es la del problema.

Error: error 040: duplicate "case" label (value 3)

Linea: (349)case 3:{ //equipo 2
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
}
}

De antemano muchнsimas gracias, me ayudas en todo
Reply
#7

case 3 estб repetido

pawn Код:
case 0:
case 1:
case 2:
case 3:
case 3: // posiblemente tu error
correcto:

pawn Код:
case 0:
case 1:
case 2:
case 3:
case 4:
Reply
#8

Si OTACON es el mбs grande, entonces quй carajos es ******

Es porque ese case ya estб puesto en su estructura switch.

Saludos.
Reply
#9

Logrй darme cuenta al reparar ese error por primera vez, pero ahora me sigue saliendo y los case no estбn repetidos, йsta es mi callback:

public OnPlayerSpawn(playerid){
switch(GetPlayerTeam(playerid)){
case 0:{ //equipo 1
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
}
}
case 1:{ //equipo 2
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
}
}
case 2:{ //equipo 3
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case 3:{ //equipo 2
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
}
}
case 4:{ //equipo 2
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
}
}
case 5:{ //equipo 2
switch(Ciudades[playerid]){
case LOS_SANTOS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case SAN_FIERRO:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
case LAS_VENTURAS:{ SetPlayerPos(playerid, 0, 0, 0); SetPlayerFacingAngle(playerid, 0); }
}
}
}
}
//ETC..
}
return true;
}
Reply
#10

Listo, lo pude solucionar e.e, me faltaban dos llaves e.e, nos las habнa puesto xD, muchas gracias.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)