03.04.2016, 11:47
I Am Using CrashDetect Plugins And I Got Some Errors In The Server Log
Here is Errors
Please Help Me Fixing Both OnPlayerdeath And onplayertakedamage
Here is mine Onplayertakedamage
Here Is Mine Onplayerdeath
Here is Errors
Код:
[17:07:04] crashdetect v4.8.5 is OK. [17:09:26] [debug] Run time error 4: "Array index out of bounds" [17:09:26] [debug] Accessing element at index 65535 past array upper bound 999 [17:09:26] [debug] AMX backtrace: [17:09:26] [debug] #0 0005ec84 in public FC_OnPlayerDeath () from cod8aawv1.1.amx [17:09:26] [debug] #1 native CallLocalFunction () [00474110] from samp-server.exe [17:09:26] [debug] #2 00003984 in public OnPlayerDeath () from cod8aawv1.1.amx [17:09:50] [debug] Run time error 4: "Array index out of bounds" [17:09:50] [debug] Accessing element at index 65535 past array upper bound 999 [17:09:50] [debug] AMX backtrace: [17:09:50] [debug] #0 0005ee4c in public OnPlayerTakeDamage () from cod8aawv1.1.amx [17:10:24] [debug] Run time error 4: "Array index out of bounds" [17:10:24] [debug] Accessing element at index 65535 past array upper bound 999 [17:10:24] [debug] AMX backtrace: [17:10:24] [debug] #0 0005ee4c in public OnPlayerTakeDamage () from cod8aawv1.1.amx [17:10:41] [debug] Run time error 4: "Array index out of bounds" [17:10:41] [debug] Accessing element at index 65535 past array upper bound 999 [17:10:41] [debug] AMX backtrace: [17:10:41] [debug] #0 0005ee4c in public OnPlayerTakeDamage () from cod8aawv1.1.amx [17:10:41] [debug] Run time error 4: "Array index out of bounds" [17:10:41] [debug] Accessing element at index 65535 past array upper bound 999 [17:10:41] [debug] AMX backtrace: [17:10:41] [debug] #0 0005ec84 in public FC_OnPlayerDeath () from cod8aawv1.1.amx [17:10:41] [debug] #1 native CallLocalFunction () [00474110] from samp-server.exe [17:10:41] [debug] #2 00003984 in public OnPlayerDeath () from cod8aawv1.1.amx [17:10:41] [debug] Run time error 4: "Array index out of bounds" [17:10:41] [debug] Accessing element at index 65535 past array upper bound 999 [17:10:41] [debug] AMX backtrace: [17:10:41] [debug] #0 0005ee4c in public OnPlayerTakeDamage () from cod8aawv1.1.amx
Here is mine Onplayertakedamage
Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(gTeam[issuerid] == gTeam[playerid])
{
GameTextForPlayer(issuerid,"~r~Don't attack your team mates!", 3000, 3);
}
if(issuerid != INVALID_PLAYER_ID)
{
new str[26];
format(str, sizeof(str),"-%.0f", amount);
SetPlayerChatBubble(playerid, str, 0xFF0000FF, 100.0, 2000);
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
}
if(PlayerInfo[playerid][OnDuty] == 1 || PlayerInfo[playerid][God] == 1)
{
SetPlayerHealth(playerid, 1000.0);
GameTextForPlayer(issuerid,"~r~Don't attack admins on-duty!", 3000, 3);
}
return 1;
}
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(DuelActive == true)
{DuelActive = false;
if(killerid != INVALID_PLAYER_ID && killerid != playerid)
{new cName[32],tName[32],string[128];
GetPlayerName(playerid,cName,sizeof(cName));
GetPlayerName(killerid,tName,sizeof(tName));
format(string,sizeof(string),"%s(%i) has won the duel against %s(%i) and has been given $%i as the reward",tName,killerid,cName,playerid,WinningPrice);
SendClientMessageToAll(0xFF9900FF,string);
SetPlayerInterior(killerid,0);
SpawnPlayer(killerid);
GivePlayerMoney(killerid,WinningPrice);}
WinningPrice = 0;}
Update3DTextLabelText(RankLabel[playerid], 0xFFFFFFFF, " ");
if(Captured[playerid][SNAKE] == 0 && IsPlayerCapturing[playerid][SNAKE] == 1)
{
LeavingSnakeFarm(playerid);
}
if(Captured[playerid][BAY] == 0 && IsPlayerCapturing[playerid][BAY] == 1)
{
LeavingBay(playerid);
}
if(Captured[playerid][BIG] == 0 && IsPlayerCapturing[playerid][BIG] == 1)
{
LeavingEar(playerid);
}
if(Captured[playerid][ARMY] == 0 && IsPlayerCapturing[playerid][ARMY] == 1)
{
LeavingArmy(playerid);
}
if(Captured[playerid][PETROL] == 0 && IsPlayerCapturing[playerid][PETROL] == 1)
{
LeavingPetrol(playerid);
}
if(Captured[playerid][OIL] == 0 && IsPlayerCapturing[playerid][OIL] == 1)
{
LeavingOil(playerid);
}
if(Captured[playerid][DESERT] == 0 && IsPlayerCapturing[playerid][DESERT] == 1)
{
LeavingDesert(playerid);
}
if(Captured[playerid][QUARRY] == 0 && IsPlayerCapturing[playerid][QUARRY] == 1)
{
LeavingQuarry(playerid);
}
if(Captured[playerid][GUEST] == 0 && IsPlayerCapturing[playerid][GUEST] == 1)
{
LeavingGuest(playerid);
}
if(Captured[playerid][EAR] == 0 && IsPlayerCapturing[playerid][EAR] == 1)
{
LeavingEar(playerid);
}
if(Captured[playerid][AIRPORT] == 0 && IsPlayerCapturing[playerid][AIRPORT] == 1)
{
LeavingAirport(playerid);
}
if(Captured[playerid][SHIP] == 0 && IsPlayerCapturing[playerid][SHIP] == 1)
{
LeavingShip(playerid);
}
if(Captured[playerid][GAS] == 0 && IsPlayerCapturing[playerid][GAS] == 1)
{
LeavingGas(playerid);
}
if(Captured[playerid][RES] == 0 && IsPlayerCapturing[playerid][RES] == 1)
{
LeavingRes(playerid);
}
/*if(Captured[playerid][NPP] == 0 && IsPlayerCapturing[playerid][NPP] == 1)
{
LeavingNuclear(playerid);
}*/
if(Captured[playerid][MOTEL] == 0 && IsPlayerCapturing[playerid][MOTEL] == 1)
{
LeavingMOTEL(playerid);
}
if(Captured[playerid][BATTLESHIP] == 0 && IsPlayerCapturing[playerid][BATTLESHIP] == 1)
{
LeavingBattleShip(playerid);
}
if(Captured[playerid][HOSPITAL] == 0 && IsPlayerCapturing[playerid][HOSPITAL] == 1)
{
LeavingHospital(playerid);
}
if(IsPlayerInArea(playerid, -353.515625,2574.21875,-113.28125,2796.875))
{
if(gTeam[playerid] == TEAM_USA)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
if(IsPlayerInArea(playerid, 994.1957, 1817.512, 1185.533, 2049.596))
{
if(gTeam[playerid] == TEAM_PAKISTAN)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
if(IsPlayerInArea(playerid, -1599.869, 2545.777, -1389.667, 2697.589))
{
if(gTeam[playerid] == TEAM_NEPAL)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
if(IsPlayerInArea(playerid, -309.375,1024.21875,103.125,1211.71875))
{
if(gTeam[playerid] == TEAM_CHINA)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
if(IsPlayerInArea(playerid, -875.8406, 1389.667, -607.2495, 1623.225))
{
if(gTeam[playerid] == TEAM_INDIA)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
if(IsPlayerInArea(playerid, -1628.90625,2513.671875,-1417.96875,2730.46875))
{
if(gTeam[playerid] == TEAM_DUBAI)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
if(IsPlayerInArea(playerid, 1007.8125,-1371.09375,1212.890625,-1201.171875))
{
if(gTeam[playerid] == TEAM_ML)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425)
{
SetPlayerHealth(killerid, 0.0);
new str[100];
format(str, sizeof(str),"%s has been killed for spawn killing!", PlayerName2(killerid));
SendClientMessageToAll(red, str);
}
}
}
}
SendDeathMessage(killerid, playerid, reason);
GivePlayerMoney(killerid, 256);
//---------
SendClientMessage(killerid, -1, "You killed your enemy. You got 256$ and {00FF22}+1 Score. {FFFFFF}You got some ammo for your current weapon");
new weaponid = GetPlayerWeapon(killerid);
switch(weaponid)
{
case 2 .. 15: GivePlayerWeapon(killerid, GetPlayerWeapon(killerid), 1);
case 16 .. 18: GivePlayerWeapon(killerid, GetPlayerWeapon(killerid), 1);
case 22 .. 32: GivePlayerWeapon(killerid, GetPlayerWeapon(killerid), 60);
case 35 .. 46: GivePlayerWeapon(killerid, GetPlayerWeapon(killerid), 1);
}
SetPlayerScore(killerid, GetPlayerScore(killerid) +1);
Streak[playerid] = 0;
if(killerid != INVALID_PLAYER_ID)
{
new text[128];
Streak[killerid] ++;
if(Streak[killerid] == 3)
{
format(text, sizeof(text), "%s is is on (3 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $1500 and +2 score! (killing spree bonus)");
GivePlayerMoney(playerid, 1500);
GivePlayerScore(playerid, 2);
}
if(Streak[killerid] == 5)
{
format(text, sizeof(text), "%s is is on (5 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $2500 and +3 score! (killing spree bonus)");
GivePlayerMoney(playerid, 2500);
GivePlayerScore(playerid, 3);
}
if(Streak[killerid] == 10)
{
format(text, sizeof(text), "%s is on (10 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $5000 and +4 score! (killing spree bonus)");
GivePlayerMoney(playerid, 5000);
GivePlayerScore(playerid, 4);
}
if(Streak[killerid] == 15)
{
format(text, sizeof(text), "%s is is on (15 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $7 500 and +6 score! (killing spree bonus)");
GivePlayerMoney(playerid, 7500);
GivePlayerScore(playerid, 6);
}
if(Streak[killerid] == 20)
{
format(text, sizeof(text), "%s is is on (20 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $12 500 and +10 score! (killing spree bonus)");
GivePlayerMoney(playerid, 12500);
GivePlayerScore(playerid, 10);
}
if(Streak[killerid] == 25)
{
format(text, sizeof(text), "%s is is on (25 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $20 000 and +15 score! (killing spree bonus)");
GivePlayerMoney(playerid, 20000);
GivePlayerScore(playerid, 15);
}
if(Streak[killerid] == 50)
{
format(text, sizeof(text), "%s is on (50 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $50 000 and +20 score! (killing spree bonus)");
GivePlayerMoney(playerid, 50000);
GivePlayerScore(playerid, 20);
}
if(Streak[killerid] == 100)
{
format(text, sizeof(text), "%s is on (100 killing spree)!", PlayerName2(killerid));
SendClientMessageToAll(orange, text);
SendClientMessage(killerid, lightblue, "You get $1 00 000 and +20 score! (killing spree bonus)");
GivePlayerMoney(playerid, 100000);
GivePlayerScore(playerid, 20);
}
}
Anti_heal[playerid] = 0;
Anti_Give[playerid] = 0;
PlayerInfo[playerid][Deaths] ++;
PlayerInfo[killerid][Kills] ++;
#if defined ENABLE_SPEC
for(new x=0; x<MAX_PLAYERS; x++)
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
AdvanceSpectate(x);
#endif
return 1;
}

