Nister_Just
Умник
После смерти игрока появляется пикам с деньгами игрок берёт и пикап исчезает. А проблема в том , что пикап не всегда пропадет и тот ,кто его берёт может тупа стоять на пикапи и фармить бабло , помогите исправить проблему!
Вот сам пикап
Вот сам пикап
PHP:
new meatDrops[MAX_PLAYERS];
function StartTon()
{
foreach(Player,i)
{
DestroyPickup(meatDrops[i]);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
DestroyPickup(meatDrops[playerid]);
if(team[playerid] == TEAM_ZOMBIE)
{
if(pInfo[playerid][pZombieClass] == BOOMERZOMBIE) { SetPlayerHealth(playerid,30); }
else { SetPlayerHealth(playerid,100.0); }
}
if(team[playerid] == TEAM_HUMAN)
{
if(pInfo[playerid][pHumanClass] == ENGINEER || pInfo[playerid][pHumanClass] == ADVANCEDENGINEER || pInfo[playerid][pHumanClass] == VIPENGINEER || pInfo[playerid][pHumanClass] == E_ENGINEER)
{
switch(pInfo[playerid][pHumanClass])
{
case ENGINEER: pInfo[playerid][Boxes]++,GameTextForPlayer(playerid,"~g~Found~w~: 1 Box",4000,5),DestroyPickup(meatDrops[playerid]);
case ADVANCEDENGINEER: pInfo[playerid][BoxesAdvanced] += 2,GameTextForPlayer(playerid,"~g~Found~w~: 2 Boxes",4000,5),DestroyPickup(meatDrops[playerid]);
case VIPENGINEER: pInfo[playerid][pVipBoxes] += 3,GameTextForPlayer(playerid,"~g~Found~w~: 3 Boxes",4000,5),DestroyPickup(meatDrops[playerid]);
case E_ENGINEER: pInfo[playerid][pLadders] += 1,GameTextForPlayer(playerid,"~g~Found~w~: 1 Ladders",4000,5),DestroyPickup(meatDrops[playerid]);
}
}
else
{
if(pInfo[playerid][IsPlayerInfected] == 0)
{
SendClientMessage(playerid,COLOR_RED,""OR_C"Вы взяли деньги!");
pInfo[playerid][pDollar] += 1;
DestroyPickup(meatDrops[playerid]);
}
}
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new Float:x,Float:y,Float:z;
if(team[playerid] == TEAM_ZOMBIE)
{
GetPlayerPos(playerid,Float:x,Float:y,Float:z);
meatDrops[playerid] = CreatePickup(1240,19,Float:x,Float:y,Float:z,0);
if(pInfo[playerid][pZombieClass] == BOOMERZOMBIE || pInfo[playerid][pZombieClass] == BOOMER)
{
GetPlayerPos(playerid,Float:x,Float:y,Float:z);
CreateExplosion(Float:x,Float:y,Float:z,0,6.0);
foreach(Player,i)
{
GetClosestPlayer(i);
if(IsPlayerConnected(i))
{
switch(GetPlayerSkin(i))
{
case NON_IMMUNE:
{
if(IsPlayerInRangeOfPoint(i,7.0,Float:x,Float:y,Float:z))
{
if(pInfo[i][IsPlayerInfected] == 0)
{
InfectPlayerStandard(i);
}
}
}
}
}
}
}
}
return 1;
}
Последнее редактирование:
