Trixx Skrevet September 20, 2018 Del Skrevet September 20, 2018 Features: - Plads til 6 våben - Blacklist - Smooth - Crash Sikker (Ish) - Commands | !help, !logout, !blacklist, !removeblacklist, !remain, !sold, !profit Credits: - Design: @Hermione - Func: @Trixx Spoiler @name L E C T U M @inputs EGP:wirelink User:entity [R1, R2, R3, R4, R5, R6]:entity @outputs @persist [Set, Temp, W, Blacklist]:table [Profit, Sold, Earned]:number S Price CurUser:entity @trigger if(chatClk() & lastSpoke() != owner()){exit()} ## lol if(first()) { runOnChat(1) ## SETTINGS ## Her er et par ting i kan lave bedre... Det er ikke en optimalt maade at lave clk's paa. EGPbutton er lort. andre ting som i kan fixe :) Den virker - Trixx Profit = 2000 Set["blacklist-extra-price", number] = 10000 function message(Str:string) { printColor(vec(255),"[",vec(35,120,255),"L.E.C.T.U.M",vec(255),"]: ",Str) } function void entity:blacklist() { local M = Blacklist[This:steamID(), number] ? " er allerede blacklisted." : " er nu blacklisted." Blacklist[This:steamID(), number] = 1 message(This:name()+M) } function void entity:whitelist() { local M = Blacklist[This:steamID(), number] ? " er ikke l"+ae()+"ngere blacklisted." : " er ikke blacklisted." Blacklist[This:steamID(), number] = 0 message(This:name()+M) } function number entity:isBlacklisted() { return Blacklist[This:steamID(), number] } function number wirelink:egpButton(Idx:number,Ply:entity){ # I give you 500.000 if you can optimize this... Does not include Dynn, Mads Madsen, Emoyly. Hint (DoktorDim) - I know how but do you? TL = This:egpPos(Idx) - This:egpSize(Idx) / 2 * (0 ? 0 : 1) BR = This:egpPos(Idx) + This:egpSize(Idx) / (0 ? 1 : 2) Cur = This:egpCursor(Ply) return inrange(Cur, TL, BR) exit() } function number entity:getWepPrice() { return This:isShipment() ? This:shipmentPrice() + Profit + (Temp["Blacklisted", number] * Set["blacklist-extra-price",number] ) : 0 } function string entity:getWepName() { return This:isShipment() ? This:shipmentName() : "Udsolgt" } function void entity:r() #Lazy Trixx { W:pushArray(array(This:getWepName(), This:getWepPrice(), This, 0, This:isShipment())) } function void checkWeapon(Index) { local A = W[Index,array] if(!A[5,number] | !A[3,entity]:isShipment()){return} # The first check is just so i donno check many times yes yes? W[Index,array][4,number] = !W[Index,array][4,number] if(W[Index,array][4,number]) { Price +=A[2,number] }else { Price -=A[2,number] } EGP:egpAlpha(50+Index, W[Index,array][4,number] ? 255 : 0) local Tx = Price >=1 ? Price+"" : "INTET VALGT" EGP:egpSetText(19,Tx) } function void updateShipments() { W:clear() R1:r() R2:r() R3:r() R4:r() R5:r() R6:r() } function void wirelink:drawLogin() { S=1 CurUser=noentity() This:egpClear() This:egpBox(1, vec2(256,256), vec2(512,512)) This:egpColor(1, vec(36,36,36)) This:egpText(3, "L E C T U M" , vec2(256,73)) This:egpAlign(3,1,1) This:egpFont(3,"Courier New",35) This:egpBox(5, vec2(256,400), vec2(220,70)) This:egpText(6, "BEGYND", vec2(256,400)) This:egpAlign(6,1,1) This:egpFont(6,"Courier New",30) This:egpColor(6, vec(36,36,36)) #Hey smatso, nummer?! This:egpBox(7, vec2(256,340), vec2(220,1)) This:egpColor(7, vec(13, 152, 186)) This:egpText(8, "", vec2(256,332)) This:egpSize(8, 25) This:egpAlign(8,1,1) This:egpFont(8, "Courier New") #Logo This:egpPoly(9, vec2(151,185), vec2(130,85), vec2(400,100), vec2(372,100)) This:egpColor(9, vec(13, 152, 186)) This:egpPoly(10, vec2(141,20), vec2(150,53), vec2(372,53), vec2(372,100)) This:egpColor(10, vec(13, 152, 186)) This:egpPoly(11, vec2(148,192), vec2(125,83), vec2(130,213), vec2(406,103)) This:egpBox(12, vec2(456,236), vec2(10,400)) This:egpColor(12, vec(13, 152, 186)) This:egpBox(13, vec2(56,236), vec2(10,400)) This:egpColor(13, vec(13, 152, 186)) } function void wirelink:drawBuy() { Price=0 updateShipments() timer("check-pos", 2500) S=2 This:egpClear() This:egpBox(1, vec2(256,256), vec2(512,512)) This:egpColor(1, vec(36,36,36)) This:egpBox(2, vec2(256,256), vec2(250,512)) This:egpColor(2, vec4(81,81,81,50)) for(I=1, 6) { local Ar = W[I,array] local Y = 56 + 60 * I This:egpBox(30+I, vec2(256,Y), vec2(200,50)) This:egpColor(30+I, vec(13, 152, 186)) This:egpText(40+I,Ar[1, string]+" - "+Ar[2, number], vec2(256,Y)) This:egpAlign(40+I,1,1) This:egpFont(40+I,"Courier New",20) This:egpBoxOutline(50+I, vec2(256,Y), vec2(200,50)) This:egpColor(50+I, 225, 225, 225, 0) } This:egpBox(17, vec2(256,56), vec2(250,35)) This:egpColor(17, vec4(36,36,36,150)) This:egpText(16,"UDVALG", vec2(256,56)) This:egpAlign(16,1,1) This:egpFont(16,"Courier New",30) This:egpBox(18, vec2(256,486), vec2(200,50)) This:egpColor(18, vec4(178,34,34,150)) This:egpText(19, "INTET VALGT", vec2(256,485)) This:egpAlign(19,1,1) This:egpFont(19,"Courier New",20) This:egpBox(20, vec2(385,256), vec2(5,520)) This:egpColor(20, vec(13,152,186)) This:egpBox(21, vec2(130,256), vec2(5,520)) This:egpColor(21, vec(13,152,186)) } EGP:drawLogin() } if(~User & User & ops() < 125) { if(S==1 & !CurUser) { CurUser = User S=-1 Temp["Name", array] = CurUser:name():sub(0, 14):explode("") Temp["NameText", string] = " " Temp["NameCount", number] = Temp["Name", array]:count() Temp["Blacklisted", number] = CurUser:isBlacklisted() timer("fancy-login", 50) }elseif(CurUser == User) { if(S==2) { if(EGP:egpButton(18, User)) { moneyRequest(User, Price, "Pornoblad") }else { for(I=1, 8) { if(EGP:egpButton(30+I, User)) { checkWeapon(I) break } } } } } }elseif(clk("fancy-login")) { LN = Temp["NameText", string]:length() if(LN <= Temp["NameCount", number]) { Temp["NameText", string] = Temp["NameText", string] + Temp["Name", array][LN,string] EGP:egpSetText(8,Temp["NameText", string]) timer("fancy-login", 120) }else { timer("draw-buy", 200) } }elseif(clk("draw-buy")) { EGP:drawBuy() }elseif(clk("check-pos")) { if(S==2) { if(CurUser:pos():distance(EGP:entity():pos())>125) { EGP:drawLogin() } else { timer("check-pos",4000) } } } elseif(moneyClk("Pornoblad")) # Shit? { for(I=1,W:count()) { local A = W[I,array] if(A[4,number] >= 1) { Sold++ Earned+=Profit if(!A[3,entity]:ejectWeapon()) { message("Fejl i at ejecte et v"+aa()+"ben: "+A[1,string]) } W[I,array][4,number] = 0 } } EGP:drawLogin() } elseif(moneyNoClk("Pornoblad") | moneyTimeout("Pornoblad")) { EGP:drawLogin() } elseif(chatClk(owner())) { local LS = lastSaid():explode(" ") local Ply = findPlayerByName(LS[2,string]) local Arg = LS[2,string]:toNumber() switch(LS[1,string]) { case "!profit", if(Arg) { Profit = Arg message("Satte Profitten til: "+Arg+" kr.") }else { message("Profit: "+Profit) } break, case "!sold", message("Du har solgt "+Sold+" v"+aa()+"ven og tjent "+Earned+" kr.") break, case "!remain", if(R1:isShipment()){printColor(vec(255),R1:shipmentName()+" - "+R1:shipmentAmount())} if(R2:isShipment()){printColor(vec(255),R2:shipmentName()+" - "+R2:shipmentAmount())} if(R3:isShipment()){printColor(vec(255),R3:shipmentName()+" - "+R3:shipmentAmount())} if(R4:isShipment()){printColor(vec(255),R4:shipmentName()+" - "+R4:shipmentAmount())} if(R5:isShipment()){printColor(vec(255),R5:shipmentName()+" - "+R5:shipmentAmount())} if(R6:isShipment()){printColor(vec(255),R6:shipmentName()+" - "+R6:shipmentAmount())} break, case "!blacklist", if(Ply:isPlayer()) { Ply:blacklist() } else { message("Brug !shop blacklist <Navn>") } break, case "!removeblacklist", if(Ply:isPlayer()) { Ply:whitelist() }else { message("Brug !shop whitelist <Navn>") } break, case "!logout", EGP:drawLogin() message("Loggede Cancer Barn UD!") break, case "!help", message("Commands: help - logout - blacklist - removeblacklist - remain - sold - profit") break, default, break, } } E2'en er ikke testet lol. Link til kommentar Del på andre sites More sharing options...
xkow Besvaret September 20, 2018 Del Besvaret September 20, 2018 1 minut siden, Trixx skrev: E2'en er ikke testet lol. Kvalitet. - Sikkert god anyways.. 😉 Link til kommentar Del på andre sites More sharing options...
Trixx Besvaret September 20, 2018 Forfatter Del Besvaret September 20, 2018 Link til kommentar Del på andre sites More sharing options...
xkow Besvaret September 20, 2018 Del Besvaret September 20, 2018 Lige nu, Trixx skrev: Den er sku da meget pæn. 6 minutter siden, Trixx skrev: Set["blacklist-extra-price", number] = 10000 Gør dette så at hvis man er blacklisted skal man betale 10k oven ekstra? Link til kommentar Del på andre sites More sharing options...
TacoCat :D Besvaret September 20, 2018 Del Besvaret September 20, 2018 23 minutter siden, xKow skrev: Den er sku da meget pæn. Gør dette så at hvis man er blacklisted skal man betale 10k oven ekstra? Yes Link til kommentar Del på andre sites More sharing options...
xkow Besvaret September 20, 2018 Del Besvaret September 20, 2018 Lige nu, TacoCat :D skrev: Yes noice Link til kommentar Del på andre sites More sharing options...
DoktorDim Besvaret September 20, 2018 Del Besvaret September 20, 2018 Mit bedste bud på egpButton() funktionen er: function number wirelink:egpButton(Player:entity,Index:number){ Pos=This:egpPos(Index) Size=This:egpSize(Index) return inrange(This:egpCursor(Player),Pos-Size/2,Pos+Size/2) } Man kan godt fjerne "/2" tegnene, men så fanger den også, når man klikker lidt uden for EGP skærmen. Link til kommentar Del på andre sites More sharing options...
kongmagnusergod Besvaret November 25, 2018 Del Besvaret November 25, 2018 Det er sikkert et dumt spørgsmål, men hvordan "spawner" jeg det? Link til kommentar Del på andre sites More sharing options...
Kagen Besvaret November 25, 2018 Del Besvaret November 25, 2018 Utroligt denne gunshop ikke bliver brugt af flere, den er gratis virker, og er bestemt ikke grim Link til kommentar Del på andre sites More sharing options...
Recommended Posts
Arkiveret
Dette emne er nu arkiveret og er lukket for yderligere svar