30.07.2014, 13:14
Hello, my server keep crash due this reasons after debuging:
The command freeze:
What is the reason?
Код:
[01:21:08] [debug] Run time error 5: "Invalid memory access" [01:21:08] [debug] AMX backtrace: [01:21:08] [debug] #0 000199d4 in public cmd_freeze (playerid=36, params[]=@0x0019d544 "66") at C:\Users\MaHdy\Desktop\SPA Orginal Build 2\filterscripts\DAdmin6.pwn:1449 [01:21:08] [debug] #1 native CallLocalFunction () [080dcc00] from samp03svr [01:21:08] [debug] #2 00000800 in public OnPlayerCommandText (playerid=36, cmdtext[]=@0x0019d518 "/freeze 36") at C:\Users\MaHdy\Desktop\SPA Orginal Build 2\pawno\include\ZCMD.inc:111 [01:21:10] [death] [GEC]TheCubeMaster died 255
Код:
CMD:freeze(playerid,params[])
{
if(pInfo[playerid][Admin] >= 2 || IsPlayerAdmin(playerid))
{
new player1 = strval(params);
new string[256],time = strval(params);
if(!sscanf(params,"u",player1))
{
if(pInfo[player1][Freeze] == 1)return DError(playerid,"Player is already Freezed");
if(sscanf(params[1],"i",time))
{
if(sscanf(params[1],"c",params))
{
format(string,sizeof(string),"Administrator %s Has Frozen %s.Reason: Not Specified",pName(playerid),pName(player1));
SendClientMessageToAll(Red,string);
}
else
{
format(string,sizeof(string),"Administrator %s Has Frozen %s.Reason: %s",pName(playerid),pName(player1),params[2]);
SendClientMessageToAll(Red,string);
}
format(string,sizeof(string),"UPDATE `Users` SET Freezed = 1,FreezeTimer = 0 WHERE Name = '%s'",pName(player1));
mysql_query(string);
}
else
{
if(sscanf(params[1],"c",params))
{
format(string,sizeof(string),"Administrator %s Has Frozen %s.Reason: Not Specified.Time: %d Minutes",pName(playerid),pName(player1),time);
SendClientMessageToAll(Red,string);
}
else
{
if(time > 9 && time < 100)
{
pInfo[player1][MuteReason] = params[4];
format(string,sizeof(string),"Administrator %s Has Frozen %s Reason: %s.Time: %d Minutes",pName(playerid),pName(player1),params[4],time);
SendClientMessageToAll(Red,string);
}
if(time > 99 && time < 1000)
{
pInfo[player1][MuteReason] = params[5];
format(string,sizeof(string),"Administrator %s Has Frozen %s Reason: %s Time: %d Minutes",pName(playerid),pName(player1),params[5],time);
SendClientMessageToAll(Red,string);
}
if(time > 0 && time < 10)
{
pInfo[player1][MuteReason] = params[3];
format(string,sizeof(string),"Administrator %s Has Frozen %s Reason: %s Time: %d Minutes",pName(playerid),pName(player1),params[3],time);
SendClientMessageToAll(Red,string);
}
}
pInfo[player1][FreezeTimer] = SetTimerEx("UnFreezePlayer",time*60000,0,"d",player1);
pInfo[player1][FreezeTimerCounter] = SetTimerEx("UnFreezeCounter",1000,1,"d",player1);
pInfo[player1][FreezeTime] = time*60000;
format(string,sizeof(string),"UPDATE `Users` SET Freezed = 1,FreezeTimer = %d WHERE Name = '%s'",time*60000,pName(player1));
mysql_query(string);
}
TogglePlayerControllable(player1,false);
pInfo[player1][Freeze] = 1;
return 1;
}
else return DUsage(playerid,"/freeze [playerid] [time(Optional)] [reason(Optional)]");
}
else return LevelMSG(playerid,2);
}


