15.01.2014, 18:17
Hay un pequeсo truco para cuando tengas este tipo de problemas y no puedas localizarlos.
Mira, sustituye el cуdigo que has posteado por este:
Cuando lo tengas, compнlalo, pruйbalo ingame y posteas el log del servidor de esa sesiуn. Es un truquito para localizar cuбl es la ъltima parte de cуdigo que se ejecuta antes de que el servidor falle
Mira, sustituye el cуdigo que has posteado por este:
pawn Код:
if(!strcmp(ItemName,"Pildora Pequeсa",true))
{
print("Parte 1");
if(DatosPJ[playerid][SPerk] == 8)
{
print("Parte 2");
new id = -1;
static Float:x,Float:y,Float:z;
foreach( new i:Player)
{
if(!IsPlayerConnected(i)) continue;
if(Equipo[i] == 2) continue;
GetPlayerPos(playerid,x,y,z);
if(!IsPlayerInRangeOfPoint(i,2.0,x,y,z)) continue;
if(i == playerid) continue;
id = i;
}
print("Parte 3");
if(id == -1) return SendClientMessage(playerid,blanco,"» "crojo"No estas cerca de un humano!");
new Float:health;
GetPlayerHealth(id,health);
if(health >= 100.0) return SendClientMessage(playerid,blanco,"* "crojo"Este jugador no necesita ayuda.");
print("Parte 4");
SetPlayerHealth(id,health+8.0);
format(string,sizeof string,""crosado"%s ha asistido a %s con una pildora pequela.",Nombre(playerid),Nombre(id));
MensajeCercano(playerid,blanco,string,20);
GetPlayerHealth(id,health);
if(health > 100.0) SetPlayerHealth(id,100.0);
print("Parte 5");
}
else
{
print("Parte 6");
RemoveItem(playerid,"Pildora Pequeсa",1);
format(string,sizeof string,""crosado"%s ha tomado una pildora pequeсa.",Nombre(playerid));
MensajeCercano(playerid,blanco,string,20);
print("Parte 7");
new Float:health;
GetPlayerHealth(playerid,health);
if(DatosPJ[playerid][SPerk] != 2) SetPlayerHealth(playerid,health+3.0);
else SetPlayerHealth(playerid,health+8.0);
print("Parte 8");
}
print("Parte 9");
}