Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <streamer>
- #include <zcmd>
- #include <foreach>
- #include <sscanf>
- //=================//
- #define MAX_DROP_ITEMS 1000
- #define COLOR_RED 0xFF0000AA
- #define COLOR_ACTION 0xC2A2DAAA
- //=================//
- new string[128];
- new sendername[MAX_PLAYER_NAME];
- new DropObject[MAX_DROP_ITEMS];
- //=================//
- enum dData
- {
- DropGunAmmount[2],//ModelID & Bullets
- Float:DropGunPosX,
- Float:DropGunPosY,
- Float:DropGunPosZ,
- DropGunVWorld,
- DropGunInterior,
- };
- new DropInfo[MAX_DROP_ITEMS][dData];
- //=================//
- new GunObjectIDs[200] ={
- 1575, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 342, 343, 344, -1, -1 , -1 ,
- 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 1575
- };
- //=================//
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Drop Gun FS by a fat guy");
- print("--------------------------------------\n");
- return 1;
- }
- //=================//
- stock GetGunObjectID(WeaponID)
- {
- if (WeaponID < 0 || WeaponID > 64)
- {
- return 1575;
- }
- return GunObjectIDs[WeaponID];
- }
- //=================//
- stock DropGun(playerid, GunID, GunAmmo, Float:X, Float:Y, Float:Z, world, interior)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- if(GunID != 0 && GunAmmo != 0)
- {
- for(new i = 0; i < sizeof(DropInfo); i++)
- {
- if(DropInfo[i][DropGunPosX] == 0.0 && DropInfo[i][DropGunPosY] == 0.0 && DropInfo[i][DropGunPosZ] == 0.0)
- {
- DropInfo[i][DropGunAmmount][0] = GunID;
- DropInfo[i][DropGunAmmount][1] = GunAmmo;
- DropInfo[i][DropGunPosX] = X;
- DropInfo[i][DropGunPosY] = Y;
- DropInfo[i][DropGunPosZ] = Z;
- DropInfo[i][DropGunVWorld] = world;
- DropInfo[i][DropGunInterior] = interior;
- DropObject[i] = CreateDynamicObject(GetGunObjectID(GunID), X, Y, Z-1, 80.0, 0.0, 0.0, world);
- return 1;
- }
- }
- return 1;
- }
- return 1;
- }
- //=================//
- stock RemovePlayerWeapon(playerid, weaponid)//Credits to Xalphox
- {
- if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50)
- return;
- new saveweapon[13], saveammo[13];
- for(new slot = 0; slot < 13; slot++)
- GetPlayerWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
- ResetPlayerWeapons(playerid);
- for(new slot; slot < 13; slot++)
- {
- if(saveweapon[slot] == weaponid || saveammo[slot] == 0)
- continue;
- GivePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]);
- }
- GivePlayerWeapon(playerid, 0, 1);
- }
- //=================//
- public OnFilterScriptExit()
- {
- print("Drop Gun FS by a fat guy");
- return 1;
- }
- //=================//
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- DropGun(playerid, GetPlayerWeapon(playerid),GetPlayerAmmo(playerid),X,Y,Z,GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
- return 1;
- }
- //=================//
- command(give, playerid, params[])
- {
- new Float:DX, Float:DY, Float:DZ;
- new playerid2;
- new playername1[24];
- new playername2[24];
- if(sscanf(params, "u", playerid2)) return SendClientMessage(playerid, COLOR_RED, "/give [ID]");
- GetPlayerPos(playerid2, DX, DY, DZ);
- if(IsPlayerInRangeOfPoint(playerid, 2.0, DX, DY, DZ))
- {
- new GunID = GetPlayerWeapon(playerid);
- new GunAmmo = GetPlayerAmmo(playerid);
- RemovePlayerWeapon(playerid, GunID);
- GivePlayerWeapon(playerid2, GunID, GunAmmo);
- GetPlayerName(playerid, playername1, sizeof(playername1));
- GetPlayerName(playerid2, playername2, sizeof(playername2));
- format(string, sizeof(string), "%s daje oruzje igracu %s.", playername1, playername2);
- SendLocalMessage(playerid, string, 10.0, COLOR_ACTION, COLOR_ACTION);
- }
- else
- {
- SendClientMessage(playerid, 0, "Igrac nije pored vas.");
- }
- return 1;
- }
- //=================//
- command(baci, playerid, params[])
- {
- new Float:X,Float:Y,Float:Z;
- new GunID = GetPlayerWeapon(playerid);
- new GunAmmo = GetPlayerAmmo(playerid);
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerPos(playerid, X, Y, Z);
- RemovePlayerWeapon(playerid, GunID);
- DropGun(playerid, GunID,GunAmmo,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
- format(string, sizeof(string), "* %s je bacio oruzje na pod.", sendername);
- SendLocalMessage(playerid, string, 10.0, COLOR_ACTION, COLOR_ACTION);
- return 1;
- }
- //=================//
- command(podigni, playerid, params[])
- {
- for(new i = 0; i < sizeof(DropInfo); i++)
- {
- if (IsPlayerInRangeOfPoint(playerid, 2.0,DropInfo[i][DropGunPosX],DropInfo[i][DropGunPosY],DropInfo[i][DropGunPosZ]))
- {
- if(GetPlayerVirtualWorld(playerid) == DropInfo[i][DropGunVWorld] && GetPlayerInterior(playerid) == DropInfo[i][DropGunInterior])
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- DestroyDynamicObject(DropObject[i]);
- GivePlayerWeapon(playerid,DropInfo[i][DropGunAmmount][0],DropInfo[i][DropGunAmmount][1]);
- DropInfo[i][DropGunPosX] = 0.0;
- DropInfo[i][DropGunPosY] = 0.0;
- DropInfo[i][DropGunPosZ] = 0.0;
- DropInfo[i][DropGunAmmount][0] = 0;
- DropInfo[i][DropGunAmmount][1] = 0;
- format(string, sizeof(string), "* %s je uzeo oruzje s poda.", sendername);
- SendLocalMessage(playerid, string, 10.0, COLOR_ACTION, COLOR_ACTION);
- return 1;
- }
- }
- }
- return 1;
- }
- //=================//
- stock SendLocalMessage(playerid, msg[], Float:MessageRange, Range1color, Range2color)
- {
- new Float: PlayerX, Float: PlayerY, Float: PlayerZ;
- GetPlayerPos(playerid, PlayerX, PlayerY, PlayerZ);
- foreach (Player, i)
- {
- if(IsPlayerInRangeOfPoint(i, MessageRange, PlayerX, PlayerY,PlayerZ))
- {
- SendClientMessage(i, Range1color, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, MessageRange/2.0, PlayerX, PlayerY,PlayerZ))
- {
- SendClientMessage(i, Range2color, msg);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement