Algunas ayudas con un sistema -
ElvergitaLarga - 26.04.2017
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(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 код:
case SEL_TEAM:
{
if(response)
{
switch(listitem)
{
case 0:
{
SendClientMessageEx(playerid, COLOR_WHITE, "Seleccionaste ser GUARDIA, espere por favor");
SetPlayerTeam(playerid, 1);
if(GetPlayerTeam(playerid) == 1) SetPlayerPos(playerid, 2148.4526, 1611.2134, 1000.9688);
SetPlayerVirtualWorld(playerid, 50);
}
case 1:
{
SendClientMessageEx(playerid, COLOR_WHITE, "Seleccionaste ser un MAFIOSO, espere por favor");
SetPlayerTeam(playerid, 2);
if(GetPlayerTeam(playerid) == 2) SetPlayerPos(playerid, 2635.7554,2015.9108,10.8203);
SetPlayerVirtualWorld(playerid, 50);
}
case 2:
{
SendClientMessageEx(playerid, COLOR_WHITE, "Selecionaste ser LADRУN, espere por favor");
SetPlayerTeam(playerid, 3);
if(GetPlayerTeam(playerid) == 3) SetPlayerPos(playerid, 1085.3079, -986.5410, 39.7826);
SetPlayerVirtualWorld(playerid, 50);
}
}
}
}
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
Re: Algunas ayudas con un sistema -
GlobitoPawn - 26.04.2017
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(playerid, params[])
{
//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(playerid, 255); //Le damos el valor "255" equivalente a que el jugador no estб en un equipo.
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
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 0: CantidadEquipos[0] -= 1; //En caso del equipo ID 0 se descontarб al array CantidadEquipos[0].
case 1: CantidadEquipos[1] -= 1; //En caso del equipo ID 1 se descontarб al array CantidadEquipos[1].
case 2: CantidadEquipos[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(playerid, COLOR_WHITE, "Seleccionaste ser GUARDIA, espere por favor");
SetPlayerTeam(playerid, 1);
CantidadEquipos[0] += 1; //Aumentamos la cantidad de jugadores del equipo.
SetPlayerPos(playerid, 2148.4526, 1611.2134, 1000.9688);
SetPlayerVirtualWorld(playerid, 50);
}
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(playerid, COLOR_WHITE, "Seleccionaste ser un MAFIOSO, espere por favor");
SetPlayerTeam(playerid, 2);
CantidadEquipos[1] += 1; //Aumentamos la cantidad de jugadores del equipo.
SetPlayerPos(playerid, 2635.7554,2015.9108,10.8203);
SetPlayerVirtualWorld(playerid, 50);
}
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(playerid, COLOR_WHITE, "Selecionaste ser LADRУN, espere por favor");
SetPlayerTeam(playerid, 3);
CantidadEquipos[2] += 1; //Aumentamos la cantidad de jugadores del equipo.
SetPlayerPos(playerid, 1085.3079, -986.5410, 39.7826);
SetPlayerVirtualWorld(playerid, 50);
}
}
}
}
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.
Re: Algunas ayudas con un sistema -
ElvergitaLarga - 27.04.2017
Tengo este error:
PHP код:
error 035: argument type mismatch (argument 2)
En la lнnea:
PHP код:
if(CantidadEquipos[2] >= 5) return SendClientMessage(playerid -1, "El equipo ya estб completo.");
Respuesta: Algunas ayudas con un sistema -
crini22 - 27.04.2017
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
Re: Algunas ayudas con un sistema -
ElvergitaLarga - 27.04.2017
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
Re: Algunas ayudas con un sistema -
GlobitoPawn - 27.04.2017
Jajaj, de vez en cuando me falla el teclado. Revisй el cуdigo cuando lo escribн, parece que me falla la vista tambiйn