21.04.2016, 12:15
Hello, i'm facing some weird bugs in my server, when someone shoots or aim to someone, the camera position changes itself to some other random postion, for example; someone is standing next to me and when i shoot the guy who's standing next to me, the camera itself changes its position.
and OnPlayerDeath is also bugged when i kill someone, he gets killed twice or even thrice.
and OnPlayerDeath is also bugged when i kill someone, he gets killed twice or even thrice.
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
for(new x=0; x<MAX_PLAYERS; x++)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && spectatorid[x] == playerid)
{
AdvanceSpectate(x);
}
}
UsedB[playerid] = 0;
if(Event[playerid] == 0 && g_IsPlayerDueling[playerid] == 0)
{
//DropPlayerWeapons(playerid);
if(killerid != INVALID_PLAYER_ID)
{
if(gotheadshot[playerid] == 0)
{
TogglePlayerSpectating(playerid, true);
PlayerSpectatePlayer(playerid, killerid, 1);
isspec[playerid] = 1;
TextDrawShowForPlayer(playerid, spectext);
spectimer[playerid] = SetTimerEx("StopSpec", 5000, false, "i", playerid);
}
else if(gotheadshot[playerid] == 1) { gotheadshot[playerid] = 0; }
}
}
if(killerid == INVALID_PLAYER_ID)
{
if(g_IsPlayerDueling[playerid] == 1)
{
if(playerid == g_DuelingID1) { }
else
{
new sString[250];
format(sString, sizeof(sString), "[DUEL] "COL_WHITE"%s won the duel against %s.", PlayerName(g_DuelingID1), PlayerName(playerid));
SendClientMessageToAll(COLOR_BLUE, sString);
g_GotInvitedToDuel[playerid] = 0;
g_HasInvitedToDuel[playerid] = 0;
g_IsPlayerDueling[playerid] = 0;
g_GotInvitedToDuel[g_DuelingID1] = 0;
g_HasInvitedToDuel[g_DuelingID1] = 0;
g_IsPlayerDueling[g_DuelingID1] = 0;
g_DuelInProgress = 0;
SetPlayerTeam(playerid, beforeduelteam[playerid]);
SetPlayerTeam(g_DuelingID1, beforeduelteam[g_DuelingID1]);
ResetPlayerWeapons(g_DuelingID1);
SpawnPlayer(g_DuelingID1);
g_DuelingID1 = -1;
g_DuelingID2 = -1;
}
if(playerid == g_DuelingID2) { }
else
{
new sString[250];
format(sString, sizeof(sString), "[DUEL] "COL_WHITE"%s won the duel against %s.", PlayerName(g_DuelingID2), PlayerName(playerid));
SendClientMessageToAll(COLOR_BLUE, sString);
g_GotInvitedToDuel[playerid] = 0;
g_HasInvitedToDuel[playerid] = 0;
g_IsPlayerDueling[playerid] = 0;
g_GotInvitedToDuel[g_DuelingID2] = 0;
g_HasInvitedToDuel[g_DuelingID2] = 0;
g_IsPlayerDueling[g_DuelingID2] = 0;
g_DuelInProgress = 0;
SetPlayerTeam(playerid, beforeduelteam[playerid]);
SetPlayerTeam(g_DuelingID2, beforeduelteam[g_DuelingID2]);
ResetPlayerWeapons(g_DuelingID2);
SpawnPlayer(g_DuelingID2);
g_DuelingID1 = -1;
g_DuelingID2 = -1;
}
}
}
if(killerid != INVALID_PLAYER_ID)
{
if(g_IsPlayerDueling[playerid] == 1 && g_IsPlayerDueling[killerid] == 1)
{
new Float:Health, Float:Armor, sString[250];
GetPlayerHealth(killerid, Health);
GetPlayerArmour(killerid, Armor);
format(sString, sizeof(sString), "[DUEL] "COL_WHITE"%s won the duel against %s "COL_WHITE"and has %.2f health and %.2f armor left!", PlayerName(killerid), PlayerName(playerid), Health, Armor);
SendClientMessageToAll(COLOR_BLUE, sString);
g_GotInvitedToDuel[playerid] = 0;
g_HasInvitedToDuel[playerid] = 0;
g_IsPlayerDueling[playerid] = 0;
g_GotInvitedToDuel[killerid] = 0;
g_HasInvitedToDuel[killerid] = 0;
g_IsPlayerDueling[killerid] = 0;
SetPlayerTeam(playerid, beforeduelteam[playerid]);
SetPlayerTeam(killerid, beforeduelteam[killerid]);
g_DuelInProgress = 0;
g_DuelingID1 = -1;
g_DuelingID2 = -1;
ResetPlayerWeapons(killerid);
SpawnPlayer(killerid);
}
else if(g_IsPlayerDueling[playerid] == 1 && g_IsPlayerDueling[killerid] != 1)
{
if(playerid == g_DuelingID1) { }
else
{
new sString[250];
format(sString, sizeof(sString), "[DUEL] "COL_WHITE"%s won the duel against %s.", PlayerName(g_DuelingID1), PlayerName(playerid));
SendClientMessageToAll(COLOR_BLUE, sString);
g_GotInvitedToDuel[playerid] = 0;
g_HasInvitedToDuel[playerid] = 0;
g_IsPlayerDueling[playerid] = 0;
g_GotInvitedToDuel[g_DuelingID1] = 0;
g_HasInvitedToDuel[g_DuelingID1] = 0;
g_IsPlayerDueling[g_DuelingID1] = 0;
g_DuelInProgress = 0;
SetPlayerTeam(playerid, beforeduelteam[playerid]);
SetPlayerTeam(g_DuelingID1, beforeduelteam[g_DuelingID1]);
ResetPlayerWeapons(g_DuelingID1);
SpawnPlayer(g_DuelingID1);
g_DuelingID1 = -1;
g_DuelingID2 = -1;
}
if(playerid == g_DuelingID2) { }
else
{
new sString[250];
format(sString, sizeof(sString), "[DUEL] "COL_WHITE"%s won the duel against %s.", PlayerName(g_DuelingID2), PlayerName(playerid));
SendClientMessageToAll(COLOR_BLUE, sString);
g_GotInvitedToDuel[playerid] = 0;
g_HasInvitedToDuel[playerid] = 0;
g_IsPlayerDueling[playerid] = 0;
g_GotInvitedToDuel[g_DuelingID2] = 0;
g_HasInvitedToDuel[g_DuelingID2] = 0;
g_IsPlayerDueling[g_DuelingID2] = 0;
g_DuelInProgress = 0;
SetPlayerTeam(playerid, beforeduelteam[playerid]);
SetPlayerTeam(g_DuelingID2, beforeduelteam[g_DuelingID2]);
ResetPlayerWeapons(g_DuelingID2);
SpawnPlayer(g_DuelingID2);
g_DuelingID1 = -1;
g_DuelingID2 = -1;
}
}
}
if(Event[playerid])
{
new string[128], reasonMsg[32];
if(killerid!=INVALID_PLAYER_ID)
{
switch (reason)
{
case 0: { reasonMsg = "Unarmed"; }
case 1: { reasonMsg = "Brass Knuckles"; }
case 2: { reasonMsg = "Golf Club"; }
case 3: { reasonMsg = "Night Stick"; }
case 4: { reasonMsg = "Knife"; }
case 5: { reasonMsg = "Baseball Bat"; }
case 6: { reasonMsg = "Shovel"; }
case 7: { reasonMsg = "Pool Cue"; }
case 8: { reasonMsg = "Katana"; }
case 9: { reasonMsg = "Chainsaw"; }
case 10: { reasonMsg = "Dildo"; }
case 11: { reasonMsg = "Dildo"; }
case 12: { reasonMsg = "Vibrator"; }
case 13: { reasonMsg = "Vibrator"; }
case 14: { reasonMsg = "Flowers"; }
case 15: { reasonMsg = "Cane"; }
case 22: { reasonMsg = "Pistol"; }
case 23: { reasonMsg = "Silenced Pistol"; }
case 24: { reasonMsg = "Desert Eagle"; }
case 25: { reasonMsg = "Shotgun"; }
case 26: { reasonMsg = "Sawn-off Shotgun"; }
case 27: { reasonMsg = "Combat Shotgun"; }
case 28: { reasonMsg = "MAC-10"; }
case 29: { reasonMsg = "MP5"; }
case 30: { reasonMsg = "AK-47"; }
case 31:
{
if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
switch (GetVehicleModel(GetPlayerVehicleID(killerid)))
{
case 447: { reasonMsg = "Sea Sparrow Machine Gun"; }
default: { reasonMsg = "M4"; }
}
}
else
{
reasonMsg = "M4";
}
}
case 32: { reasonMsg = "TEC-9"; }
case 33: { reasonMsg = "Rifle"; }
case 34: { reasonMsg = "Sniper Rifle"; }
case 37: { reasonMsg = "Fire"; }
case 38:
{
if (GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
switch (GetVehicleModel(GetPlayerVehicleID(killerid)))
{
case 425: { reasonMsg = "Hunter Machine Gun"; }
default: { reasonMsg = "Minigun"; }
}
}
else { reasonMsg = "Minigun"; }
}
case 41: { reasonMsg = "Spraycan"; }
case 42: { reasonMsg = "Fire Extinguisher"; }
case 49: { reasonMsg = "Vehicle Collision"; }
case 50:
{
if (GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
switch (GetVehicleModel(GetPlayerVehicleID(killerid)))
{
case 417, 425, 447, 465, 469, 487, 488, 497, 501, 548, 563: { reasonMsg = "Helicopter Blades"; }
default: { reasonMsg = "Vehicle Collision"; }
}
}
else { reasonMsg = "Vehicle Collision"; }
}
case 51:
{
if (GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
switch (GetVehicleModel(GetPlayerVehicleID(killerid)))
{
case 425: { reasonMsg = "Hunter Rockets"; }
case 432: { reasonMsg = "Rhino Turret"; }
case 520: { reasonMsg = "Hydra Rockets"; }
default: { reasonMsg = "Explosion"; }
}
}
else { reasonMsg = "Explosion"; }
}
default: { reasonMsg = "Unknown"; }
}
format(string, sizeof(string), "[EVENT] %s killed %s. (%s)", PlayerName(killerid), PlayerName(playerid), reasonMsg);
}
else
{
switch (reason)
{
case 53:
{
format(string, sizeof(string), "[EVENT] %s died. (Drowned)", PlayerName(playerid));
}
case 54:
{
format(string, sizeof(string), "[EVENT] %s died. (Collision)", PlayerName(playerid));
}
default:
{
format(string, sizeof(string), "[EVENT] %s died.", PlayerName(playerid));
}
}
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Event[i] && IsPlayerConnected(i)) SendClientMessage(i, COLOR_YELLOW, string);
}
Event[playerid] = 0;
SetPlayerTeam(playerid, getteam[playerid]);
SetPlayerSkin(playerid, getskin[playerid]);
TogglePlayerControllable(playerid, 1);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+1);
SetPlayerToTeamColour(playerid);
}
new died[128], Float:x, Float:y, Float:z;
SendDeathMessage(killerid, playerid, reason);
if(OnHellJumper[playerid] == 1)
{
OnHellJumper[playerid] = 0;
Delete3DTextLabel(helljumpertext3d[playerid]);
if(killerid != INVALID_PLAYER_ID)
{
format(died,sizeof(died),"%s has Been killed by %s, while he was in Hell Jumper",PlayerName(playerid),PlayerName(killerid));
SendClientMessageToAll(COLOR_RED,died);
GivePlayerScore(killerid, 4);
GivePlayerCash(killerid, 400);
}
return 1;
}
if(OnAirstrike[playerid] == 1)
{
OnAirstrike[playerid] = 0;
Delete3DTextLabel(airstriketext3d[playerid]);
if(killerid != INVALID_PLAYER_ID)
{
format(died,sizeof(died),"%s has Been killed by %s, while he was in Air Strike",PlayerName(playerid),PlayerName(killerid));
SendClientMessageToAll(COLOR_RED,died);
GivePlayerScore(killerid, 4);
GivePlayerCash(killerid, 400);
}
return 1;
}
if(IsPlayerZombie[playerid] == 1)
{
SetPlayerHealth(playerid, 100);
SetPlayerToClassWeapons(playerid);
SetPlayerTeam(playerid, zgetpteam[playerid]);
SetPlayerSkin(playerid, zoskin[playerid]);
SetPlayerToTeamColour(playerid);
IsPlayerZombie[playerid] = 0;
Delete3DTextLabel(zombie3d[playerid]);
TogglePlayerControllable(playerid, 1);
return 1;
}
if((GetTickCount()-GetPVarInt(playerid, "deathtime")) < 1000)
{
SetPVarInt(playerid, "deathspam", GetPVarInt(playerid, "deathspam")+1);
if(GetPVarInt(playerid, "deathspam") >= 3)
{
new string128[300];
SendClientMessage(playerid, COLOR_RED, "[ANTI CHEAT]: You have been kicked (Reason: Fake Kill Detected)");
format(string128,sizeof(string128),"[ANTI CHEAT]: %s has been kicked (Reason: Fake Kill Detected)", PlayerName(playerid));
SendClientMessageToAll(COLOR_RED, string128);
return Kick(playerid);
}
}
StopAudioStreamForPlayer(playerid);
if(KillerStreak[playerid] >= 3)
{
if(killerid != INVALID_PLAYER_ID)
{
new str5[300];
format(str5, sizeof(str5), "%s has ended %s's killing spree!", PlayerName(killerid), PlayerName(playerid));
SendClientMessage(playerid,COLOR_GREEN,"Killing spree ended!");
new str1[300];
format(str1, sizeof(str1), "You got +2 score for ending %s's killing spree.", PlayerName(playerid));
SendClientMessage(killerid,COLOR_GREEN,str1);
GivePlayerScore(killerid, 2);
SendClientMessage(playerid, COLOR_GREEN, str5);
}
}
SetPVarInt(playerid, "deathtime", GetTickCount());
hidden[playerid] = 0;
SavePlayerStats(playerid);
KillerStreak[playerid] = 0;
PlayerInfo[playerid][pDeaths] ++;
GetPlayerPos(playerid, x, y, z);
KillTimer(CountTime[playerid]);
if(helm[playerid] == 1)
{
RemovePlayerAttachedObject(playerid, 3);
helm[playerid] = 0;
}
for(new all = 0; all < 4; all ++) { TextDrawHideForPlayer(playerid, ZoneTextdraw[all][playerid]); }
UsedC[playerid] = 0;
isc4attach[playerid] = 0;
if(killerid != INVALID_PLAYER_ID)
{
if(OnHellJumper[killerid] == 1)
{
GameTextForPlayer(killerid, "~r~HellJumper Kill~n~~w~Good Work~g~~n~500$ And 4 Scores", 4000, 4);
GivePlayerScore(killerid, 3);
return 1;
}
if(OnAirstrike[killerid] == 1)
{
GameTextForPlayer(killerid, "~r~AriStrike Kill~n~~w~Good Work~g~~n~500$ And 4 Scores", 4000, 4);
GivePlayerScore(killerid, 3);
return 1;
}
if(reason == 50)
{
new string5[300];
format(string5, sizeof(string5), "%s(%d) has been killed for heli blade.", PlayerName(killerid), killerid);
SendClientMessageToAll(COLOR_RED,string5);
SetPlayerHealth(killerid,0);
return 1;
}
if(GetPlayerTeam(killerid) == TEAM_TERRORIST) { TerrorKills++; }
if(GetPlayerTeam(killerid) == TEAM_COPS) { CopsKills++; }
new tmpstr[50];
format(tmpstr,sizeof(tmpstr),"~b~Cops: ~w~%d ~r~Terrorist: ~w~%d",CopsKills,TerrorKills);
TextDrawSetString(Counter,tmpstr);
if(CopsKills >= 100)
{
TextDrawSetString(Counter, "~b~Cops: ~w~0 ~r~Terrorist: ~w~0");
CopsKills = 0;
TerrorKills = 0;
new CopsWon[144] = "[Round] "COL_WHITE"Team "COL_RED"Cops "COL_WHITE"has won this round!, 4 Scores and 5,000$ has been given to team "COL_RED"Cops "COL_WHITE".";
SendClientMessageToAll(COLOR_LIME, CopsWon);
GiveScoreToTeam(TEAM_COPS, 4);
GiveCashToTeam(TEAM_COPS, 5000);
}
if(TerrorKills >= 100)
{
TextDrawSetString(Counter, "~b~Cops: ~w~0 ~r~Terrorist: ~w~0");
CopsKills = 0;
TerrorKills = 0;
new TerrorWon[144] = "[Round] "COL_WHITE"Team "COL_RED"Terrorist "COL_WHITE"has won this round!, 4 Scores and 5,000$ has been given to team "COL_RED"Terrorist "COL_WHITE".";
SendClientMessageToAll(COLOR_LIME, TerrorWon);
GiveScoreToTeam(TEAM_COPS, 4);
GiveCashToTeam(TEAM_COPS, 5000);
}
new string[300];
TextDrawShowForPlayer(killerid, KillerTextdraw[killerid]);
TextDrawShowForPlayer(killerid, KillerTextdraw1[killerid]);
TextDrawShowForPlayer(killerid, KillerTextdraw2[killerid]);
SavePlayerStats(killerid);
SetTimerEx("RemoveTextDraw", 3000, false,"i", killerid);
GivePlayerScore(killerid, 1);
GivePlayerCash(killerid, 100);
PlayerInfo[killerid][pKills]++;
KillerStreak[killerid] ++;
if(KillerStreak[killerid] > PlayerInfo[killerid][pHighStreak]) { PlayerInfo[killerid][pHighStreak] = KillerStreak[killerid]; }
if(KillerStreak[killerid] == 3)
{
GivePlayerCash(killerid, 1500);
GivePlayerScore(killerid, 2);
PlayerInfo[playerid][pCookies] += 1;
format(string,sizeof(string),"%s has a killing spree (3 kills) (Reward: 1,500 + 2 Score + 1 Cookie)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
PlayAudioStreamForPlayer(killerid,"http://portaldota.tempsite.ws/downloads/downloads/megakill.mp3");
}
if(KillerStreak[killerid] == 5)
{
GivePlayerCash(killerid, 2500);
GivePlayerScore(killerid, 3);
PlayerInfo[playerid][pCookies] += 2;
format(string,sizeof(string),"%s has a killing spree (5 kills) (Reward: 2,500$ + 3 Score + 2 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
PlayAudioStreamForPlayer(killerid,"http://portaldota.tempsite.ws/downloads/downloads/monsterkill.mp3");
}
if(KillerStreak[killerid] == 10)
{
GivePlayerCash(killerid, 5000);
GivePlayerScore(killerid, 4);
PlayerInfo[playerid][pCookies] += 3;
format(string,sizeof(string),"%s has a killing spree (10 kills) (Reward: 5,000$ + 4 Score + 3 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
PlayAudioStreamForPlayer(killerid,"http://www.ti69.com/audio/ultra-kill.mp3");
}
if(KillerStreak[killerid] == 15)
{
GivePlayerCash(killerid, 7500);
GivePlayerScore(killerid, 6);
PlayerInfo[playerid][pCookies] += 4;
format(string,sizeof(string),"%s has a killing spree (15 kills) (Reward: 7,500$ + 6 Score + 4 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
}
if(KillerStreak[killerid] == 20)
{
GivePlayerCash(killerid, 12500);
GivePlayerScore(killerid, 10);
PlayerInfo[playerid][pCookies] += 5;
format(string,sizeof(string),"%s has a killing spree (20 kills) (Reward: 12,500$ + 10 Score + 5 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
}
if(KillerStreak[killerid] == 25)
{
GivePlayerCash(killerid, 20000);
GivePlayerScore(killerid, 15);
PlayerInfo[playerid][pCookies] += 6;
format(string,sizeof(string),"%s has a killing spree (25 kills) (Reward: 20,000$ + 15 Score + 6 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
}
if(KillerStreak[killerid] == 50)
{
GivePlayerCash(killerid, 50000);
GivePlayerScore(killerid, 20);
PlayerInfo[playerid][pCookies] += 7;
format(string,sizeof(string),"%s has a killing spree (50 kills) (Reward: 50,000$ + 20 Score + 7 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
}
if(KillerStreak[killerid] == 100)
{
GivePlayerCash(killerid, 100000);
GivePlayerScore(killerid, 20);
PlayerInfo[playerid][pCookies] += 8;
format(string,sizeof(string),"%s has a killing spree (100 kills) (Reward: 1,00,000$ + 20 Score + 8 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
}
if(KillerStreak[killerid] == 200)
{
GivePlayerCash(killerid, 200000);
GivePlayerScore(killerid, 40);
PlayerInfo[playerid][pCookies] += 9;
format(string,sizeof(string),"%s has a killing spree (200 kills) (Reward: 2,00,000$ + 40 Score + 9 Cookies)",PlayerName(killerid));
SendClientMessageToAll(COLOR_LIME,string);
}
}
if(killerid != INVALID_PLAYER_ID)
{
if(IsPlayerInArea(killerid, -371.09375, 2582.03125, -121.09375,2851.5625))
{
if(GetPlayerTeam(playerid) == TEAM_TERRORIST)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 447)
{
SetPlayerHealth(killerid,0);
GameTextForPlayer(killerid,"~r~Base Rape Is Not Allowed", 3000, 3);
}
}
}
}
}
if(killerid != INVALID_PLAYER_ID)
{
if(IsPlayerInArea(killerid, 23.4375, 1804.6875, 333.984375, 2009.765625) || IsPlayerInArea(killerid, 263.671875, 2009.765625, 316.40625, 2050.78125))
{
if(GetPlayerTeam(playerid) == TEAM_COPS)
{
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) == 432 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 425 || GetVehicleModel(GetPlayerVehicleID(killerid)) == 447)
{
SetPlayerHealth(killerid,0);
GameTextForPlayer(killerid,"~r~Base Rape Is Not Allowed", 3000, 3);
}
}
}
}
}
new string11[200];
if(killerid != INVALID_PLAYER_ID)
{
if(BountyOnHead[playerid] == 1)
{
format(string11, sizeof(string11), "%s just killed %s for a bounty total of: %s", PlayerName(killerid), PlayerName(playerid), ConvertPrice(BountyAmount[playerid]));
SendClientMessageToAll(COLOR_RED, string11);
GivePlayerCash(killerid, BountyAmount[playerid]);
BountyOnHead[playerid] = 0;
BountyAmount[playerid] = 0;
BountySet[playerid] = "No-one";
Delete3DTextLabel(bounty3d[playerid]);
}
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(playerid != INVALID_PLAYER_ID && killerid != INVALID_PLAYER_ID)
{
if(assistkill[i] == playerid && i != killerid && assist[i][playerid] >= 70)
{
new string50[300];
format(string50, sizeof(string50), "[Assist] 500$ for assisting %s(%d) in killing %s(%d) (%.2f)", PlayerName(killerid), killerid, PlayerName(playerid), playerid, assist[i][playerid]);
SendClientMessage(i, COLOR_LIME, string50);
GivePlayerCash(i, 500);
assistkill[i] = INVALID_PLAYER_ID;
assist[i][playerid] = 0.0;
}
}
}
return 1;
}