[Ayuda]Bug -
krauser - 12.02.2012
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);
}
}
}
Respuesta: [Ayuda]Bug -
LuisGraph - 12.02.2012
Aregale un
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.
Respuesta: [Ayuda]Bug -
krauser - 13.02.2012
no me sirvio
Respuesta: [Ayuda]Bug -
[J]ulian - 13.02.2012
Comprobб si tenes el return correspondiente al terminar el comando ( antes del ъltimo } del comando. )
Respuesta: [Ayuda]Bug -
krauser - 13.02.2012
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;
}