26.07.2015, 19:21
Here the cmd and some functions for it.
Код:
CMD:pickupgun(playerid, params[])
{
if(IsPlayerNearDroppedWeapon(playerid))
{
new gid = GetNearestWeaponID(playerid);
if(gid == 999)
return SendErrorMessage(playerid, "Ierocis ir iegūts ar papildprogrammu palīdzību! (līdzu, ziņojiet administrācijai)");
new slot = GetWeaponSlot(gid);
if (GetPlayerWeaponData(playerid, slot, PlayerData[playerid][pWeapon], PlayerData[playerid][pAmmo]))
return SendErrorMessage(playerid, "Atvainojiet, Jums jau ir šī tipa ierocis!");
if(GetPlayerWeapon(playerid) != 0)
return SendErrorMessage(playerid, "Lai paceltu jaunu ieroci, nolieciet pašreizējo.");
PickupDroppedWeapon(playerid, gid);
SendServerMessage(playerid, "Jūs pacēlāt %s ar %i lodēm.", GetWeaponNameEx(gid), GetPlayerAmmo(gid));
SendNearbyMessage(playerid, 10.0, COLOR_PURPLE, "** %s tikko pacēla uz zemes esošo %s.", GetPlayerNameEx(playerid), GetWeaponNameEx(GetPlayerWeapon(playerid)));
} else {
SendErrorMessage(playerid, "Jūs neatrodaties uz zemes nomesta ieroča tuvumā!");
}
return 1;
}
Код:
GetWeaponSlot(weaponid)
{
switch (weaponid)
{
case 1: return 0;
case 2..9: return 1;
case 22..24: return 2;
case 25..27: return 3;
case 28, 29, 32: return 4;
case 30, 31: return 5;
case 33, 34: return 6;
case 35..38: return 7;
case 16..18, 39: return 8;
case 41..43: return 9;
case 10..15: return 10;
case 44..46: return 11;
case 40: return 12;
}
return 999;
}
Код:
GetNearestWeaponID(playerid)
{
for (new i; i < MAX_DROPPED_WEAPONS; i ++)
{
if (IsPlayerInRangeOfPoint(playerid, 2.0, WeaponData[i][wX], WeaponData[i][wY], WeaponData[i][wZ]))
{
return i;
}
}
return 999;
}

