[Ayuda]Bug
#1

bueno pues tengo un script de de drogas, que al consumir 5gramos, te dice ke no consumas mas o puedes morir, cuando consumes 6gr te dice lo mismo, y si consumes 7 gramos seguidos pues te mueres, pero nose porque al consumir los 7 gramos y morirte y decirte que as muerto por sobredosis, me pone Unknow Command, aver si alguien sabe porque pasa esto, aqui dejo el scrip

Код:
	if(strcmp(cmd, "/consumir", true) == 0)
	{
		tmp = strtokex(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, Blanco, "USO: /consumir [Crack/Cocaina/Marihuana]");
			return 1;
		}
		
		if(strcmp(tmp, "Crack", true) == 0)
		{
			if(PlayerInfo[playerid][pDrogaP][2] == 0) { SendClientMessage(playerid, Rojo, "* No tienes crack."); return 1; }
			PlayerInfo[playerid][pDrogaP][2] -= 1;
			PlayerInfo[playerid][pConsumos][2] ++;
			PlayerInfo[playerid][pTmpConsumos][2] ++;
			format(string,sizeof(string),"* Has consumido 1 gramo de crack. (%d/15)", PlayerInfo[playerid][pConsumos][2]);
			SendClientMessage(playerid, Amarillo, string);
			SetTimerEx("ResetConsumos", 1200000, 0, "i", playerid);
			ApplyAnimation(playerid,"CRACK","crckidle1",4.1,1,1,1,1,1);
			TogglePlayerControllable(playerid, 0);
			SetTimerEx("Descongelar", 60000 , 0, "i", playerid);
			Consumo(playerid, 1);
			if(PlayerInfo[playerid][pAbstinencia] == 2)
			{
				PlayerInfo[playerid][pAbstinencia] = 1;
				SaveValue(playerid, "Abstinencia", PlayerInfo[playerid][pAbstinencia]);
			}
			if(PlayerInfo[playerid][pConsumos][2] == 15)
			{
				PlayerInfo[playerid][pRespeto] += 1;
				ComprobarNivel(playerid);
				PlayerInfo[playerid][pConsumos][2] = 0;
			}
			else if(PlayerInfo[playerid][pConsumos][2] == 10 && PlayerInfo[playerid][pAbstinencia] == 0)
			{
				PlayerInfo[playerid][pAbstinencia] = 2;
				SendClientMessage(playerid, Naranja, "Ahora estбs enganchado al crack, consume un gramo cada hora para no sufrir sus efectos.");
				SaveValue(playerid, "Abstinencia", PlayerInfo[playerid][pAbstinencia]);
			}
			if(PlayerInfo[playerid][pTmpConsumos][2] == 5)
			{
				SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso morir. Espera 20 minutos para no correr riesgos.");
			}
			else if(PlayerInfo[playerid][pTmpConsumos][2] > 5)
			{
				new probabilidad = random(100);
				if(probabilidad > 60)
				{
					SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs desmayarte. Espera 20 minutos para no correr riesgos.");
				}
				else if(probabilidad > 100)
				{
					GM_SetPlayerHealth(playerid, 0);
					SendClientMessage(playerid, Rojo, "* Te has desmayado por sobredosis. (-1Exp)");
					PlayerInfo[playerid][pRespeto] -= 2;
					ComprobarNivel(playerid);
				}
			}
		}
Reply
#2

Aregale un
pawn Код:
return 1;
pawn Код:
if(strcmp(cmd, "/consumir", true) == 0)
    {
        tmp = strtokex(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, Blanco, "USO: /consumir [Crack/Cocaina/Marihuana]");
            return 1;
        }

        if(strcmp(tmp, "Crack", true) == 0)
        {
            if(PlayerInfo[playerid][pDrogaP][2] == 0) { SendClientMessage(playerid, Rojo, "* No tienes crack."); return 1; }
            PlayerInfo[playerid][pDrogaP][2] -= 1;
            PlayerInfo[playerid][pConsumos][2] ++;
            PlayerInfo[playerid][pTmpConsumos][2] ++;
            format(string,sizeof(string),"* Has consumido 1 gramo de crack. (%d/15)", PlayerInfo[playerid][pConsumos][2]);
            SendClientMessage(playerid, Amarillo, string);
            SetTimerEx("ResetConsumos", 1200000, 0, "i", playerid);
            ApplyAnimation(playerid,"CRACK","crckidle1",4.1,1,1,1,1,1);
            TogglePlayerControllable(playerid, 0);
            SetTimerEx("Descongelar", 60000 , 0, "i", playerid);
            Consumo(playerid, 1);
            if(PlayerInfo[playerid][pAbstinencia] == 2)
            {
                PlayerInfo[playerid][pAbstinencia] = 1;
                SaveValue(playerid, "Abstinencia", PlayerInfo[playerid][pAbstinencia]);
            }
            if(PlayerInfo[playerid][pConsumos][2] == 15)
            {
                PlayerInfo[playerid][pRespeto] += 1;
                ComprobarNivel(playerid);
                PlayerInfo[playerid][pConsumos][2] = 0;
            }
            else if(PlayerInfo[playerid][pConsumos][2] == 10 && PlayerInfo[playerid][pAbstinencia] == 0)
            {
                PlayerInfo[playerid][pAbstinencia] = 2;
                SendClientMessage(playerid, Naranja, "Ahora estбs enganchado al crack, consume un gramo cada hora para no sufrir sus efectos.");
                SaveValue(playerid, "Abstinencia", PlayerInfo[playerid][pAbstinencia]);
            }
            if(PlayerInfo[playerid][pTmpConsumos][2] == 5)
            {
                SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso morir. Espera 20 minutos para no correr riesgos.");
            }
            else if(PlayerInfo[playerid][pTmpConsumos][2] > 5)
            {
                new probabilidad = random(100);
                if(probabilidad > 60)
                {
                    SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs desmayarte. Espera 20 minutos para no correr riesgos.");
                }
                else if(probabilidad > 100)
                {
                    GM_SetPlayerHealth(playerid, 0);
                    SendClientMessage(playerid, Rojo, "* Te has desmayado por sobredosis. (-1Exp)");
                    PlayerInfo[playerid][pRespeto] -= 2;
                    ComprobarNivel(playerid);
                }
            }
        return 1;
    }
Saludos.
Reply
#3

no me sirvio
Reply
#4

Comprobб si tenes el return correspondiente al terminar el comando ( antes del ъltimo } del comando. )
Reply
#5

dejo el script entero, es algo largo pero es basicamente todo lo mismo

