Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name PewPew Master
- @inputs EGP:wirelink
- @persist Pew:entity Weapons:table [Menus, Options]:array MenuSelect OptionSelect Selection:string
- setName("'Pew Mastery' (Type del to delete the E2)")
- runOnTick(1)
- runOnLast(1)
- runOnChat(1)
- if(first()){
- Weapons["Artilleries",array] = array("Basic Artillery", "Nebelwerfer", "Rocket Barrage")
- Weapons["Cannons",array] = array("37mm Cannon", "40mm Cannon", "105mm Cannon", "230mm Cannon", "Basic Cannon", "EMP Cannon", "Flak Cannon", "Plasma Cannon", "Railgun")
- Weapons["Close",array] = array("Flamethrower", "Laser Sword")
- Weapons["Fun",array] = array("Firework")
- Weapons["Lasers",array] = array("Basic Laser", "Beam Laser", "Laser Machinegun", "Medium Laser", "Particle Beam", "Rapid Fire Laser", "Big Star Wars Laser", "Green Star Wars Laser", "Red Star Wars Laser")
- Weapons["Launchers",array] = array("Grenade Launcher", "Smoke Grenade Launcher")
- Weapons["Machineguns",array] = array("50 Cal Machinegun", "100 Cal Explosive Rounds", "Basic Machinegun", "Burst Machinegun", "Gauss Gun", "Minigun")
- Weapons["Other",array] = array("Delayed Sticky-Bomb Launcher", "Flame Shell", "Smoke Emitter", "Thud Rounds", "Unrealistic Railgun")
- Weapons["Rockets",array] = array("Homing Missile - Air to surface", "Basic Rocket Launcher", "Homing Missile - Normal", "QAAM missile", "Rocket Battery", "Homing Missile - Surface to air")
- MenuSelect = 1
- OptionSelect = -1
- Selection = ""
- }
- if(chatClk(owner()) & owner():lastSaid() == "del"){
- hideChat(1)
- print("PewPew Mastery Deleted.")
- selfDestruct()
- }
- if(changed(EGP) & EGP:entity():isValid()){
- EGP:egpClear()
- EGPINDEX = 1
- EGP:egpRoundedBox(EGPINDEX,vec2(110,30),vec2(200,50))
- EGP:egpColor(EGPINDEX,vec(1,155,155))
- EGP:egpAlpha(EGPINDEX,155)
- EGPINDEX++
- EGP:egpRoundedBoxOutline(EGPINDEX,vec2(110,30),vec2(200,50))
- EGP:egpColor(EGPINDEX,vec(255,255,255))
- EGP:egpAlpha(EGPINDEX,155)
- EGPINDEX++
- EGP:egpText(EGPINDEX,"PewPew Mastery",vec2(20,16))
- EGP:egpFont(EGPINDEX,"Trebuchet",25)
- EGPINDEX++
- EGP:egpBox(EGPINDEX,vec2(110,150),vec2(170,190))
- EGP:egpColor(EGPINDEX,vec(0,155,155))
- EGP:egpAlpha(EGPINDEX,155)
- EGPINDEX++
- EGP:egpBoxOutline(EGPINDEX,vec2(110,150),vec2(170,190))
- EGP:egpColor(EGPINDEX,vec(255,255,255))
- EGP:egpAlpha(EGPINDEX,155)
- EGPINDEX++
- Menus = array()
- for(I = 1, Weapons:keys():count()){
- EGP:egpText(EGPINDEX,Weapons:keys()[I,string],vec2(30,20*I + 40))
- EGP:egpFont(EGPINDEX,"Trebuchet",20)
- Menus:pushNumber(EGPINDEX)
- EGPINDEX++
- }
- EGP:egpBox(EGPINDEX,vec2(350,150),vec2(300,190))
- EGP:egpColor(EGPINDEX,vec(0,155,155))
- EGP:egpAlpha(EGPINDEX,0)
- EGPINDEX++
- EGP:egpBoxOutline(EGPINDEX,vec2(350,150),vec2(300,190))
- EGP:egpColor(EGPINDEX,vec(255,255,255))
- EGP:egpAlpha(EGPINDEX,0)
- EGPINDEX++
- for(I = 1, 9){
- EGP:egpText(EGPINDEX,"",vec2(210,20*I + 40))
- EGP:egpFont(EGPINDEX,"Trebuchet",20)
- Options:pushNumber(EGPINDEX)
- EGPINDEX++
- }
- EGP:egpText(EGPINDEX,"",vec2(25,250))
- EGPINDEX++
- for(I = 1, Menus:count()){
- EGP:egpColor(Menus[I,number],vec(255,255,255))
- EGP:egpColor(Menus[MenuSelect,number],vec(0,200,200))
- }
- if(OptionSelect == -1){
- EGP:egpAlpha(15,0)
- EGP:egpAlpha(16,0)
- EGP:egpColor(Menus[MenuSelect,number],vec(0,200,200))
- }
- if(OptionSelect != -1){
- EGP:egpAlpha(15,155)
- EGP:egpAlpha(16,155)
- EGP:egpColor(Menus[MenuSelect,number],vec(0,100,100))
- }
- }
- runOnKeys(owner(),1)
- if(keyClk()){
- if(keyClkPressed() == "left" & owner():keyPressed("left")){
- if(Selection:length() > 0){
- owner():soundPlay("Blip",0.191,"buttons/button18.wav")
- Selection = ""
- EGP:egpColor(Options[OptionSelect,number],vec(0,200,200))
- }elseif(OptionSelect != -1){
- owner():soundPlay("Blip",0.191,"buttons/button18.wav")
- OptionSelect = -1
- for(I = 1, Options:count()){
- EGP:egpColor(Options[I,number],vec(255,255,255))
- EGP:egpSetText(Options[I,number],"")
- }
- EGP:egpAlpha(15,0)
- EGP:egpAlpha(16,0)
- EGP:egpColor(Menus[MenuSelect,number],vec(0,200,200))
- }
- }
- if(keyClkPressed() == "right" & owner():keyPressed("right")){
- if(OptionSelect == -1){
- owner():soundPlay("Blip",0.203,"buttons/button14.wav")
- R = Weapons[Weapons:keys()[MenuSelect,string],array]
- for(I = 1, R:count()){
- EGP:egpSetText(Options[I,number],R[I,string])
- }
- OptionSelect = 1
- EGP:egpColor(Options[OptionSelect,number],vec(0,200,200))
- EGP:egpAlpha(15,150)
- EGP:egpAlpha(16,150)
- EGP:egpColor(Menus[MenuSelect,number],vec(0,100,100))
- }elseif(Selection:length() == 0){
- owner():soundPlay("Blip",0.203,"buttons/button14.wav")
- R = Weapons[Weapons:keys()[MenuSelect,string],array]
- Selection = R[OptionSelect,string]
- EGP:egpColor(Options[OptionSelect,number],vec(0,100,100))
- }
- }
- if(keyClkPressed() == "down" & owner():keyPressed("down")){
- if(Selection:length() > 0){}
- elseif(OptionSelect != -1){
- owner():soundPlay("Blip",0.183,"garrysmod/ui_hover.wav")
- R = Weapons[Weapons:keys()[MenuSelect,string],array]
- OptionSelect++
- if(OptionSelect > R:count()){
- OptionSelect = 1
- }
- for(I = 1, Options:count()){
- EGP:egpColor(Options[I,number],vec(255,255,255))
- }
- EGP:egpColor(Options[OptionSelect,number],vec(0,200,200))
- }else{
- owner():soundPlay("Blip",0.183,"garrysmod/ui_hover.wav")
- MenuSelect++
- if(MenuSelect > Menus:count()){
- MenuSelect = 1
- }
- for(I = 1, Menus:count()){
- EGP:egpColor(Menus[I,number],vec(255,255,255))
- }
- EGP:egpColor(Menus[MenuSelect,number],vec(0,200,200))
- }
- }
- if(keyClkPressed() == "up" & owner():keyPressed("up")){
- if(Selection:length() > 0){}
- elseif(OptionSelect != -1){
- owner():soundPlay("Blip",0.183,"garrysmod/ui_hover.wav")
- R = Weapons[Weapons:keys()[MenuSelect,string],array]
- OptionSelect--
- if(OptionSelect < 1){
- OptionSelect = R:count()
- }
- for(I = 1, Options:count()){
- EGP:egpColor(Options[I,number],vec(255,255,255))
- }
- EGP:egpColor(Options[OptionSelect,number],vec(0,200,200))
- }else{
- owner():soundPlay("Blip",0.183,"garrysmod/ui_hover.wav")
- MenuSelect--
- if(MenuSelect < 1){
- MenuSelect = Menus:count()
- }
- for(I = 1, Menus:count()){
- EGP:egpColor(Menus[I,number],vec(255,255,255))
- }
- EGP:egpColor(Menus[MenuSelect,number],vec(0,200,200))
- }
- }
- }
- Changed = 0
- if(changed(Selection)){
- Changed = 1
- }
- if(Selection:length() > 0 & !Pew:isValid()){
- if(!Changed){
- print("Make sure to de-select weapons before undoing!")
- }
- Pew = pewCreate(Selection,"models/hunter/blocks/cube025x025x025.mdl",entity():pos(),ang(0,0,0))
- Pew:propNotSolid(1)
- Pew:setAlpha(0)
- Pew:propFreeze(1)
- }
- if(changed(Selection) & !Selection:length() > 0){
- EGP:egpSetText(26,"")
- Pew:propDelete()
- Pew = noentity()
- }
- if(Pew:isValid() & Pew:pewIsCannon()){
- Pew:setPos(owner():pos() + vec(0,0,120))
- Pew:setAng((owner():aimPos() - Pew:pos()):toAngle() + ang(90,0,0))
- Pew:pewFire(owner():keyAttack2())
- if(changed(Pew:pewAmmo()) & Pew:pewAmmo() == 0){
- EGP:egpSetText(26,"Reloading...")
- }
- if(changed(Pew:pewAmmo()) & Pew:pewAmmo() == Pew:pewMaxAmmo()){
- EGP:egpSetText(26,"")
- }
- }
- if(last()){
- EGP:entity():propDelete()
- Pew:propDelete()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement