Yung Coke Guns 1.0
@name Yung Guns
@inputs EGP:wirelink User:entity
@persist Weps:array Owner:entity Profit:number
if(first() | ~EGP & EGP){
Weps = array()
Owner = owner()
Profit = 2000
setName("Yung Coke Guns\nVersion 1.0")
function number wirelink:egpButton(Index:number,Player:entity){
Pos = This:egpPos(Index)
Size = This:egpSize(Index) / 2
return inrange(This:egpCursor(Player),Pos-Size,Pos+Size)
}
function number entity:wepPrice(){
return This:isShipment() ? This:shipmentPrice() + Profit : 0
}
function string moneyFormat(N){
local Formatted = N+""
local Last = ""
while(1){
Formatted = Formatted:replaceRE("^(-?%d+)(%d%d%d)", "%1.%2")
if(Formatted==Last){
break
}
Last=Formatted
}
return Formatted+" DKK"
}
function void updateDisplayWeps(){
for(I = 1,Weps:count()){
EGP:egpBox(3+I,vec2(256,106 + (56 * I)),vec2(356,46)) EGP:egpColor(3+I,45,65,80,255)
EGP:egpText(9+I,Weps[I,entity]:shipmentName()+" - "+moneyFormat(Weps[I,entity]:wepPrice()),vec2(256,106 + (56 * I))) EGP:egpAlign(9+I,1,1) EGP:egpFont(9+I,"Roboto",25)
}
}
EGP:egpClear()
EGP:egpBox(1,vec2(256,256),vec2(512,512)) EGP:egpMaterial(1,"data/stavox/images/e2imgs_22c9e35adcd6287dbf3ca7b654953a6b_usr.png")
EGP:egpRoundedBox(2,vec2(256,66),vec2(486,86)) EGP:egpColor(2,30,55,155,255)
EGP:egpText(3,"- Yung Coke Guns -",vec2(256,66)) EGP:egpAlign(3,1,1) EGP:egpFont(3,"Roboto",50)
}
local Aim = Owner:aimEntity()
interval(2000)
if(Aim:isShipment() & !Weps[Aim:id(),number] & Weps:count() < 6){
Weps:pushEntity(Aim)
Weps[Aim:id(),number] = 1
print("Added shipment ("+Weps:count()+") - ["+Aim:shipmentName()+" x"+Aim:shipmentAmount()+"]")
}
for(I = 1,Weps:count()){
if(!Weps[I,entity]:isValid()){
EGP:egpRemove(3+I)
EGP:egpRemove(9+I)
Weps:remove(I)
Weps[Weps[I,entity]:id(),number] = 0
print("Removed/Replaced shipment.")
}
if(changed(Weps:count())){
updateDisplayWeps()
}
}
if(~User & User & ops() < 85){
for(I = 1,6){
if(EGP:egpButton(I+3,User) & Weps[I,entity]:isShipment()){
moneyRequest(User,Weps[I,entity]:wepPrice(),"Gun"+I)
}
}
}
event moneyRequestRespond(_:entity,_:number,Title:string,Paid:number,_:number,_:number){
if(Paid){
for(I = 1,6){
switch(Title){
case "Gun"+I,
Weps[I,entity]:ejectWeapon()
break
default,
}
}
}
}
event chat(Player:entity,Message:string,_:number){
if(Player == Owner & Message[1] == "!"){
local Rest = Message:sub(2)
local Arguments = Rest:explode(" ")
switch(Arguments[1,string]){
case "profit",
Profit = Arguments[2,string]:toNumber()
print("Profit sat til "+moneyFormat(Profit))
updateDisplayWeps()
hideChat(1)
break
default,
print("Unknown command.")
}
}
}
Blev lidt træt af Protein-Gunshop havde en masse nye errors pga. e2-updates. Den her fungerer næsten på samme måde udover man ikke behøver trykke på sine shipments men bare kan kigge på dem i ~2 sekunder. MoneyFormat af Trixx og EGPButton af DokterDim. Designet er så simpelt som muligt og håber total meget folk vil have lyst til at sætte deres eget præg på E2en og bruge en selv #MakeStavoxAliveAgain
Ifht. Zitech/Protein Guns, så kører den her over et array fremfor table - hvilket jeg har ingen idé om er bedre eller værre.
- Yung Coke er en fyr