Код:
	if(strcmp(cmd, "/consumir", true) == 0)
	{
		tmp = strtokex(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, Blanco, "USO: /consumir [Crack/Cocaina/Marihuana]");
			return 1;
		}
		
		if(strcmp(tmp, "Crack", true) == 0)
		{
			if(PlayerInfo[playerid][pDrogaP][2] == 0) { SendClientMessage(playerid, Rojo, "* No tienes crack."); return 1; }
			PlayerInfo[playerid][pDrogaP][2] -= 1;
			PlayerInfo[playerid][pConsumos][2] ++;
			PlayerInfo[playerid][pTmpConsumos][2] ++;
			format(string,sizeof(string),"* Has consumido 1 gramo de crack. (%d/15)", PlayerInfo[playerid][pConsumos][2]);
			SendClientMessage(playerid, Amarillo, string);
			SetTimerEx("ResetConsumos", 1200000, 0, "i", playerid);
			ApplyAnimation(playerid,"CRACK","crckidle1",4.1,1,1,1,1,1);
			TogglePlayerControllable(playerid, 0);
			SetTimerEx("Descongelar", 120000 , 0, "i", playerid);
			Consumo(playerid, 1);
			if(PlayerInfo[playerid][pAbstinencia] == 2)
			{
				PlayerInfo[playerid][pAbstinencia] = 1;
				SaveValue(playerid, "Abstinencia", PlayerInfo[playerid][pAbstinencia]);
			}
			if(PlayerInfo[playerid][pConsumos][2] == 15)
			{
				PlayerInfo[playerid][pRespeto] += 1;
				ComprobarNivel(playerid);
				PlayerInfo[playerid][pConsumos][2] = 0;
			}
			else if(PlayerInfo[playerid][pConsumos][2] == 10 && PlayerInfo[playerid][pAbstinencia] == 0)
			{
				PlayerInfo[playerid][pAbstinencia] = 2;
				SendClientMessage(playerid, Naranja, "Ahora estбs enganchado al crack, consume un gramo cada hora para no sufrir sus efectos.");
				SaveValue(playerid, "Abstinencia", PlayerInfo[playerid][pAbstinencia]);
			}
			if(PlayerInfo[playerid][pTmpConsumos][2] == 5)
			{
				SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso morir. Espera 20 minutos para no correr riesgos.");
			}
			else if(PlayerInfo[playerid][pTmpConsumos][2] > 5)
			{
				new probabilidad = random(100);
				if(probabilidad > 49)
				{
					SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs desmayarte. Espera 20 minutos para no correr riesgos.");
				}
				else if(probabilidad < 50)
				{
					GM_SetPlayerHealth(playerid, 0);
					SendClientMessage(playerid, Rojo, "* Te has desmayado por sobredosis. (-1Exp)");
					PlayerInfo[playerid][pRespeto] -= 2;
					ComprobarNivel(playerid);
				}
			}
		}
		else if(strcmp(tmp, "Cocaina", true) == 0)
		{
			if(PlayerInfo[playerid][pDrogaP][1] == 0) { SendClientMessage(playerid, Rojo, "* No tienes cocaнna."); return 1; }
			PlayerInfo[playerid][pDrogaP][1] -= 1;
			PlayerInfo[playerid][pConsumos][1] ++;
			PlayerInfo[playerid][pTmpConsumos][1] ++;
			format(string,sizeof(string),"* Has consumido 1 gramo de cocaina. (%d/10)", PlayerInfo[playerid][pConsumos][1]);
			SendClientMessage(playerid, Amarillo, string);
			SetTimerEx("ResetConsumos", 1200000, 0, "i", playerid);
			Consumo(playerid, 2);
			if(PlayerInfo[playerid][pConsumos][1] == 10)
			{
				PlayerInfo[playerid][pRespeto] += 1;
				ComprobarNivel(playerid);
				PlayerInfo[playerid][pConsumos][1] = 0;
			}
			if(PlayerInfo[playerid][pTmpConsumos][1] == 5)
			{
				SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso morir. Espera 20 minutos para no correr riesgos.");
			}
			else if(PlayerInfo[playerid][pTmpConsumos][1] > 5)
			{
				new probabilidad = random(100);
				if(probabilidad > 49)
				{
					SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso desmayarte. Espera 20 minutos para no correr riesgos.");
				}
				else if(probabilidad < 50)
				{
					GM_SetPlayerHealth(playerid, 0);
					SendClientMessage(playerid, Rojo, "* Te has desmayado por sobredosis. (-1Exp)");
					PlayerInfo[playerid][pRespeto] -= 2;
					ComprobarNivel(playerid);
				}
			}
		}
		else if(strcmp(tmp, "Marihuana", true) == 0)
		{
			if(PlayerInfo[playerid][pDrogaP][0] == 0) { SendClientMessage(playerid, Rojo, "* No tienes marihuana."); return 1; }
			if(PlayerInfo[playerid][pEncendedor] == 0) { SendClientMessage(playerid, Rojo, "* No tienes mechero."); return 1; }
			PlayerInfo[playerid][pEncendedor]--;
			ApplyAnimation(playerid,"SMOKING","M_smk_in",4.0,0,1,1,1,1,1);
			SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
			PlayerInfo[playerid][pDrogaP][0] -= 1;
			PlayerInfo[playerid][pConsumos][0] ++;
			PlayerInfo[playerid][pTmpConsumos][0] ++;
			format(string,sizeof(string),"* Has consumido 1 gramo de marihuana. (%d/30)", PlayerInfo[playerid][pConsumos][0]);
			SendClientMessage(playerid, Amarillo, string);
			SetTimerEx("ResetConsumos", 1200000, 0, "i", playerid);
			Consumo(playerid, 3);
			if(PlayerInfo[playerid][pConsumos][0] == 30)
			{
				ComprobarNivel(playerid);
				PlayerInfo[playerid][pConsumos][0] = 0;
			}
			if(PlayerInfo[playerid][pTmpConsumos][0] == 5)
			{
				SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso morir. Espera 20 minutos para no correr riesgos.");
			}
			else if(PlayerInfo[playerid][pTmpConsumos][0] > 5)
			{
				new probabilidad = random(100);
				if(probabilidad > 49)
				{
					SendClientMessage(playerid, Rojo, "* Si sigues consumiendo podrбs enfermar e incluso desmayarte. Espera 20 minutos para no correr riesgos.");
				}
				else if(probabilidad < 50)
				{
					GM_SetPlayerHealth(playerid, 0);
					SendClientMessage(playerid, Rojo, "* Te has desmayado por sobredosis. (-1Exp)");
					PlayerInfo[playerid][pRespeto] -= 2;
					ComprobarNivel(playerid);
				}
			}
		}
		else
		{
			SendClientMessage(playerid, Blanco, "USO: /consumir [Crack/Cocaina/Marihuana]");
		}
		SaveValues(playerid, "Inventario");
		SaveValues(playerid, "Preparada");
		SaveValues(playerid, "Consumos");
		SaveValues(playerid, "TmpConsumos");
		return 1;
	}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)