/* Ammo - 800 Turn Power On - 10 000 Random Weapon Box - 1000 Pack o punch - 5000 Weapon Shop Killstreak Shop */ init_Shopping() { PrecacheShader("headicon_dead"); level.activeObjectiveIndex = 0; level.PowerOn = false; level.TurnPowerOn_Price = 10000; level.AmmoRefill_Price = 800; level.RandomWeapon_Price = 1000; level.PackPunchWeapon_Price = 5000; level.RandomWeaponYAY = strTok("tar21_mp,type95_mp,sig556_mp,sa58_mp,hk416_mp,scar_mp,saritch_mp,xm8_mp,an94_mp,mp7_mp,pdw57_mp,vector_mp,insas_mp,qcw05_mp,evoskorpion_mp,peacekeeper_mp,870mcs_mp,saiga12_mp,ksg_mp,srm1216_mp,mk48_mp,qbb95_mp,lsat_mp,hamr_mp,svu_mp,dsr50_mp,ballista_mp,as50_mp,fiveseven_mp,fnp45_mp,beretta93r_mp,judge_mp,kard_mp,smaw_mp,fhj18_mp,usrpg_mp,frag_grenade_mp,sticky_grenade_mp,hatchet_mp,bouncingbetty_mp,c4_mp,claymore_mp,concussion_grenade_mp,smoke_grenade_mp,willy_pete_mp,emp_grenade_mp,proximity_grenade_mp,pda_hack_mp,flash_grenade_mp,trophy_system_mp,tactical_insertion_mp",","); _loadCrateSpawns(); thread SpawnShopCrate(level.AmmoRefillCrate_Spawn+(0,0,20),(0,0,0),"ammo","headicon_dead"); thread SpawnShopCrate(level.RandomWeaponCrate_Spawn+(0,0,20),(0,0,0),"ranWep","headicon_dead"); } _loadCrateSpawns() { if(getdvar("mapname")=="mp_hijacked") { level.AmmoRefillCrate_Spawn = (-1254.44, -48.1053, -43.875);//Ammo level.RandomWeaponCrate_Spawn = (294.557, -267.811, 20.125);//Random Weapon level.PackPunchCrate_Spawn = (2204.34, 2.38295, 33.125);//Pack punch } } SpawnShopCrate(pos, angle, type, icon) { block = spawn("script_model", pos ); if(isdefined(angle)) { block setModel("t6_wpn_supply_drop_ally"); block.angles = angle; block Solid(); block.team = "allies"; } //block thread createCustomEntHeadIcon((0, 0, 50), icon, 1); spawnObjective(pos,icon); trigger = spawn( "trigger_radius", pos, 0, 100, 50 ); trigger.angles = angle; if(type=="ammo") { trigger thread AmmoMonitor(pos); } else if(type=="ranWep") { trigger thread RandomWeaponMonitor(pos); } else { wait .2; } wait 0.01; } spawnObjective(origin, icon, onEntity) { Objective_Add(level.activeObjectiveIndex, "active", origin); Objective_Icon(level.activeObjectiveIndex, icon); if (isDefined(onEntity)) Objective_OnEntity(level.activeObjectiveIndex, onEntity); level.activeObjectiveIndex++; } createCustomEntHeadIcon(offset, shader, keepPosition) { if ( isDefined( offset ) ) self.entityHeadIconOffset = offset; else self.entityHeadIconOffset = (0,0,0); headIcon = newteamhudelem("allies"); headIcon.archived = true; headIcon.x = self.origin[0] + self.entityHeadIconOffset[0]; headIcon.y = self.origin[1] + self.entityHeadIconOffset[1]; headIcon.z = self.origin[2] + self.entityHeadIconOffset[2]; headIcon.alpha = 0.8; headIcon setShader( shader, 6, 6 );//10 10 headIcon setWaypoint( true, true ); self.entityHeadIcon = headIcon; /*if(isdefined(keepPosition) && keepPosition == true) { self thread maps\mp\_entityheadicons::keepIconPositioned(); }*/ } AmmoMonitor(pos) { self endon("disconnect"); while(true) { self waittill("trigger",player); if(Distance(pos,player.origin)<=75) { player setLowerMessage("Press ^3[{+activate}]^7 to Buy Ammo(^2$"+level.AmmoRefill_Price+"^7)"); } if(Distance(pos,player.origin)>80) { player clearLowerMessage(.4); } if(Distance(pos,player.origin)<=75 && player useButtonPressed()) { if(player.Money>=level.AmmoRefill_Price) { player clearLowerMessage(.4); if(player getCurrentWeapon()!="none") { player setWeaponAmmoClip(player getCurrentWeapon(),9999); player GiveMaxAmmo(player getCurrentWeapon()); } if(player GetCurrentOffhand()!="none") { player setWeaponAmmoClip(player GetCurrentOffhand(),9999); player GiveMaxAmmo(player GetCurrentOffhand()); } player takeMoney(level.AmmoRefill_Price); } else { player iprintlnBold("^1Not enough Money!"); } wait .6; } wait 0.05; } } RandomWeaponMonitor(pos) { self endon("disconnect"); while(true) { self waittill("trigger",player); if(Distance(pos,player.origin)<=75) { player setLowerMessage("Press ^3[{+activate}]^7 to Buy a Random Weapon(^2$"+level.RandomWeapon_Price+"^7)"); } if(Distance(pos,player.origin)>80) { player clearLowerMessage(.4); } if(Distance(pos,player.origin)<=75 && player useButtonPressed()) { if(player.Money>=level.RandomWeapon_Price) { player clearLowerMessage(.2); player thread giveThaFuckingWeapon(level.RandomWeaponYAY[randomInt(level.RandomWeaponYAY.size)]); player takeMoney(level.RandomWeapon_Price); } else { player iprintlnBold("^1Not enough Money!"); } wait .6; } wait 0.05; } } giveThaFuckingWeapon(wep,LOL) { self giveweapon(wep); if(!isDefined(LOL)) { wait .2; self switchtoweapon(wep); } self givemaxammo(wep); }