[Duda] Kits Medicina
#1

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.
Reply
#2

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;
  }
}
Reply
#3

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
Reply
#4

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;
}
Reply
#5

Asi no compila :S
Reply
#6

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;
}
Reply
#7

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"
Reply
#8

Si no compila y se queda "en blanco" comprueba las llaves que abren y las que cierran
Reply
#9

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 ...
Reply
#10

Ya lo eh arreglado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)