Algunas ayudas con un sistema
#1

Que tal, tengo unos problemas y otras cosas que no se como hacer, primero, tengo esta base simple:

PHP код:
        case DIALOG_ROBO:
        {
            if(
response == 1)
            {
                 
//if(strval(inputtext) < 18 || strval(inputtext) > 99) return SafeDialogEx(playerid, REG_AGE, DIALOG_STYLE_INPUT, "{FF8000}* Paso 2 *", "{FF8000}Mнnimo: {FFFFFF}18 Aсos\n{FF8000}Mбximo: {FFFFFF}99 Aсos\n\n{FF8000}Coloca bien la edad por favor:", "OK", "Atrбs");
                 
{
                     
format(stringsizeof(string), "Elije equipo\n"GetPlayerNameEx(playerid),strval(inputtext));
                    
SafeDialogEx(playerid,SEL_TEAM,DIALOG_STYLE_LIST"Equipos disponibles","Guardias\nMafiosos\nLadrones","Seleccionar","Salir");
                 }
            }
        } 
PHP код:
        case SEL_TEAM:
        {
            if(
response)
            {
                switch(
listitem)
                {
                    case 
0:
                    {
                        
SendClientMessageEx(playeridCOLOR_WHITE"Seleccionaste ser GUARDIA, espere por favor");
                        
SetPlayerTeam(playerid1);
                        if(
GetPlayerTeam(playerid) == 1SetPlayerPos(playerid2148.45261611.21341000.9688);
                        
SetPlayerVirtualWorld(playerid50);
                    }
                     case 
1:
                    {
                           
SendClientMessageEx(playeridCOLOR_WHITE"Seleccionaste ser un MAFIOSO, espere por favor");
                           
SetPlayerTeam(playerid2);
                           if(
GetPlayerTeam(playerid) == 2SetPlayerPos(playerid2635.7554,2015.9108,10.8203);
                           
SetPlayerVirtualWorld(playerid50);
                    }
                     case 
2:
                    {
                           
SendClientMessageEx(playeridCOLOR_WHITE"Selecionaste ser LADRУN, espere por favor");
                           
SetPlayerTeam(playerid3);
                           if(
GetPlayerTeam(playerid) == 3SetPlayerPos(playerid1085.3079, -986.541039.7826);
                           
SetPlayerVirtualWorld(playerid50);
                    }
                }
               }
        } 
Bueno, quiero hacer que el limite de usuarios sea de 5, que hasta que no estйn los 15 en total( 5 en cada equipo ) no empiece la actividad, tambiйn tengo un problema, en los guardias puse las coordenadas de un casino, pero no carga y se cae del cielo, no se que me faltу poner, por ahora eso necesito saber
Reply
#2

Muestras un dialogo para mostrar otro dialogo?
Код:
case DIALOG_ROBO: 
  { 
    if(response == 1) 
     { 
       //if(strval(inputtext) < 18 || strval(inputtext) > 99) return SafeDialogEx(playerid, REG_AGE, DIALOG_STYLE_INPUT, "{FF8000}* Paso 2 *", "{FF8000}Mнnimo: {FFFFFF}18 Aсos\n{FF8000}Mбximo: {FFFFFF}99 Aсos\n\n{FF8000}Coloca bien la edad por favor:", "OK", "Atrбs"); 
        { 
          format(string, sizeof(string), "Elije equipo\n", GetPlayerNameEx(playerid),strval(inputtext)); 
          SafeDialogEx(playerid,SEL_TEAM,DIALOG_STYLE_LIST, "Equipos disponibles","Guardias\nMafiosos\nLadrones","Seleccionar","Salir"); 
  
        } 
     }
  }  
PHP код:
CMD:participar(playeridparams[])
{
  
//Si el jugador no tiene el equipo ID 255 (sin equipo), retornarб el mensaje.
  
if(GetPlayerTeam(playerid) != 255) return SendClientMessage(playerid, -1"Ya estбs participando.");
  
//Se muestra el dialogo para elegir un equipo.
  
SafeDialogEx(playerid,SEL_TEAM,DIALOG_STYLE_LIST"Equipos disponibles","Guardias\nMafiosos\nLadrones","Seleccionar","Salir");  
  return 
1;

PHP код:
new CantidadEquipos[3]; //Array que almacenarб la cantidad de jugadores de los 3 equipos.
public OnPlayerConnect(playerid)
{
  
SetPlayerTeam(playerid255); //Le damos el valor "255" equivalente a que el jugador no estб en un equipo.
  
return 1;
}
public 
OnPlayerDisconnect(playeridreason)
{
  if(
GetPlayerTeam(playerid) != 255//En caso de que el jugador no estй en el equipo 255 (Sin equipo), se realizarб el switch para obtener el equipo en el que estб y descontar la cantidad de jugadores.
   
{
     switch(
GetPlayerTeam(playerid)) //Switch con el valor del equipo del jugador.
      
{
       case 
0CantidadEquipos[0] -= 1//En caso del equipo ID 0 se descontarб al array CantidadEquipos[0].
       
case 1CantidadEquipos[1] -= 1//En caso del equipo ID 1 se descontarб al array CantidadEquipos[1].
       
case 2CantidadEquipos[2] -= 1//En caso del equipo ID 2 se descontarб al array CantidadEquipos[2].
      
}
   }
  return 
1;

PHP код:
        case SEL_TEAM:
        { 
            if(
response
            { 
                switch(
listitem
                { 
                    case 
0
                    {   
//Si el valor del array "CantidadEquipos[0]" es mayor o igual a 5 retornarб el mensaje.
                        
if(CantidadEquipos[0] >= 5) return SendClientMessage(playerid -1"El equipo ya estб completo."); 
                        
SendClientMessageEx(playeridCOLOR_WHITE"Seleccionaste ser GUARDIA, espere por favor"); 
                        
SetPlayerTeam(playerid1); 
                        
CantidadEquipos[0] += 1//Aumentamos la cantidad de jugadores del equipo. 
                        
SetPlayerPos(playerid2148.45261611.21341000.9688); 
                        
SetPlayerVirtualWorld(playerid50); 
                    } 
                     case 
1
                    {   
//Si el valor del array "CantidadEquipos[1]" es mayor o igual a 5 retornarб el mensaje.
                        
if(CantidadEquipos[1] >= 5) return SendClientMessage(playerid -1"El equipo ya estб completo."); 
                           
SendClientMessageEx(playeridCOLOR_WHITE"Seleccionaste ser un MAFIOSO, espere por favor"); 
                           
SetPlayerTeam(playerid2); 
                           
CantidadEquipos[1] += 1//Aumentamos la cantidad de jugadores del equipo. 
                           
SetPlayerPos(playerid2635.7554,2015.9108,10.8203); 
                           
SetPlayerVirtualWorld(playerid50); 
                    } 
                     case 
2
                    {   
//Si el valor del array "CantidadEquipos[2]" es mayor o igual a 5 retornarб el mensaje.
                        
if(CantidadEquipos[2] >= 5) return SendClientMessage(playerid -1"El equipo ya estб completo."); 
                           
SendClientMessageEx(playeridCOLOR_WHITE"Selecionaste ser LADRУN, espere por favor"); 
                           
SetPlayerTeam(playerid3); 
                           
CantidadEquipos[2] += 1//Aumentamos la cantidad de jugadores del equipo. 
                           
SetPlayerPos(playerid1085.3079, -986.541039.7826); 
                           
SetPlayerVirtualWorld(playerid50); 
                    } 
                } 
               } 
        } 
No te olvides al momento de reiniciar el evento debes setear el array CantidadEquipos a 0, ademбs debes asignar a los usuarios el equipo ID 255 que equivale a no tener un equipo.
En cuanto al inicio del evento chequea con una condiciуn la cantidad del array CantidadEquipos. Puedes crear una funciуn donde estй la condiciуn y que la misma sea llamada cada vez que se se elije un equipo.
Saludos.
Reply
#3

Tengo este error:

PHP код:
error 035argument type mismatch (argument 2
En la lнnea:

PHP код:
if(CantidadEquipos[2] >= 5) return SendClientMessage(playerid -1"El equipo ya estб completo."); 
Reply
#4

A GlobitoPawn se le olvido poner una coma
Код:
if(CantidadEquipos[2] >= 5) return SendClientMessage(playerid -1, "El equipo ya estб completo.");
Corregido:
Код:
if(CantidadEquipos[2] >= 5) return SendClientMessage(playerid, -1, "El equipo ya estб completo.");
y a los demбs tambiйn te va dar el mismo error, por que hizo Copy & Paste xD

Aquн ya te los dejo

Код:
if(CantidadEquipos[0] >= 5) return SendClientMessage(playerid, -1, "El equipo ya estб completo.");
Код:
if(CantidadEquipos[1] >= 5) return SendClientMessage(playerid, -1, "El equipo ya estб completo.");
Saludos!

PD: Yo tambiйn acabo de hacer Copy & Paste xD
Reply
#5

Jjaja, gracias, era eso, si vi que eran 3 errores pero solo pasй uno, total si lo solucionaban iba a solucionar los otros (Y eso paso) bueno compilo perfecto
Reply
#6

Jajaj, de vez en cuando me falla el teclado. Revisй el cуdigo cuando lo escribн, parece que me falla la vista tambiйn
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)