IsakViste icon

Smart Opener v2.0

IsakViste | PRO | 01/10/15 03:44:30 PM UTC | 0 ⭐ | 502 👁️ | Never ⏰ | []
text |

3.69 KB

|

None

|

0 👍

/

0 👎

@name Smart Opener v2.0
@inputs  CS:wirelink
@outputs Door
@persist Player:array [ScreenPosY X ScreenID Distance]:number TargetPlayer:entity
@trigger
 runOnChat(1)
interval(1000)
 function void screenDefault() {
    #SCREEN
    CS:egpClear()
    #BackGround
    CS:egpBox(1,vec2(256,256),vec2(512,512))
    CS:egpColor(1,vec(255,128,0))
    CS:egpMaterial(1, "gui/center_gradient")
    #TitleBox
    CS:egpBox(2,vec2(256,40),vec2(512,64))
    CS:egpColor(2,vec(0,204,0))
    CS:egpMaterial(2, "gui/center_gradient")
    #Title
    CS:egpText(3,"Player List",vec2(256,16))
    CS:egpAlign(3,1)
    CS:egpColor(3,vec(0,0,153))
    CS:egpSize(3,50)
     ScreenPosY = 80
    ScreenID = 10
    X = 0
}
 function void screenListPlayers() {
    while(X <= Player:count()) {
        CS:egpText(ScreenID,Player[X,entity]:name(),vec2(256,ScreenPosY))
        CS:egpAlign(ScreenID,1)
        CS:egpColor(ScreenID,vec(204,255,204))
        CS:egpSize(ScreenID,30)
        ScreenID++
        ScreenPosY = ScreenPosY + 32
        X++
    }
}
 if(first() | duped()){
    CS:egpClear()
     hint("Smart Opener v2.0 - Made by Mentin", 15)
    print("--------------------------------------------------")
    print("!add - To add a player")
    print("!remove - To remove a player")
    print("!list - To get the list of players")
    print("!clear - To clear the list of players")
    print("--------------------------------------------------")
     screenDefault()
}
 #SCREEN
#EmptyTitle
if(Player:count() == 0) {
    CS:egpText(10,"Empty",vec2(256,192))
    CS:egpAlign(10,1)
    CS:egpColor(10,vec(random(255),random(255),random(255)))
    CS:egpSize(10,100)
}
 #VALUES
Distance = 50
Chat = owner():lastSaid():explode(" ")
 #ADDING PLAYERS
if(Chat[1,string]=="!add" & chatClk(owner())){
    TempX1 = 0
    TargetPlayer = findPlayerByName(Chat[2,string])
    if(TargetPlayer:isPlayer()){
        while(TempX1 <= Player:count()+1) {
            if(TargetPlayer:name():lower()==Player[TempX1,entity]:name():lower()){
                hint("Player already on list!",10)
                break
            }
            if(TempX1 == Player:count()+1)
            {
                Player:pushEntity(TargetPlayer)
                screenDefault()
                screenListPlayers()
                break
            }
            TempX1++
        }
    } else {
        hint("Player not found",10)
    }
}
 #EMOVING PLAYERS
if(Chat[1,string]=="!remove"& chatClk(owner())){
    TempX2 = 0
    TargetPlayer = findPlayerByName(Chat[2,string])
    if(TargetPlayer:isPlayer()){
        while(TempX2 <= Player:count()+1){
            if(TargetPlayer == Player[TempX2,entity]){
                Player:remove(TempX2)
                screenDefault()
                screenListPlayers()
            }
            TempX2++
        }
    }
}
 #LIST PLAYERS
if(Chat[1,string]=="!list" & chatClk(owner())){
    TempX3 = 1
    print("-----------------")
    while(Player[TempX3,entity]:name()!= "") {
        print(Player[TempX3,entity]:name())
        TempX3++
    }
    print("-----------------")
}
 #REMOVE ALL PLAYERS
if(Chat[1,string]=="!clear"& chatClk(owner())){
    TempX4 = 1
    while (TempX4 < Player:count()+1){
        Player:remove(TempX4)
        TempX4+1
    }
    screenDefault()
    screenListPlayers()
}
 #OPEN FADING DOOR
Door = 0
Distance = 100
#TempX5 = 1
findByClass("player")
PlayerFound = findClosest(entity():pos())
if(PlayerFound:pos():distance(entity():pos())<Distance & PlayerFound:isAlive()){
    foreach(Index,Name:entity=Player){
        if(PlayerFound:name():lower() == Name:name():lower()){
            Door = 1
        }
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