public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid,bodypart) //Диалог выбора команды { if((gTeam[issuerid] == gTeam[playerid]) || (ANTISK[playerid] == 1)) { } else { if(bodypart == 9) { SendClientMessage(issuerid,COLOR_WHITE,"Ïîïàäàíèå â ãîëîâó!"); SetPlayerHealth(playerid, 0.0); InHead[playerid] += 1; } else { new Float:armor; GetPlayerArmour(playerid, armor); if(weaponid == 31){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -16);}else{GivePlayerHealth(playerid, -16);}} else if(weaponid == 30){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -21);}else{GivePlayerHealth(playerid, -21);}} else if((weaponid == 34)||(weaponid == 33)){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -73);}else{GivePlayerHealth(playerid, -73);}} else if((weaponid == 29)||(weaponid == 22)||(weaponid == 23)){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -13);}else{GivePlayerHealth(playerid, -13);}} else{} } PlayerPlaySound(issuerid, 17802, 0, 0, 0); } return 1; }
if(dialogid == DIALOG_TEAM) { if(response) { switch(listitem) { case 0: { new mag = PlayerInfo[playerid][pMaxAmmo]; if(Map == 0){SetSpawnInfo(playerid,0,287, -2626.8000500,2251.1001000,7.7000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else if(Map == 1){SetSpawnInfo(playerid,0,287, 2498.3000500,-2640.3999000,13.2000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else{SetSpawnInfo(playerid,0,287, 2403.6001000,-1402.4000200,23.600000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} gFG[playerid] = MP; gSG[playerid] = MM; SetPlayerTeam(playerid,0); if(Logged[playerid] == 1){} else{Logged[playerid] += 1;} gTeam[playerid] = gTeam[playerid] - gTeam[playerid]; SpawnPlayer(playerid); } case 1: { new mag = PlayerInfo[playerid][pMaxAmmo]; if(Map == 0){SetSpawnInfo(playerid,1,285, -2279.5000000,2288.3000500,4.5000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else if(Map == 1){SetSpawnInfo(playerid,1,285, 2744.8999000,-2444.8999000,13.200000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else{SetSpawnInfo(playerid,1,285, 2722.6999500,-1176.9000200,68.8000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} gFG[playerid] = MP; gSG[playerid] = MM; SetPlayerTeam(playerid,1); gTeam[playerid] = gTeam[playerid] - gTeam[playerid] +1; if(Logged[playerid] == 1){} else{Logged[playerid] += 1;} SpawnPlayer(playerid); } } } return 1; }
/* (ANTISK[playerid] == 1) - Как оно работает? */
if(gTeam[issuerid] != gTeam[playerid]))
{
if(bodypart == 9)
{
SendClientMessage(issuerid,COLOR_WHITE,"Ïîïàäàíèå â ãîëîâó!");
SetPlayerHealth(playerid, 0.0);
InHead[playerid] += 1;
}
else
{
new Float:armor;
GetPlayerArmour(playerid, armor);
if(weaponid == 31){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -16);}else{GivePlayerHealth(playerid, -16);}}
else if(weaponid == 30){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -21);}else{GivePlayerHealth(playerid, -21);}}
else if((weaponid == 34)||(weaponid == 33)){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -73);}else{GivePlayerHealth(playerid, -73);}}
else if((weaponid == 29)||(weaponid == 22)||(weaponid == 23)){if(armor >= 1 && armor <= 150){GivePlayerArmor(playerid, -13);}else{GivePlayerHealth(playerid, -13);}}
else{}
}
PlayerPlaySound(issuerid, 17802, 0, 0, 0);
/* Тут в чем проблема ? */
if(dialogid == DIALOG_TEAM)
{
if(response)
{
switch(listitem)
{
case 0:
{
new mag = PlayerInfo[playerid][pMaxAmmo];
if(Map == 0){SetSpawnInfo(playerid,0,287, -2626.8000500,2251.1001000,7.7000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);}
else if(Map == 1){SetSpawnInfo(playerid,0,287, 2498.3000500,-2640.3999000,13.2000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);}
else{SetSpawnInfo(playerid,0,287, 2403.6001000,-1402.4000200,23.600000, 2, 29, 30*mag, 22, 17*mag, 4, 1);}
gFG[playerid] = MP;
gSG[playerid] = MM;
SetPlayerTeam(playerid,0);
if(Logged[playerid] == 1){}
else{Logged[playerid] += 1;}
gTeam[playerid] = gTeam[playerid] - gTeam[playerid];
SpawnPlayer(playerid);
}
case 1:
{
new mag = PlayerInfo[playerid][pMaxAmmo];
if(Map == 0){SetSpawnInfo(playerid,1,285, -2279.5000000,2288.3000500,4.5000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);}
else if(Map == 1){SetSpawnInfo(playerid,1,285, 2744.8999000,-2444.8999000,13.200000, 2, 29, 30*mag, 22, 17*mag, 4, 1);}
else{SetSpawnInfo(playerid,1,285, 2722.6999500,-1176.9000200,68.8000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);}
gFG[playerid] = MP;
gSG[playerid] = MM;
SetPlayerTeam(playerid,1);
gTeam[playerid] = gTeam[playerid] - gTeam[playerid] +1;
if(Logged[playerid] == 1){}
else{Logged[playerid] += 1;}
SpawnPlayer(playerid);
}
}
}
return 1;
}
/* (ANTISK[playerid] == 1) - Как оно работает? */ |
/* Тут в чем проблема ? */ - и то что ниже |
if(gTeam[issuerid] != gTeam[playerid] || !ANTISK[playerid])
{
public OnPlayerDeath(playerid, killerid, reason) { SetTimerEx("OnED", 2500, false, "i", killerid); TextDrawShowForPlayer(killerid,ED); new mag = PlayerInfo[playerid][pMaxAmmo]; SendDeathMessage(killerid,playerid,reason); gFG[playerid] = MP; gSG[playerid] = MM; PlayerInfo[playerid][pDeaths1] = PlayerInfo[playerid][pDeaths1] + 1; PlayerInfo[killerid][pKills1] = PlayerInfo[killerid][pKills1] + 1; PlayerInfo[killerid][pPoints1] = PlayerInfo[killerid][pPoints1] + 5; medkit[playerid] = medkit[playerid] - medkit[playerid]; repkit[playerid] = repkit[playerid] - repkit[playerid]; if(Map == 2) { if(gTeam[killerid] == 0) { TeamOneScore += 1; } if(gTeam[killerid] == 1) { TeamTwoScore += 1; } } if(gTeam[playerid] == 0) { if(Map == 0){SetSpawnInfo(playerid,0,287, -2626.8000500,2251.1001000,8.000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else if(Map == 1){SetSpawnInfo(playerid,0,287, 2498.3000500,-2640.3999000,14.00000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else{SetSpawnInfo(playerid,0,287, 2403.6001000,-1402.4000200,24.000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} } else { if(Map == 0){SetSpawnInfo(playerid,0,285, -2279.5000000,2288.3000500,5.000000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else if(Map == 1){SetSpawnInfo(playerid,0,285, 2744.8999000,-2444.8999000,14.0000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} else{SetSpawnInfo(playerid,0,285, 2722.6999500,-1176.9000200,69.000, 2, 29, 30*mag, 22, 17*mag, 4, 1);} } if(InHead[playerid] == 1) { reason = 53; PlayerInfo[killerid][pHeadshots] += 1; } GivePlayerMoney(killerid,1000); PlayerInfo[killerid][pMoney] += 1000; return 1; }