[Duda] Kits Medicina -
Pepot - 05.02.2011
Hola amigos, en mi servidor de zombies tengo un problema de el inventario, al abrirlo, y selecciono algun kit de medicina (los 3 primeros items) no van, encambio, si va el fuel, linternas y herramientas (los otros 3 items)
Lo tengo de la siguiente manera:
pawn Код:
format(string,sizeof(string),"Objeto\t\t\t\tCantidad\nKit Botiquin Grande\t\t%d\nKit Botiquin Mediano\t\t%d\nKit Botiquin Pequeсo\t\t%d\nHerramientas\t\t\t%d\nLinterna\t\t\t%d\nFuel\t\t\t\t%d",PlayerInfo[playerid][BotiquinG],PlayerInfo[playerid][BotiquinM],PlayerInfo[playerid][BotiquinP],PlayerInfo[playerid][Herramientas],PlayerInfo[playerid][Linterna],PlayerInfo[playerid][Fuel]);
ShowPlayerDialog(playerid,DIALOGO_MOCHILA,DIALOG_STYLE_LIST,"Mochila",string,"Usar","Salir");
pawn Код:
if(dialogid == DIALOGO_MOCHILA)
{
if(response)
{
if(listitem == 1) //
{
if(gTeam[playerid] == TEAM_HUMANO)
{
if(PlayerInfo[playerid][BotiquinG] >= 1)
{
new Float: Salud;
GetPlayerHealth(playerid, Salud);
if(Salud < 75)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, Salud + 65.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin grande para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit grande de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinG] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, Salud + 55.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin grande para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit grande de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinG] -= 1;
}
}
else
{
Mensaje(playerid, COLOR_KANE,"Debes estas mas herido para usar el BotiquinG.");
}
}
}
else
{
Mensaje(playerid,COLOR_KANE,"No tienes Botiquines.");
}
}
}
}
if(dialogid == DIALOGO_MOCHILA)
{
if(response)
{
if(listitem == 2) //
{
if(PlayerInfo[playerid][BotiquinM] >= 1)
{
new Float:TuVida;
GetPlayerHealth(playerid, TuVida);
if(TuVida < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, TuVida + 45.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVida + 30.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] -= 1;
}
}
else
{
Mensaje(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
}
else
{
Mensaje(playerid,COLOR_KANE,"No tienes Kits Medianos.");
}
}
}
}
if(dialogid == DIALOGO_MOCHILA)
{
if(response)
{
if(listitem == 3) //
{
if(PlayerInfo[playerid][BotiquinP] >= 1)
{
new Float:TuVidaB;
GetPlayerHealth(playerid, TuVidaB);
if(TuVidaB < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, TuVidaB + 25.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin pequeсo para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit pequeсo de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinP] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVidaB + 15.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin pequeсo para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit pequeсo de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinP] -= 1;
}
}
else
{
Mensaje(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
}
else
{
Mensaje(playerid,COLOR_KANE,"No tienes Kits Pequeсos.");
}
}
}
}
Esos son los items que no me van :S, ojala puedan ayudarme con esto..
Y ese es el problema que no me van los 3 primeros items, y eh comprobado si es por que esta interviniendo otra id de dialogo y no, estб bien.
Porfavor, ayudenme. :S
P.D: No me importa que lo copien, eso significa que son pequeсos lammers (los que lo copien), y no creo que esa sea la impresiуn que querais dar xD, en fin.
Re: [Duda] Kits Medicina -
GROVE4L - 05.02.2011
Ese codigo es cualquier cosa xD no te ofendas pero para hacerlo mas facil ponelo asi:
pawn Код:
if(dialogid == DIALOGO_MOCHILA)
{
if(response)
{
if(listitem == 0)
{
//Codigo de la primera opcion
}
if(listitem == 1)
{
//Codigo de la segunda opcion
}
if(listitem == 2)
{
//Codigo de la tercera opcion
}
if(listitem == 3)
{
//Codigo de la cuarta opcion
}
if(listitem == 4)
{
//Codigo de la quinta opcion
}
if(listitem == 5)
{
//Codigo de la sexta opcion
}
return 1;
}
}
Respuesta: [Duda] Kits Medicina -
Pepot - 05.02.2011
Aver probare..
P.D: Admiteme en el msn que quiero hablar contigo de algo porfa.. (soy Ner0x)
EDIT: Nada, sigue sin ir, y me tira errores :S
Re: [Duda] Kits Medicina -
arturo clark - 05.02.2011
Prueba esto:
pawn Код:
if(dialogid == DIALOGO_MOCHILA)
{
if(response)
{
if(listitem == 1) //
{
if(gTeam[playerid] == TEAM_HUMANO)
{
if(PlayerInfo[playerid][BotiquinG] >= 1)
{
new Float: Salud;
GetPlayerHealth(playerid, Salud);
if(Salud < 75)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, Salud + 65.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin grande para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit grande de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinG] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, Salud + 55.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin grande para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit grande de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinG] -= 1;
}
}
else
{
SendClientMessage(playerid, COLOR_KANE,"Debes estas mas herido para usar el BotiquinG.");
}
}
}
else
{
SendClientMessage(playerid,COLOR_KANE,"No tienes Botiquines.");
}
}
if(listitem == 2) //
{
if(PlayerInfo[playerid][BotiquinM] >= 1)
{
new Float:TuVida;
GetPlayerHealth(playerid, TuVida);
if(TuVida < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, TuVida + 45.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVida + 30.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] -= 1;
}
}
else
{
SendClientMessage(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
}
else
{
SendClientMessage(playerid,COLOR_KANE,"No tienes Kits Medianos.");
}
}
if(listitem == 3) //
{
if(PlayerInfo[playerid][BotiquinP] >= 1)
{
new Float:TuVidaB;
GetPlayerHealth(playerid, TuVidaB);
if(TuVidaB < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, TuVidaB + 25.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin pequeсo para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit pequeсo de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinP] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVidaB + 15.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin pequeсo para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit pequeсo de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinP] -= 1;
}
}
else
{
SendClientMessage(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
}
else
{
SendClientMessage(playerid,COLOR_KANE,"No tienes Kits Pequeсos.");
}
}
}
}
return 1;
}
Respuesta: [Duda] Kits Medicina -
Pepot - 06.02.2011
Asi no compila :S
Re: [Duda] Kits Medicina -
arturo clark - 06.02.2011
Ah creo que ya se cual es el error, mira:
pawn Код:
//En el "if(listitem == 1)" cбmbialo a "if(listitem == 0)" y el siguiente "if(listitem == 1)" asн sucesivamente.
if(dialogid == DIALOGO_MOCHILA)
{
if(response)
{
if(listitem == 0) //
{
if(gTeam[playerid] == TEAM_HUMANO)
{
if(PlayerInfo[playerid][BotiquinG] >= 1)
{
new Float: Salud;
GetPlayerHealth(playerid, Salud);
if(Salud < 75)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, Salud + 65.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin grande para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit grande de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinG] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, Salud + 55.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin grande para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit grande de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinG] -= 1;
}
}
else
{
SendClientMessage(playerid, COLOR_KANE,"Debes estas mas herido para usar el BotiquinG.");
}
}
}
else
{
SendClientMessage(playerid,COLOR_KANE,"No tienes Botiquines.");
}
}
if(listitem == 1) //
{
if(PlayerInfo[playerid][BotiquinM] >= 1)
{
new Float:TuVida;
GetPlayerHealth(playerid, TuVida);
if(TuVida < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, TuVida + 45.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVida + 30.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] -= 1;
}
}
else
{
SendClientMessage(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
}
else
{
SendClientMessage(playerid,COLOR_KANE,"No tienes Kits Medianos.");
}
}
if(listitem == 2) //
{
if(PlayerInfo[playerid][BotiquinP] >= 1)
{
new Float:TuVidaB;
GetPlayerHealth(playerid, TuVidaB);
if(TuVidaB < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, TuVidaB + 25.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin pequeсo para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit pequeсo de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinP] -= 1;
}
if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVidaB + 15.0);
SendClientMessage(playerid,COLOR_GRIS,"Has usado el Botiquin pequeсo para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit pequeсo de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinP] -= 1;
}
}
else
{
SendClientMessage(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
}
else
{
SendClientMessage(playerid,COLOR_KANE,"No tienes Kits Pequeсos.");
}
}
}
}
return 1;
}
Respuesta: [Duda] Kits Medicina -
Pepot - 06.02.2011
No, eso no es, y sigue sin compilar, se queda eso en blanco y no sale nada..
P.D: Ademas eso del item 0 no creo que tenga que ver algo, porque de item 0 tengo lo de "Objeto\t\t\t\tCantidad"
Respuesta: [Duda] Kits Medicina -
Lunnatiicz - 06.02.2011
Si no compila y se queda "en blanco" comprueba las llaves que abren y las que cierran
Respuesta: [Duda] Kits Medicina -
Code8976Man - 06.02.2011
pawn Код:
if(dialogid == DIALOG_MOCHILA)
{
if(response)
{
switch(listitem)
{
case 0: // ID Item.
{
if(PlayerInfo[playerid][BotiquinM] > 0)
{
new Float:hp;
GetPlayerHealth(playerid, hp);
if(hp < 100)
{
if(PlayerInfo[playerid][SPerk] == 2)
{
SetPlayerHealth(playerid, hp + 45.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] --;
}
else if(PlayerInfo[playerid][SPerk] == 0)
{
SetPlayerHealth(playerid, TuVida + 30.0);
Mensaje(playerid,COLOR_GRIS,"Has usado el Botiquin Mediano para curarte.");
PlayerActionMessage(playerid, 13, "ha usado un kit mediano de medicinas, y ahora se siente mejor.");
PlayerInfo[playerid][BotiquinM] --;
}
}
else Mensaje(playerid, COLOR_KANE,"Tu Barra de Vida ya esta Llena.");
}
else Mensaje(playerid,COLOR_KANE,"No tienes Kits Medianos.");
}
}
}
}
Si sigue sin irte, prueba de poner cosas para ver donde esta el error. Ejemplo, despues de superar una condiciуn que te salga un mensaje, despues de otra asi ...
Respuesta: [Duda] Kits Medicina -
Pepot - 06.02.2011
Ya lo eh arreglado