Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*******************************************************************************
- DYNAMIC WEAPON SYSTEM
- Author: Justin Roller
- Features:
- _ Drop weapons
- _ Save weapons
- _ Buying weapons with dialog
- Please suggestion on forum !! if this cool
- *******************************************************************************/
- #include " a_samp "
- #include " zcmd "
- #include " streamer "
- #include " foreach "
- #include " YSI\y_ini "
- #include " sscanf2 "
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_RED 0xFF0000FF
- #define COLOR_GREEN 0x00FF00FF
- #define COLOR_BLUE 0x0080FFFF
- #define COLOR_LIGHTBLUE 0x00FFFFFF
- #define MAX_GUNS 1000
- #define MAX_ARMOUR 1000
- #define DIALOG_GUNS 1249
- #define DIALOG_NEXT 1250
- #define wPacks "Weapons/%s.ini"
- forward Can(playerid);
- new GunObject[MAX_GUNS];
- new ArmorObject[MAX_ARMOUR];
- new weaponid1;
- new weaponammo1;
- new Float:armourdrop;
- new Dropped[MAX_PLAYERS];
- new Armor[MAX_PLAYERS];
- new Armors[MAX_PLAYERS];
- new GunShop;
- enum ArmorInfo
- {
- Float:ax,
- Float:ay,
- Float:az
- }
- new aInfo[MAX_ARMOUR][ArmorInfo];
- enum WeaponInfo
- {
- GunAmount[2],
- Float:GunPosX,
- Float:GunPosY,
- Float:GunPosZ,
- GunWorld,
- GunInterior,
- };
- new wInfo[MAX_GUNS][WeaponInfo];
- enum WeaponData
- {
- Weapon1,
- Ammo1,
- Weapon2,
- Ammo2,
- Weapon3,
- Ammo3,
- Weapon4,
- Ammo4,
- Weapon5,
- Ammo5,
- Weapon6,
- Ammo6,
- Weapon7,
- Ammo7,
- Weapon8,
- Ammo8,
- Weapon9,
- Ammo9,
- Weapon10,
- Ammo10,
- Weapon11,
- Ammo11,
- Weapon12,
- Ammo12,
- Float:Armour
- }
- new wData[MAX_PLAYERS][WeaponData];
- stock WeaponPath(playerid)
- {
- new string[128],playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid,playername,sizeof(playername));
- format(string,sizeof(string),wPacks,playername);
- return string;
- }
- new GunObjects[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("---------------------------------------");
- print(" Dynamic Weapons System Loaded");
- print("---------------------------------------");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if(fexist(WeaponPath(playerid)))
- {
- INI_ParseFile(WeaponPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- }
- else
- {
- new INI:file = INI_Open(WeaponPath(playerid));
- INI_WriteInt(file, "Weapon1", wData[playerid][Weapon1]);
- INI_WriteInt(file, "Weapon2", wData[playerid][Weapon2]);
- INI_WriteInt(file, "Weapon3", wData[playerid][Weapon3]);
- INI_WriteInt(file, "Weapon4", wData[playerid][Weapon4]);
- INI_WriteInt(file, "Weapon5", wData[playerid][Weapon5]);
- INI_WriteInt(file, "Weapon6", wData[playerid][Weapon6]);
- INI_WriteInt(file, "Weapon7", wData[playerid][Weapon7]);
- INI_WriteInt(file, "Weapon8", wData[playerid][Weapon8]);
- INI_WriteInt(file, "Weapon9", wData[playerid][Weapon9]);
- INI_WriteInt(file, "Weapon10", wData[playerid][Weapon10]);
- INI_WriteInt(file, "Weapon11", wData[playerid][Weapon11]);
- INI_WriteInt(file, "Weapon12", wData[playerid][Weapon12]);
- INI_WriteInt(file, "Ammo1", wData[playerid][Ammo1]);
- INI_WriteInt(file, "Ammo2", wData[playerid][Ammo2]);
- INI_WriteInt(file, "Ammo3", wData[playerid][Ammo3]);
- INI_WriteInt(file, "Ammo4", wData[playerid][Ammo4]);
- INI_WriteInt(file, "Ammo5", wData[playerid][Ammo5]);
- INI_WriteInt(file, "Ammo6", wData[playerid][Ammo6]);
- INI_WriteInt(file, "Ammo7", wData[playerid][Ammo7]);
- INI_WriteInt(file, "Ammo8", wData[playerid][Ammo8]);
- INI_WriteInt(file, "Ammo9", wData[playerid][Ammo9]);
- INI_WriteInt(file, "Ammo10", wData[playerid][Ammo10]);
- INI_WriteInt(file, "Ammo11", wData[playerid][Ammo11]);
- INI_WriteInt(file, "Ammo12", wData[playerid][Ammo12]);
- INI_WriteInt(file, "Left Armour", Armors[playerid]);
- INI_WriteFloat(file, "Armour", wData[playerid][Armour]);
- INI_ParseFile(WeaponPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- INI_Close(file);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- GetPlayerWeaponData(playerid, 1, wData[playerid][Weapon1], wData[playerid][Ammo1]);
- GetPlayerWeaponData(playerid, 2, wData[playerid][Weapon2], wData[playerid][Ammo2]);
- GetPlayerWeaponData(playerid, 3, wData[playerid][Weapon3], wData[playerid][Ammo3]);
- GetPlayerWeaponData(playerid, 4, wData[playerid][Weapon4], wData[playerid][Ammo4]);
- GetPlayerWeaponData(playerid, 5, wData[playerid][Weapon5], wData[playerid][Ammo5]);
- GetPlayerWeaponData(playerid, 6, wData[playerid][Weapon6], wData[playerid][Ammo6]);
- GetPlayerWeaponData(playerid, 7, wData[playerid][Weapon7], wData[playerid][Ammo7]);
- GetPlayerWeaponData(playerid, 8, wData[playerid][Weapon8], wData[playerid][Ammo8]);
- GetPlayerWeaponData(playerid, 9, wData[playerid][Weapon9], wData[playerid][Ammo9]);
- GetPlayerWeaponData(playerid, 10, wData[playerid][Weapon10], wData[playerid][Ammo10]);
- GetPlayerWeaponData(playerid, 11, wData[playerid][Weapon11], wData[playerid][Ammo11]);
- GetPlayerWeaponData(playerid, 12, wData[playerid][Weapon12], wData[playerid][Ammo12]);
- Armors[playerid] = Armor[playerid];
- GetPlayerArmour(playerid,wData[playerid][Armour]);
- if(fexist(WeaponPath(playerid)))
- {
- new INI:file = INI_Open(WeaponPath(playerid));
- INI_WriteInt(file, "Weapon1", wData[playerid][Weapon1]);
- INI_WriteInt(file, "Weapon2", wData[playerid][Weapon2]);
- INI_WriteInt(file, "Weapon3", wData[playerid][Weapon3]);
- INI_WriteInt(file, "Weapon4", wData[playerid][Weapon4]);
- INI_WriteInt(file, "Weapon5", wData[playerid][Weapon5]);
- INI_WriteInt(file, "Weapon6", wData[playerid][Weapon6]);
- INI_WriteInt(file, "Weapon7", wData[playerid][Weapon7]);
- INI_WriteInt(file, "Weapon8", wData[playerid][Weapon8]);
- INI_WriteInt(file, "Weapon9", wData[playerid][Weapon9]);
- INI_WriteInt(file, "Weapon10", wData[playerid][Weapon10]);
- INI_WriteInt(file, "Weapon11", wData[playerid][Weapon11]);
- INI_WriteInt(file, "Weapon12", wData[playerid][Weapon12]);
- INI_WriteInt(file, "Ammo1", wData[playerid][Ammo1]);
- INI_WriteInt(file, "Ammo2", wData[playerid][Ammo2]);
- INI_WriteInt(file, "Ammo3", wData[playerid][Ammo3]);
- INI_WriteInt(file, "Ammo4", wData[playerid][Ammo4]);
- INI_WriteInt(file, "Ammo5", wData[playerid][Ammo5]);
- INI_WriteInt(file, "Ammo6", wData[playerid][Ammo6]);
- INI_WriteInt(file, "Ammo7", wData[playerid][Ammo7]);
- INI_WriteInt(file, "Ammo8", wData[playerid][Ammo8]);
- INI_WriteInt(file, "Ammo9", wData[playerid][Ammo9]);
- INI_WriteInt(file, "Ammo10", wData[playerid][Ammo10]);
- INI_WriteInt(file, "Ammo11", wData[playerid][Ammo11]);
- INI_WriteInt(file, "Ammo12", wData[playerid][Ammo12]);
- INI_WriteInt(file, "Left Armour", Armors[playerid]);
- INI_WriteFloat(file,"Armour",wData[playerid][Armour]);
- INI_Close(file);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SendClientMessage(playerid,COLOR_BLUE, "This server using Dynamic Weapon System v1.0 by JustinRoller");
- GivePlayerWeapon(playerid,wData[playerid][Weapon1],wData[playerid][Ammo1]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon2],wData[playerid][Ammo2]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon3],wData[playerid][Ammo3]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon4],wData[playerid][Ammo4]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon5],wData[playerid][Ammo5]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon6],wData[playerid][Ammo6]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon7],wData[playerid][Ammo7]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon8],wData[playerid][Ammo8]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon9],wData[playerid][Ammo9]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon10],wData[playerid][Ammo10]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon11],wData[playerid][Ammo11]);
- GivePlayerWeapon(playerid,wData[playerid][Weapon12],wData[playerid][Ammo12]);
- Armor[playerid] = Armors[playerid];
- SetPlayerArmour(playerid,wData[playerid][Armour]);
- return 1;
- }
- CMD:dropgun(playerid,params[])
- {
- new Float:X,Float:Y,Float:Z,name[MAX_PLAYER_NAME],string[128];
- if(Dropped[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"You have to wait few second to drop next weapon");
- weaponid1 = GetPlayerWeapon(playerid);
- weaponammo1 = GetPlayerAmmo(playerid);
- GetPlayerName(playerid,name,sizeof(name));
- GetPlayerPos(playerid,X,Y,Z);
- Dropped[playerid] = 1;
- RemovePlayerWeapon(playerid,weaponid1);
- DropGun(playerid,weaponid1,weaponammo1,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
- format(string, sizeof(string), "* %s drops his weapon to the pavement.", name);
- SendLocalMessage(playerid,string,10.0, COLOR_GREEN, COLOR_GREEN);
- SetTimer("Can",30000,false);
- return 1;
- }
- CMD:weararmour(playerid,params[])
- {
- new string[128];
- if(Armor[playerid] >= 1)
- {
- SetPlayerArmour(playerid,100);
- Armor[playerid] --;
- format(string,sizeof(string),"You have used 1 armour, your left armour is %i",Armor[playerid]);
- SendClientMessage(playerid,COLOR_BLUE,string);
- }
- else return SendClientMessage(playerid,COLOR_RED,"You dont have any armor in your inventory");
- return 1;
- }
- CMD:shop(playerid,params[])
- {
- new ed,name[MAX_PLAYER_NAME],string[128];
- if(!IsPlayerAdmin(playerid)) return 0;
- if(sscanf(params,"i",ed))
- {
- SendClientMessage(playerid,COLOR_RED,"USAGE: /shop [1/2]");
- SendClientMessage(playerid,COLOR_RED,"Note: This function will enable and disable the gun shop choose 1 for disable and 2 for enable");
- }
- if(ed == 1)
- {
- GunShop = 0;
- GetPlayerName(playerid,name,sizeof(name));
- format(string,sizeof(string),"The gun shop has been disable by admin %s",name);
- SendClientMessageToAll(COLOR_BLUE,string);
- }
- if(ed == 2)
- {
- GunShop = 1;
- GetPlayerName(playerid,name,sizeof(name));
- format(string,sizeof(string),"The gun shop has been enable by admin %s",name);
- SendClientMessageToAll(COLOR_BLUE,string);
- }
- return 1;
- }
- CMD:gunshop(playerid,params[])
- {
- if(GunShop == 1)
- {
- ShowPlayerDialog(playerid,DIALOG_GUNS,DIALOG_STYLE_LIST,"Guns","Colt 45 Pistol - 500$\nSilenced Colt 45 Pistol - 600$\nDesert Eagle - 1000$\nShotgun - 1100$\nSawnoff Shotgun - 1500$\nCombat Shotgun - 2000$\nMicro SMG/Uzi - 2000$\nMP5 - 2500$\nAK-47 - 3500$\nM4 - 3500$\nTec-9 - 3500$\nCountry Rifle - 4000$\nSniper Rifle - 5000$\nRPG - 10000$\nHS Rocket - 10000$\nFlamethrower - 10000$\nMinigun - 20000$\nNext Page","Buy","Cancel");
- }
- if(GunShop == 0)
- {
- SendClientMessage(playerid,COLOR_RED,"This function has been disable");
- }
- return 1;
- }
- CMD:droparmour(playerid,params[])
- {
- for(new i = 0; i < sizeof(aInfo); i++)
- {
- if(Armor[playerid] >= 1)
- {
- new VirtualWorld;
- VirtualWorld = GetPlayerVirtualWorld(playerid);
- GetPlayerPos(playerid,aInfo[i][ax],aInfo[i][ay],aInfo[i][az]);
- GetPlayerArmour(playerid,armourdrop);
- SetPlayerArmour(playerid,0);
- ArmorObject[i] = CreateDynamicObject(1242,aInfo[i][ax],aInfo[i][ay]+1.5,aInfo[i][az],80.0,0.0,0.0,VirtualWorld);
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"You don't have any armour to drop");
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
- {
- if(newkeys == KEY_SECONDARY_ATTACK)
- {
- new name[MAX_PLAYER_NAME];
- new string[128];
- for(new i = 0; i < sizeof(wInfo); i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0,wInfo[i][GunPosX],wInfo[i][GunPosY],wInfo[i][GunPosZ]))
- {
- if(GetPlayerVirtualWorld(playerid) == wInfo[i][GunWorld] && GetPlayerInterior(playerid) == wInfo[i][GunWorld])
- {
- GetPlayerName(playerid,name,sizeof(name));
- DestroyDynamicObject(GunObject[i]);
- wInfo[i][GunPosX] = 0.0;
- wInfo[i][GunPosY] = 0.0;
- wInfo[i][GunPosZ] = 0.0;
- wInfo[i][GunAmount][0] = 0;
- wInfo[i][GunAmount][1] = 0;
- GivePlayerWeapon(playerid,weaponid1,weaponammo1);
- format(string, sizeof(string),"* %s picks up a weapon from the pavement.",name);
- SendLocalMessage(playerid,string,10.0,COLOR_YELLOW,COLOR_YELLOW);
- return 1;
- }
- }
- }
- for(new i = 0; i < sizeof(aInfo); i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,2.0,aInfo[i][ax],aInfo[i][ay],aInfo[i][az]))
- {
- DestroyDynamicObject(ArmorObject[i]);
- SetPlayerArmour(playerid,armourdrop);
- GetPlayerName(playerid,name,sizeof(name));
- format(string, sizeof(string),"* %s picks up a armour from the pavement.",name);
- SendLocalMessage(playerid,string,10.0,COLOR_YELLOW,COLOR_YELLOW);
- return 1;
- }
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new Float:X,Float:Y,Float:Z;
- for(new i_slot = 0, weapon, ammo; i_slot != 12; i_slot++)
- {
- GetPlayerWeaponData(playerid,i_slot,weapon,ammo);
- DropGun(playerid,weapon,ammo,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
- }
- return 1;
- }
- public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_GUNS:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,22,5000);
- GivePlayerMoney(playerid,-500);
- }
- }
- case 1:
- {
- if(GetPlayerMoney(playerid) < 600) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,23,5000);
- GivePlayerMoney(playerid,-600);
- }
- }
- case 2:
- {
- if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,24,5000);
- GivePlayerMoney(playerid,-1000);
- }
- }
- case 3:
- {
- if(GetPlayerMoney(playerid) < 1100) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,25,5000);
- GivePlayerMoney(playerid,-1100);
- }
- }
- case 4:
- {
- if(GetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,26,5000);
- GivePlayerMoney(playerid,-1500);
- }
- }
- case 5:
- {
- if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,27,5000);
- GivePlayerMoney(playerid,-2000);
- }
- }
- case 6:
- {
- if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,28,5000);
- GivePlayerMoney(playerid,-2000);
- }
- }
- case 7:
- {
- if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,29,5000);
- GivePlayerMoney(playerid,-2500);
- }
- }
- case 8:
- {
- if(GetPlayerMoney(playerid) < 3500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,30,5000);
- GivePlayerMoney(playerid,-3500);
- }
- }
- case 9:
- {
- if(GetPlayerMoney(playerid) < 3500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,31,3500);
- GivePlayerMoney(playerid,-3500);
- }
- }
- case 10:
- {
- if(GetPlayerMoney(playerid) < 3500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,32,5000);
- GivePlayerMoney(playerid,-3500);
- }
- }
- case 11:
- {
- if(GetPlayerMoney(playerid) < 4000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,33,5000);
- GivePlayerMoney(playerid,-4000);
- }
- }
- case 12:
- {
- if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,34,5000);
- GivePlayerMoney(playerid,-5000);
- }
- }
- case 13:
- {
- if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,35,5000);
- GivePlayerMoney(playerid,-500);
- }
- }
- case 14:
- {
- if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,36,5000);
- GivePlayerMoney(playerid,-10000);
- }
- }
- case 15:
- {
- if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,37,5000);
- GivePlayerMoney(playerid,-10000);
- }
- }
- case 16:
- {
- if(GetPlayerMoney(playerid) < 20000) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,38,5000);
- GivePlayerMoney(playerid,-20000);
- }
- }
- case 17:
- {
- ShowPlayerDialog(playerid,DIALOG_NEXT,DIALOG_STYLE_LIST,"Guns Page 2","Night Vis Goggles - 500$\nThermal Goggles - 500$\nCamera - 200$\nParachute - 100$\n3 Armour - 300$","Buy","Back");
- }
- }
- }
- }
- case DIALOG_NEXT:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_GUNS,DIALOG_STYLE_LIST,"Guns","Colt 45 Pistol - 500$\nSilenced Colt 45 Pistol - 600$\nDesert Eagle - 1000$\nShotgun - 1100$\nSawnoff Shotgun - 1500$\nCombat Shotgun - 2000$\nMicro SMG/Uzi - 2000$\nMP5 - 2500$\nAK-47 - 3500$\nM4 - 3500$\nTec-9 - 3500$\nCountry Rifle - 4000$\nSniper Rifle - 5000$\nRPG - 10000$\nHS Rocket - 10000$\nFlamethrower - 10000$\nMinigun - 20000$\nNext Page","Buy","Cancel");
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else
- {
- GivePlayerWeapon(playerid,43,1);
- GivePlayerMoney(playerid,-500);
- }
- }
- case 1:
- {
- if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,44,1);
- GivePlayerMoney(playerid,-500);
- }
- }
- case 2:
- {
- if(GetPlayerMoney(playerid) < 200) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,45,5000);
- GivePlayerMoney(playerid,-200);
- }
- }
- case 3:
- {
- if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this weapon");
- else {
- GivePlayerWeapon(playerid,46,1);
- GivePlayerMoney(playerid,-100);
- }
- }
- case 4:
- {
- Armor[playerid] = 3;
- SendClientMessage(playerid,COLOR_GREEN,"Enjoy the armour. Use /weararmour to wear it");
- }
- }
- }
- }
- }
- return 1;
- }
- public Can(playerid)
- {
- Dropped[playerid] = 0;
- return 1;
- }
- stock GetGun(weaponid)
- {
- if (weaponid < 0 || weaponid > 64)
- {
- return 1575;
- }
- return GunObjects[weaponid];
- }
- stock DropGun(playerid,weaponid,weaponammo,Float:X,Float:Y,Float:Z,VirtualWorld,Interior)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- if(weaponid != 0 && weaponid != 0)
- {
- for(new i = 0; i < sizeof(wInfo); i++)
- {
- if(wInfo[i][GunPosX] == 0.0 && wInfo[i][GunPosY] == 0.0 && wInfo[i][GunPosZ] == 0.0)
- {
- wInfo[i][GunAmount][0] = weaponid;
- wInfo[i][GunAmount][1] = weaponammo;
- wInfo[i][GunPosX] = X;
- wInfo[i][GunPosY] = Y;
- wInfo[i][GunPosZ] = Z;
- wInfo[i][GunWorld] = VirtualWorld;
- wInfo[i][GunInterior] = Interior;
- GunObject[i] = CreateDynamicObject(GetGun(weaponid), X, Y, Z-1, 80.0, 0.0, 0.0, VirtualWorld);
- return 1;
- }
- }
- return 1;
- }
- return 1;
- }
- forward LoadUser_data(playerid, name[], value[]);
- public LoadUser_data(playerid, name[], value[])
- {
- INI_Int("Weapon1", wData[playerid][Weapon1]);
- INI_Int("Weapon2", wData[playerid][Weapon2]);
- INI_Int("Weapon3", wData[playerid][Weapon3]);
- INI_Int("Weapon4", wData[playerid][Weapon4]);
- INI_Int("Weapon5", wData[playerid][Weapon5]);
- INI_Int("Weapon6", wData[playerid][Weapon6]);
- INI_Int("Weapon7", wData[playerid][Weapon7]);
- INI_Int("Weapon8", wData[playerid][Weapon8]);
- INI_Int("Weapon9", wData[playerid][Weapon9]);
- INI_Int("Weapon10", wData[playerid][Weapon10]);
- INI_Int("Weapon11", wData[playerid][Weapon11]);
- INI_Int("Weapon12", wData[playerid][Weapon12]);
- INI_Int("Ammo1", wData[playerid][Ammo1]);
- INI_Int("Ammo2", wData[playerid][Ammo2]);
- INI_Int("Ammo3", wData[playerid][Ammo3]);
- INI_Int("Ammo4", wData[playerid][Ammo4]);
- INI_Int("Ammo5", wData[playerid][Ammo5]);
- INI_Int("Ammo6", wData[playerid][Ammo6]);
- INI_Int("Ammo7", wData[playerid][Ammo7]);
- INI_Int("Ammo8", wData[playerid][Ammo8]);
- INI_Int("Ammo9", wData[playerid][Ammo9]);
- INI_Int("Ammo10", wData[playerid][Ammo10]);
- INI_Int("Ammo11", wData[playerid][Ammo11]);
- INI_Int("Ammo12", wData[playerid][Ammo12]);
- return 1;
- }
- stock RemovePlayerWeapon( playerid, weaponid )
- {
- new
- plyWeapons[ 12 ], plyAmmo[ 12 ];
- for( new slot = 0; slot != 12; slot ++ )
- {
- new
- weap, ammo;
- GetPlayerWeaponData( playerid, slot, weap, ammo );
- if( weap != weaponid )
- {
- GetPlayerWeaponData( playerid, slot, plyWeapons[ slot ], plyAmmo[ slot ] );
- }
- }
- ResetPlayerWeapons( playerid );
- for( new slot = 0; slot != 12; slot ++ )
- {
- GivePlayerWeapon( playerid, plyWeapons[ slot ], plyAmmo[ slot ] );
- }
- }
- 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