Здравствуйте продвинутые люди,
Выручайте ребят. Снова ошибки в логах, помогите пожалуйста.
[20:39:55] [kill] MinMax killed Wolf UZI
[20:40:16] [debug] Run time error 4: "Array index out of bounds"
[20:40:16] [debug] Attempted to read/write array element at index 65535 in array of size 120
[20:40:16] [debug] AMX backtrace:
[20:40:16] [debug] #0 00035a44 in public OnPlayerDeath (playerid=2, killerid=65535, reason=255) at C:\Users\Karen\Desktop\*\OBM\gamemodes\Obmalion.pwn:3520
[20:40:16] [death] MinMax died 255
[22:00:49] [debug] #0 00110158 in public OnPlayerCommandText (playerid=0, cmdtext[]=@00297560 "/asellbiz 2") at C:\Users\Karen\Desktop\*\OBM\gamemodes\Obmalion.pwn:15620
[22:01:03] [debug] Run time error 4: "Array index out of bounds"
[22:01:03] [debug] Attempted to read/write array element at index 155 in array of size 12
[22:01:03] [debug] AMX backtrace:
[22:01:03] [debug] #0 0010cc2c in public OnPlayerCommandText (playerid=0, cmdtext[]=@00297560 "/asellsbiz 2 ") at C:\Users\Karen\Desktop\*\OBM\gamemodes\Obmalion.pwn:15385
[20:42:22] [debug] #0 001571a8 in public OnPlayerCommandText (playerid=2, cmdtext[]=@00297560 "/goto 1]") at C:\Users\Karen\Desktop\*\OBM\gamemodes\Obmalion.pwn:19403
[21:35:44] [debug] Run time error 4: "Array index out of bounds"
[21:35:44] [debug] Attempted to read/write array element at index 65535 in array of size 120
[21:35:44] [debug] AMX backtrace:
[21:35:44] [debug] #0 00139ccc in public OnPlayerCommandText (playerid=2, cmdtext[]=@00297560 "/uninvite 7") at C:\Users\Karen\Desktop\*\OBM\gamemodes\Obmalion.pwn:18398
Строка 3520 (if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8))
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(GetPlayerWeapon(killerid) == 22) PlayerInfo[killerid][pKillColt] += 5;
if(GetPlayerWeapon(killerid) == 23) PlayerInfo[killerid][pKillSD] += 5;
if(GetPlayerWeapon(killerid) == 31) PlayerInfo[killerid][pKillM4] += 5; // 8 óáèéñòâ ÷òîáû ïîëó÷èòü îäèí ïðîöåíò
if(GetPlayerWeapon(killerid) == 25) PlayerInfo[killerid][pKillShotgun] += 5;
if(GetPlayerWeapon(killerid) == 29) PlayerInfo[killerid][pKillMP5] += 5;
if(GetPlayerWeapon(killerid) == 30) PlayerInfo[killerid][pKillAk47] += 5;
ServerResetPlayerWeaponsAC(playerid);
vZone[playerid] = 0;
TextDrawHideForPlayer(playerid,Anim[playerid]);
if(WarTimeSec > 0 && killerid != INVALID_PLAYER_ID)
{
if(FrakCD[PlayerInfo[playerid][pMember]])
{
if(captureteam[0] == PlayerInfo[killerid][pMember] && PlayerInfo[playerid][pMember] == captureteam[1])
{
CommandKill[0]++;
}
else if(captureteam[1] == PlayerInfo[killerid][pMember] && PlayerInfo[playerid][pMember] == captureteam[0])
{
CommandKill[1]++;
}
}
}
if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
{
PlayerInfo[playerid][pMaskuse] = 0;
ShowPlayerNameTagForPlayer(playerid, killerid, 1);
ServerResetPlayerWeaponsAC(playerid);
}
if(GetPVarInt(playerid,"Gruz") > 0)
{
DeletePVar(playerid,"Gruz");
DeletePVar(playerid,"MoneyGruz");
DisablePlayerCheckpoint(playerid);
}
Строка 15620
PHP код:
if(strcmp(cmd, "/asellbiz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GREY, "{FF3300}x{AFAFAF} Íåò ïðàâ íà èñïîëüçîâàíèå êîìàíäû.");
GetPlayerName(playerid, playername, sizeof(playername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD1, "Èñïîëüçîâàòü: /asellbiz [id áèçíåñà]");
new biz = strval(tmp);
new bouse = PlayerInfo[playerid][pPbiskey];
{
BizzInfo[biz][bLocked] = 1;
BizzInfo[biz][bOwned] = 0;
strmid(BizzInfo[biz][bOwner], "-", 0, strlen("-"), 255);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~w~ ‹‘ ŒPOƒA‡… €…ˆìEC");
GameTextForPlayer(playerid, string, 10000, 3);
BizzInfo[bouse][bTill] = 0;
OnPlayerSave(playerid);
UpdateBizz(bouse);
UpdateBizz(biz);
return 1;
}
}
}
Строка 19403
PHP код:
if(strcmp(cmd, "/goto", true) == 0)
{
new Float:PLOCX[3],tmpcar = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pHelper] < 1) return SendClientMessage(playerid, COLOR_GREY, "{FF3300}x{AFAFAF} Íåò ïðàâ íà èñïîëüçîâàíèå êîìàíäû.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD1, "Èñïîëüçóé: /goto [playerid]");
params[0] = ReturnUser(tmp);
if(!IsPlayerConnected(params[0])) SendClientMessage(playerid, COLOR_GREY, "{FF3300}x{AFAFAF} Èãðîê íå â èãðå.");
if(gPlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, "{FF3300}x{AFAFAF} Èãðîê íå àâòîðèçèðîâàí.");
GetPlayerPos(params[0], PLOCX[0], PLOCX[1], PLOCX[2]);
NaMP[playerid] = 0;
if(GetPlayerState(playerid) == 2) SetVehiclePos(tmpcar, PLOCX[0], PLOCX[1]+4, PLOCX[2]);
else
{
SetPlayerPos(playerid,PLOCX[0],PLOCX[1]+2, PLOCX[2]);
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(params[0]));
SetPlayerInterior(playerid, GetPlayerInterior(params[0]));
}
GetPlayerName(params[0], sendername, sizeof(sendername));
switch(PlayerInfo[playerid][pSex])
{
case 1: format(string, sizeof(string), "Òû òåëåïîðòèðîâàëñÿ ê èãðîêó %s", sendername);
case 2: format(string, sizeof(string), "Òû òåëåïîðòèðîâàëàñü ê èãðîêó %s", sendername);
}
SendClientMessage(playerid, COLOR_GRAD1, string);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(GainAdmin[i] == 1)
{
new admin[MAX_PLAYER_NAME];
GetPlayerName(playerid, admin,sizeof(admin));
GetPlayerName(params[0], sendername, sizeof(sendername));
switch(PlayerInfo[playerid][pSex])
{
case 1: format(string,sizeof(string),"Gain Admin: {FFFFFF}%s òåëåïîðòèðîâàëñÿ ê èãðîêó %s",admin,sendername);
case 2: format(string,sizeof(string),"Gain Admin: {FFFFFF}%s òåëåïîðòèðîâàëañü ê èãðîêó %s",admin,sendername);
}
SendClientMessage(i, COLOR_LIGHTRED, string);
}
}
}
return 1;
}
Строка 18398
PHP код:
if(strcmp(cmd, "/uninvite", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóé: /uninvite [playerid]");
new para1;
para1 = ReturnUser(tmp);
if(PlayerInfo[playerid][pLeader] != PlayerInfo[para1][pMember])
{
SendClientMessage(playerid, COLOR_GREY, "{FF3300}x{AFAFAF} Èãðîê äîëæåí íàõîäèòüñÿ â òâîåé ôðàêöèè.");
return 1;
}
if(PlayerInfo[playerid][pLeader] < 1) return SendClientMessage(playerid, COLOR_GREY, "{FF3300}x{AFAFAF} Òû íå ëèäåð.");
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pMember] > 0)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Òû óâîëèë(à) èãðîêà %s èç ñâîåé ôðàêöèè.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Òû óâîëåí(à) èç îðãàíèçàöèè ëèäåðîì %s", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SpawnPlayer(para1);
gTeam[para1] = 3;
PlayerInfo[para1][pTeam] = 3;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pFWarns] = 0;
if(PlayerInfo[para1][pSex] == 1) { PlayerInfo[para1][pChar] = 23; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 192; }
OnPlayerSave(playerid);
}
}
}
}
}
return 1;
}
Паблик OnPlayerDeath
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(GetPlayerWeapon(killerid) == 22) PlayerInfo[killerid][pKillColt] += 5;
if(GetPlayerWeapon(killerid) == 23) PlayerInfo[killerid][pKillSD] += 5;
if(GetPlayerWeapon(killerid) == 31) PlayerInfo[killerid][pKillM4] += 5; // 8 óáèéñòâ ÷òîáû ïîëó÷èòü îäèí ïðîöåíò
if(GetPlayerWeapon(killerid) == 25) PlayerInfo[killerid][pKillShotgun] += 5;
if(GetPlayerWeapon(killerid) == 29) PlayerInfo[killerid][pKillMP5] += 5;
if(GetPlayerWeapon(killerid) == 30) PlayerInfo[killerid][pKillAk47] += 5;
ServerResetPlayerWeaponsAC(playerid);
vZone[playerid] = 0;
TextDrawHideForPlayer(playerid,Anim[playerid]);
if(WarTimeSec > 0 && killerid != INVALID_PLAYER_ID)
{
if(FrakCD[PlayerInfo[playerid][pMember]])
{
if(captureteam[0] == PlayerInfo[killerid][pMember] && PlayerInfo[playerid][pMember] == captureteam[1])
{
CommandKill[0]++;
}
else if(captureteam[1] == PlayerInfo[killerid][pMember] && PlayerInfo[playerid][pMember] == captureteam[0])
{
CommandKill[1]++;
}
}
}
if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
{
PlayerInfo[playerid][pMaskuse] = 0;
ShowPlayerNameTagForPlayer(playerid, killerid, 1);
ServerResetPlayerWeaponsAC(playerid);
}
if(GetPVarInt(playerid,"Gruz") > 0)
{
DeletePVar(playerid,"Gruz");
DeletePVar(playerid,"MoneyGruz");
DisablePlayerCheckpoint(playerid);
}
if(zone228[playerid] == 1 || zone228[killerid] == 1)
{
new string[126];
GiveMoney(killerid, 100);
GiveMoney(playerid, -100);
PlayerInfo[killerid][pArena] += 1;
PlayerInfo[playerid][pArenaKill] += 1;
format(string, sizeof(string), "~g~$+%d", 100);
GameTextForPlayer(killerid, string, 200, 1);
format(string, sizeof(string), "~r~$-%d", 100);
GameTextForPlayer(playerid, string, 200, 1);
}
if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8 || zone228[killerid] == 1 || PlayerInfo[killerid][pJaileda] > 0 || PlayerInfo[killerid][pJailed] > 0 || PlayerInfo[killerid][pJailedlv] > 0)
{
ServerResetPlayerWeaponsAC(playerid);
}
else
{
SendDeathMessage(killerid, playerid, reason);
ServerResetPlayerWeaponsAC(playerid);
}
new name[MAX_PLAYER_NAME];
new Float:px,Float:py,Float:pz;
DisablePlayerCheckpoint(playerid);
Checkpoint[playerid] = 0;
SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
gPlayerSpawned[playerid] = 0;
GetPlayerName(playerid, name, sizeof(name));
PlayerInfo[playerid][pLocal] = 255;
GetPlayerPos(playerid, px, py, pz);
new string[256];
if(killerid != 255)
{
new kickname[MAX_PLAYER_NAME];
if(GetPlayerState(killerid) == 2)
{
if(ProxDetectorS(20, killerid, playerid))
{
if(!IsPlayerInAnyVehicle(playerid))
{
GetPlayerName(killerid, kickname, sizeof(kickname));
SendClientMessage(killerid, COLOR_YELLOW, "Òû íàðóøèë(à) ïðàâèëî ñåðâåðà: Óáèéñòâî èãðîêà èç òðàíñïîðòà.");
switch(PlayerInfo[playerid][pSex])
{
case 1: format(string, 256, "%s[%d] íàðóøèë ïðàâèëî ñåðâåðà: Óáèéñòâî èãðîêà èç òðàíñïîðòà.",kickname,killerid);
case 2: format(string, 256, "%s[%d] íàðóøèëà ïðàâèëî ñåðâåðà: Óáèéñòâî èãðîêà èç òðàíñïîðòà.",kickname,killerid);
}
SendAdminMessage(COLOR_YELLOW, string);
return 1;
}
}
}
}
if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
{
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
}
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(PlayerInfo[killerid][pLeader] == 8 || PlayerInfo[killerid][pMember] == 8)
{
if(GoChase[killerid] == playerid)
{
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
PlayerInfo[killerid][pMoney] += PlayerInfo[playerid][pHeadValue];
switch(PlayerInfo[playerid][pSex])
{
case 1: format(string,128,"Íà¸ìíûé óáèéöà %s âûïîëíèë êîíòðàêò íà %s è çàáðàë %d$.",killer,name,PlayerInfo[playerid][pHeadValue]);
case 2: format(string,128,"Íà¸ìíûé óáèéöà %s âûïîëíèëa êîíòðàêò íà %s è çàáðàëà %d$.",killer,name,PlayerInfo[playerid][pHeadValue]);
}
SendFamilyMessage(8, COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_GOLDEN, "Íè÷åãî ëè÷íîãî, ýòî ïðîñòî çàêàç.");
PlayerInfo[playerid][pHeadValue] = 0;
GotHit[playerid] = 0;
GetChased[playerid] = 999;
GoChase[killerid] = 999;
}
}
}
}
killerid = INVALID_PLAYER_ID;
SetPlayerToTeamColor(playerid);
ServerResetPlayerWeaponsAC(playerid);
NaCS[playerid] = 0;
return 1;
}
и немножко от ПабликаOnPlayerCommandText
PHP код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new specplayerid;
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new cmd[256];
new tmp[256];
new params[128];
new giveplayerid, moneys, idx;
sscanf(cmdtext, "s[32]s[128]", cmd, params);
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/czona", true) == 0)
{