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); }