Hop til indhold
Stavox

MukhleBorgmester - Opdateret 19/04-23


Recommended Posts

E2'en udgives som den er, og jeg vil ikke hjælpe med at bruge den eller med at foretage ændringer i den.

 

Spoiler
-mayor
	license
		player
			add {navn eller steamid} | Giv en spiller ubegrænset våbenlicens.
			remove {navn eller steamid} | Fjern en spillers ubegrænset våbenlicens.
			list | Liste over spillere med ubegrænset våbenlicens.
		gang
			add {gang navn} | Giv et gang ubegrænset våbenlicens.
			remove {gang navn} | Fjern et gangs ubegrænset våbenlicens.
			list | Liste over gangs med ubegrænset våbenlicens.
	blacklist
		player
			add {navn eller steamid} | Blacklist en spiller fra at benytte skærmen.
			remove {navn eller steamid} | Tillad en blacklisted spiller at benytte skærmen.
			list | Liste over blacklistede spillere.
		gang
			add {gang navn} | Blacklist et gang fra at benytte skærmen.
			remove {gang navn} | Tillad et blacklisted gang at benytte skærmen.
			list | Liste over blacklistede gangs.
	lottery
		start {pris} | Start et lotteri med den angivne pris.
		fix | Nulstiller cooldown på at kunne købe lotteri fra skærmen, hvis det stopper med at virke.
	away | Deaktiverer skærmens funktioner.
	back | Genaktiverer skærmens funktioner.

 

@name MukhleBorgmester
@inputs [ Egp ]:wirelink [ User ]:entity
@persist [ O ]:entity
@persist [ MiscData PlayerOnce PlayerUnlimited GangUnlimited PlayerBlacklist GangBlacklist SteamIDLookup ]:gtable
@persist [ PlayerOnceMessage PlayerUnlimitedMessage GangUnlimitedMessage LotteryMessage ]:string
@persist [ PlayerUnlimitedInfo GangUnlimitedInfo NoCanGiveMessage NoGangMessage NoPresentMessage ]:string
@persist [ Active Present BlockLottery ]:number
@persist [ Players ]:array
@persist [ PlayersCurrent PlayersTarget ]:number
@persist [ MessageCooldown ]:table
@persist [ Config ]:table

if ( dupefinished() ) {
    reset()
}

if ( first() ) {
    if ( !canReadConvar() ) {
        error( "Skriv \"wire_expression2_convar 1\" i console, for at E2'en kan virke." )
    }

    if ( !convarnum( "wire_expression2_concmd" ) ){
        error( "Skriv \"wire_expression2_concmd 1\" i console, for at E2'en kan virke." )
    }

    O = owner()

    MiscData = gTable( "License_MiscData", 0 )
    PlayerOnce = gTable( "License_PlayerOnce", 0 )
    PlayerUnlimited = gTable( "License_PlayerUnlimited", 0 )
    GangUnlimited = gTable( "License_GangUnlimited", 0 )
    PlayerBlacklist = gTable( "License_PlayerBlacklist", 0 )
    GangBlacklist = gTable( "License_GangBlacklist", 0 )
    SteamIDLookup = gTable( "SteamIDLookup", 2 )

    PlayerOnceMessage = format( "V%sbenlicens1", aa() )
    PlayerUnlimitedMessage = format( "V%sbenlicens2", aa() )
    GangUnlimitedMessage = format( "V%sbenlicens3", aa() )
    LotteryMessage = "Lotteri"

    PlayerUnlimitedInfo = array(
        format( "Ved k%sb vil du vil modtage v%sbenlicens et ubegr%snset antal gange indtil serveren crasher eller restarter, s%s l%snge at jeg er borgmester.", oe(), aa(), ae(), aa(), ae() ),
        format( "K%sb af denne ydelse er p%s eget ansvar, og der vil ikke blive givet nogen refunderinger.", oe(), aa() )
    ):concat( "\n" )

    GangUnlimitedInfo = array(
        format( "Ved k%sb vil du, og andre spillere som er del af dit nuv%srende gang vil modtage v%sbenlicens et ubegr%snset antal gange indtil serveren crasher eller restarter, s%s l%snge at jeg er borgmester.", oe(), ae(), aa(), ae(), aa(), ae() ),
        format( "K%sb af denne ydelse er p%s eget ansvar, og der vil ikke blive givet nogen refunderinger.", oe(), aa() )
    ):concat( "\n" )

    NoCanGiveMessage = format( "Jeg kan p%s nuv%srende tidspunkt ikke udstede v%sbenlicens", aa(), ae(), aa() )
    NoGangMessage = format( "Du skal v%sre en del af et gang for at kunne k%sbe denne ydelse.", ae(), oe() )
    NoPresentMessage = format( "Jeg er p%s nuv%srende tidspunkt ikke til stede", aa(), ae() )

    Active = 0
    Present = 1
    BlockLottery = 0

    Players = array()
    PlayersCurrent = 0
    PlayersTarget = 0

    MessageCooldown = table()

    Config = table(
        "BackgroundColor" = vec( 31, 31, 31 ),
        "ButtonColor" = vec( 204, 36, 36 ),
        "ButtonBorderColor" = vec( 127, 23, 23 ),
        "IconColor" = vec( 31, 31, 31 ),
        "TextColor" = vec( 255, 255, 255 )
    )

    function number string:isSteamID() {
        return This:matchFirst( "STEAM_[0-5]:[01]:%d+$" ) ? 1 : 0
    }

    function number entity:isCustomer() {
        local SteamID = This:steamID()
        local Gang = This:getGang()

        if ( GangUnlimited[ Gang, number ] ) {
            return 3
        } elseif ( PlayerUnlimited[ SteamID, number ] ) {
            return 2
        } elseif ( PlayerOnce[ SteamID, number ] ) {
            return 1
        }

        return 0
    }

    function number entity:blacklistStatus() {
        local SteamID = This:steamID()
        local Gang = This:getGang()

        if ( GangBlacklist[ Gang, number ] ) {
            return 2
        } elseif ( PlayerBlacklist[ SteamID, number ] ) {
            return 1
        }

        return 0
    }

    function number entity:cooldownMessage( Message:string, Cooldown:number ) {
        local SteamID = This:steamID()

        if ( curtime() > MessageCooldown[ SteamID, number ] ) {
            sendMessage( This, Message )

            MessageCooldown[ SteamID, number ] = curtime() + Cooldown

            return 1
        }

        return 0
    }

    function background() {
        local Color = Config[ "BackgroundColor", vector ]

        Egp:egpBox( 1, vec2( 256, 256 ), vec2( 512, 512 ) )
        Egp:egpColor( 1, Color )

        Egp:egpPoly( 2, array( vec2( 193, 413 ), vec2( 0, 436 ), vec2( 0, 283 ) ) )
        Egp:egpColor( 2, Color*0.9 )

        Egp:egpPoly( 3, array( vec2( 96, 207 ), vec2( 192, 0 ), vec2( 0, 0 ) ) )
        Egp:egpColor( 3, Color*0.75 )

        Egp:egpPoly( 4, array( vec2( 96, 207 ), vec2( 512, 0 ), vec2( 192, 0 ) ) )
        Egp:egpColor( 4, Color*0.8 )

        Egp:egpPoly( 5, array( vec2( 302, 104 ), vec2( 193, 413 ), vec2( 96, 207 ) ) )
        Egp:egpColor( 5, Color*0.9 )

        Egp:egpPoly( 6, array( vec2( 400, 512 ), vec2( 302, 104 ), vec2( 193, 413 ) ) )
        Egp:egpColor( 6, Color*0.75 )

        Egp:egpPoly( 7, array( vec2( 353, 320 ), vec2( 512, 417 ), vec2( 512, 0 ) ) )
        Egp:egpColor( 7, Color*0.9 )

        Egp:egpPoly( 8, array( vec2( 442, 373 ), vec2( 400, 512 ), vec2( 353, 320 ) ) )
        Egp:egpColor( 8, Color*0.8 )

        Egp:egpPoly( 9, array( vec2( 442, 373 ), vec2( 512, 512 ), vec2( 512, 417 ) ) )
        Egp:egpColor( 9, Color*0.75 )

        Egp:egpPoly( 10, array( vec2( 193, 413 ), vec2( 400, 512 ), vec2( 120, 512 ) ) )
        Egp:egpColor( 10, Color*0.9 )

        Egp:egpPoly( 11, array( vec2( 78, 426 ), vec2( 0, 512 ), vec2( 0, 436 ) ) )
        Egp:egpColor( 11, Color*0.75 )

        Egp:egpPoly( 12, array( vec2( 78, 426 ), vec2( 120, 512 ), vec2( 0, 512 ) ) )
        Egp:egpColor( 12, Color*0.8 )
    }

    function number wirelink:egpButton( Idx:number, Ply:entity ){
        local Cur = This:egpCursor( Ply )

        return Egp:egpObjectContainsPoint( Idx, Cur )
    }

    Egp:egpClear()

    background()

    # ##########
    # ----------
    # ----------
    # ----------
    # ----------

    Egp:egpBox( 20, vec2( 256, 76 ), vec2( 448, 88 ) )
    Egp:egpColor( 20, Config[ "ButtonColor", vector ] )

    Egp:egpBoxOutline( 21, vec2( 256, 76 ), vec2( 448, 88 ) )
    Egp:egpColor( 21, Config[ "ButtonBorderColor", vector ] )
    Egp:egpSize( 21, 4 )

    Egp:egpText( 22, format( "V%sbenlicens", aa() ), vec2( 256, 66 ) )
    Egp:egpColor( 22, Config[ "TextColor", vector ] )
    Egp:egpAlign( 22, 1, 1 )
    Egp:egpSize( 22, 18 )

    Egp:egpText( 23, "3.000kr", vec2( 256, 86 ) )
    Egp:egpColor( 23, Config[ "TextColor", vector ] )
    Egp:egpAlign( 23, 1, 1 )

    # ----------
    # #######---
    # ----------
    # ----------
    # ----------

    Egp:egpBox( 30, vec2( 196, 196 ), vec2( 334, 88 ) )
    Egp:egpColor( 30, Config[ "ButtonColor", vector ] )

    Egp:egpBoxOutline( 31, vec2( 196, 196 ), vec2( 334, 88 ) )
    Egp:egpColor( 31, Config[ "ButtonBorderColor", vector ] )
    Egp:egpSize( 31, 4 )

    Egp:egpText( 32, format( "Ubegr%snset v%sbenlicens", ae(), aa() ), vec2( 196, 186 ) )
    Egp:egpColor( 32, Config[ "TextColor", vector ] )
    Egp:egpAlign( 32, 1, 1 )
    Egp:egpSize( 32, 18 )

    Egp:egpText( 33, "15.000kr", vec2( 196, 206 ) )
    Egp:egpColor( 33, Config[ "TextColor", vector ] )
    Egp:egpAlign( 33, 1, 1 )

    # ----------
    # ---------#
    # ----------
    # ----------
    # ----------

    Egp:egpBox( 34, vec2( 436, 196 ), vec2( 88, 88 ) )
    Egp:egpColor( 34, Config[ "ButtonColor", vector ] )

    Egp:egpBoxOutline( 35, vec2( 436, 196 ), vec2( 88, 88 ) )
    Egp:egpColor( 35, Config[ "ButtonBorderColor", vector ] )
    Egp:egpSize( 35, 4 )

    Egp:egpBox( 36, vec2( 436, 196 ), vec2( 48, 48 ) )
    Egp:egpMaterial( 36, "data/stavox/images/mdicons_128_info_outline.png" )
    Egp:egpColor( 36, Config[ "IconColor", vector ] )

    # ----------
    # ----------
    # #######---
    # ----------
    # ----------

    Egp:egpBox( 40, vec2( 196, 316 ), vec2( 334, 88 ) )
    Egp:egpColor( 40, Config[ "ButtonColor", vector ] )

    Egp:egpBoxOutline( 41, vec2( 196, 316 ), vec2( 334, 88 ) )
    Egp:egpColor( 41, Config[ "ButtonBorderColor", vector ] )
    Egp:egpSize( 41, 4 )

    Egp:egpText( 42, format( "Ubegr%snset v%sbenlicens til gang", ae(), aa() ), vec2( 196, 306 ) )
    Egp:egpColor( 42, Config[ "TextColor", vector ] )
    Egp:egpAlign( 42, 1, 1 )
    Egp:egpSize( 42, 18 )

    Egp:egpText( 43, "50.000kr", vec2( 196, 326 ) )
    Egp:egpColor( 43, Config[ "TextColor", vector ] )
    Egp:egpAlign( 43, 1, 1 )

    # ----------
    # ----------
    # ---------#
    # ----------
    # ----------

    Egp:egpBox( 44, vec2( 436, 316 ), vec2( 88, 88 ) )
    Egp:egpColor( 44, Config[ "ButtonColor", vector ] )

    Egp:egpBoxOutline( 45, vec2( 436, 316 ), vec2( 88, 88 ) )
    Egp:egpColor( 45, Config[ "ButtonBorderColor", vector ] )
    Egp:egpSize( 45, 4 )

    Egp:egpBox( 46, vec2( 436, 316 ), vec2( 48, 48 ) )
    Egp:egpMaterial( 46, "data/stavox/images/mdicons_128_info_outline.png" )
    Egp:egpColor( 46, Config[ "IconColor", vector ] )

    # ----------
    # ----------
    # ----------
    # ##########
    # ----------

    Egp:egpBox( 50, vec2( 256, 436 ), vec2( 448, 88 ) )
    Egp:egpColor( 50, Config[ "ButtonColor", vector ] )

    Egp:egpBoxOutline( 51, vec2( 256, 436 ), vec2( 448, 88 ) )
    Egp:egpColor( 51, Config[ "ButtonBorderColor", vector ] )
    Egp:egpSize( 51, 4 )

    Egp:egpText( 52, "Lotteri", vec2( 256, 426 ) )
    Egp:egpColor( 52, Config[ "TextColor", vector ] )
    Egp:egpAlign( 52, 1, 1 )
    Egp:egpSize( 52, 18 )

    Egp:egpText( 53, "10.000kr", vec2( 256, 446 ) )
    Egp:egpColor( 53, Config[ "TextColor", vector ] )
    Egp:egpAlign( 53, 1, 1 )

    timer( "GiveLicense", 100 )
    timer( "CheckCanLicense", 200 )
    timer( "PlayerLoop", 300 )

    elevateCommandAccess()
} elseif ( clk( "PlayerLoop" ) ) {
    if ( PlayersCurrent <= PlayersTarget ) {
        local Player = Players[ PlayersCurrent, entity ]

        if ( Player ) {
            local SteamID = Player:steamID()
            local Name = Player:name()

            SteamIDLookup[ SteamID, entity ] = Player
            SteamIDLookup[ SteamID, string ] = Name

            local HasLicense = PlayerOnce[ SteamID, number ]

            if ( HasLicense ) {
                local Player = SteamIDLookup[ SteamID, entity ]

                if ( Player:hasLicense() ) {
                    PlayerOnce:removeNumber( SteamID )
                }
            }
        }

        PlayersCurrent++
    }else {
        Players = players()
        PlayersTarget = Players:count()
        PlayersCurrent = 1
    }

    timer( "PlayerLoop", 500 )
} elseif ( clk( "GiveLicense" ) ) {
    if ( Active ) {
        local Entity = O:aimEntity()

        if ( Entity:isPlayer() & Entity:pos():distance2( O:pos() ) < 9216 ) {
            if ( Entity:hasLicense() == 0 & Entity:isCustomer() & Entity:blacklistStatus() == 0 ) {
                concmd( "darkrp givelicense" )
            }
        }
    }

    timer( "GiveLicense", 500 )
} elseif ( clk( "CheckCanLicense" ) ) {
    Active = O:team() == 4

    timer( "CheckCanLicense", 5000 )
}

event chat( Player:entity, Message:string, _:number ) {
    if ( Player != O ) { exit() }

    local LastSaid = Message:explode( " " )

    if ( LastSaid[ 1, string ] == "-mayor" ) {
        if ( LastSaid[ 2, string ] == "license" ) {
            if ( LastSaid[ 3, string ] == "player" ) {
                if ( LastSaid[ 4, string ] == "add" ) {
                    local Find = LastSaid:concat( " ", 5 )

                    if ( Find:isSteamID() ) {
                        local Player = SteamIDLookup[ Find, entity ]

                        if ( Player ) {
                            local Name = Player:name()

                            if ( Name ) {
                                PlayerUnlimited[ Find, number ] = 1

                                printColor( vec( 255, 127, 0 ), Name, vec( 0, 200, 0 ), format( " tilf%sjet.", oe() ) )
                            }
                        }else {
                            PlayerUnlimited[ Find, number ] = 1

                            printColor( vec( 255, 127, 0 ), Find, vec( 0, 200, 0 ), format( " tilf%sjet.", oe() ) )
                        }
                    }else {
                        local Player = findPlayerByName( Find )

                        if ( Player ) {
                            local Name = Player:name()
                            local SteamID = Player:steamID()

                            PlayerUnlimited[ SteamID, number ] = 1

                            printColor( vec( 255, 127, 0 ), Name, vec( 0, 200, 0 ), format( " tilf%sjet.", oe() ) )
                        }else {
                            printColor( vec( 255, 255, 255 ), "Spiller \"", vec( 255, 127, 0 ), Find, vec( 255, 255, 255 ), "\" ikke fundet." )
                        }
                    }
                } elseif ( LastSaid[ 4, string ] == "remove" ) {
                    local Find = LastSaid:concat( " ", 5 )

                    if ( Find:isSteamID() ) {
                        local Player = SteamIDLookup[ Find, entity ]

                        if ( Player ) {
                            local Name = Player:name()

                            if ( Name ) {
                                PlayerUnlimited[ Find, number ] = 0

                                printColor( vec( 255, 127, 0 ), Name, vec( 200, 0, 0 ), " fjernet." )
                            }
                        }else {
                            PlayerUnlimited[ Find, number ] = 0

                            printColor( vec( 255, 127, 0 ), Find, vec( 200, 0, 0 ), " fjernet." )
                        }
                    }else {
                        local Player = findPlayerByName( Find )

                        if ( Player ) {
                            local Name = Player:name()
                            local SteamID = Player:steamID()

                            PlayerUnlimited[ SteamID, number ] = 0

                            printColor( vec( 255, 127, 0 ), Name, vec( 200, 0, 0 ), " fjernet." )
                        }else {
                            printColor( vec( 255, 255, 255 ), "Spiller \"", vec( 255, 127, 0 ), Find, vec( 255, 255, 255 ), "\" ikke fundet." )
                        }
                    }
                } elseif ( LastSaid[ 4, string ] == "list" ) {
                    foreach( SteamID, Licens:number=PlayerUnlimited ) {
                        if ( Licens ) {
                            local PlayersTarget = SteamIDLookup[ SteamID, entity ]

                            if ( PlayersTarget ) {
                                local Name = PlayersTarget:name()

                                printColor( vec( 255, 127, 0 ), Name, vec( 0, 200, 0 ), " ONLINE" )
                            }else {
                                local Name = SteamIDLookup[ SteamID, string ]

                                if ( Name ) {
                                    printColor( vec( 255, 127, 0 ), Name, "( ", SteamID, " )", vec( 200, 0, 0 ), " OFFLINE" )
                                }else {
                                    printColor( vec( 255, 127, 0 ), SteamID, vec( 200, 0, 0 ), " OFFLINE" )
                                }
                            }
                        }
                    }
                }
            } elseif ( LastSaid[ 3, string ] == "gang" ) {
                if ( LastSaid[ 4, string ] == "add" ) {
                    local Gang = LastSaid:concat( " ", 5 )

                    GangUnlimited[ Gang, number ] = 1

                    printColor( vec( 255, 127, 0 ), Gang, vec( 0, 200, 0 ), format( " tilf%sjet.", oe() ) )
                } elseif ( LastSaid[ 4, string ] == "remove" ) {
                    local Gang = LastSaid:concat( " ", 5 )

                    GangUnlimited[ Gang, number ] = 0

                    printColor( vec( 255, 127, 0 ), Gang, vec( 200, 0, 0 ), " fjernet." )
                } elseif ( LastSaid[ 4, string ] == "list" ) {
                    foreach( Gang, Licens:number=GangUnlimited ) {
                        if ( Licens ) {
                            printColor( vec( 255, 127, 0 ), Gang )
                        }
                    }
                }
            }
        } elseif ( LastSaid[ 2, string ] == "blacklist" ) {
            if ( LastSaid[ 3, string ] == "player" ) {
                if ( LastSaid[ 4, string ] == "add" ) {
                    local Find = LastSaid:concat( " ", 5 )

                    if ( Find:isSteamID() ) {
                        local Player = SteamIDLookup[ Find, entity ]

                        if ( Player ) {
                            local Name = Player:name()

                            if ( Name ) {
                                PlayerBlacklist[ Find, number ] = 1

                                printColor( vec( 255, 127, 0 ), Name, vec( 0, 200, 0 ), " blacklisted." )
                            }
                        }else {
                            PlayerBlacklist[ Find, number ] = 1

                            printColor( vec( 255, 127, 0 ), Find, vec( 0, 200, 0 ), " blacklisted." )
                        }
                    }else {
                        local Player = findPlayerByName( Find )

                        if ( Player ) {
                            local Name = Player:name()
                            local SteamID = Player:steamID()

                            PlayerBlacklist[ SteamID, number ] = 1

                            printColor( vec( 255, 127, 0 ), Name, vec( 0, 200, 0 ), " blacklisted." )
                        }else {
                            printColor( vec( 255, 255, 255 ), "Spiller \"", vec( 255, 127, 0 ), Find, vec( 255, 255, 255 ), "\" ikke fundet." )
                        }
                    }
                } elseif ( LastSaid[ 4, string ] == "remove" ) {
                    local Find = LastSaid:concat( " ", 5 )

                    if ( Find:isSteamID() ) {
                        local Player = SteamIDLookup[ Find, entity ]

                        if ( Player ) {
                            local Name = Player:name()

                            if ( Name ) {
                                PlayerBlacklist[ Find, number ] = 0

                                printColor( vec( 255, 127, 0 ), Name, vec( 200, 0, 0 ), " unblacklisted." )
                            }
                        }else {
                            PlayerBlacklist[ Find, number ] = 0

                            printColor( vec( 255, 127, 0 ), Find, vec( 200, 0, 0 ), " unblacklisted." )
                        }
                    }else {
                        local Player = findPlayerByName( Find )

                        if ( Player ) {
                            local Name = Player:name()
                            local SteamID = Player:steamID()

                            PlayerBlacklist[ SteamID, number ] = 0

                            printColor( vec( 255, 127, 0 ), Name, vec( 200, 0, 0 ), " unblacklisted." )
                        }else {
                            printColor( vec( 255, 255, 255 ), "Spiller \"", vec( 255, 127, 0 ), Find, vec( 255, 255, 255 ), "\" ikke fundet." )
                        }
                    }
                } elseif ( LastSaid[ 4, string ] == "list" ) {
                    foreach( SteamID, Licens:number=PlayerBlacklist ) {
                        if ( Licens ) {
                            local PlayersTarget = SteamIDLookup[ SteamID, entity ]

                            if ( PlayersTarget ) {
                                local Name = PlayersTarget:name()

                                printColor( vec( 255, 127, 0 ), Name, vec( 0, 200, 0 ), " ONLINE" )
                            }else {
                                local Name = SteamIDLookup[ SteamID, string ]

                                if ( Name ) {
                                    printColor( vec( 255, 127, 0 ), Name, "( ", SteamID, " )", vec( 200, 0, 0 ), " OFFLINE" )
                                }else {
                                    printColor( vec( 255, 127, 0 ), SteamID, vec( 200, 0, 0 ), " OFFLINE" )
                                }
                            }
                        }
                    }
                }
            } elseif ( LastSaid[ 3, string ] == "gang" ) {
                if ( LastSaid[ 4, string ] == "add" ) {
                    local Gang = LastSaid:concat( " ", 5 )

                    GangBlacklist[ Gang, number ] = 1

                    printColor( vec( 255, 127, 0 ), Gang, vec( 0, 200, 0 ), " blacklisted." )
                } elseif ( LastSaid[ 4, string ] == "remove" ) {
                    local Gang = LastSaid:concat( " ", 5 )

                    GangBlacklist[ Gang, number ] = 0

                    printColor( vec( 255, 127, 0 ), Gang, vec( 200, 0, 0 ), " unblacklisted." )
                } elseif ( LastSaid[ 4, string ] == "list" ) {
                    foreach( Gang, Licens:number=GangBlacklist ) {
                        if ( Licens ) {
                            printColor( vec( 255, 127, 0 ), Gang )
                        }
                    }
                }
            }
        } elseif ( LastSaid[ 2, string ] == "away" ) {
            printColor( vec( 255, 127, 0 ), "Away." )

            Present = 0
        } elseif ( LastSaid[ 2, string ] == "back" ) {
            printColor( vec( 255, 127, 0 ), "Back." )

            Present = 1
        } elseif ( LastSaid[ 2, string ] == "lottery" ) {
            if ( LastSaid[ 3, string ] == "start" ) {
                if ( BlockLottery == 0 ) {
                    if ( curtime() > MiscData[ "NextLottery", number ] ) {
                        local Amount = LastSaid[ 4, string ]:toNumber()

                        if ( inrange( Amount, 100, 10000 ) ) {
                            concmd( format( "darkrp lottery %s", Amount ) )

                            printColor( vec( 255, 255, 255 ), format( "Du startede et lotteri p%s ", aa() ), vec( 255, 127, 0 ), Amount, vec( 255, 255, 255 ), " kr." )

                            concmd( "play buttons/button9.wav" )

                            MiscData[ "NextLottery", number ] = curtime() + 330
                        }
                    }else {
                        printColor( vec( 255, 255, 255 ), "Du kan starte et lotteri om ", vec( 255, 127, 0 ), ceil( MiscData[ "NextLottery", number ] - curtime() ), vec( 255, 255, 255 ), " sekunder." )
                    }
                }else {
                    printColor( vec( 255, 255, 255 ), "Der er en spiller igang med at starte et lotteri." )
                }
            } elseif ( LastSaid[ 3, string ] == "fix" ) {
                BlockLottery = 0
            }
        }
        
        hideChat(1)
    }
}

event input( InputName:string ) {
    if ( cpuUsage() > 0.000060 ) { exit() }

    if ( InputName == "User" & User ) {
        if ( !Active ) {
            User:cooldownMessage( NoCanGiveMessage, 30 )

            exit()
        }

        if ( !Present ) {
            User:cooldownMessage( NoPresentMessage, 30 )

            exit()
        }

        local Blacklist = User:blacklistStatus()

        if ( Blacklist ) { exit() }

        local Customer = User:isCustomer()

        if ( Egp:egpButton( 20, User ) ) {
            if ( Customer < 1 ) {
                if ( User:hasLicense() == 0 ) {
                    moneyRequest( User, 3000, PlayerOnceMessage )
                }
            }
        } elseif ( Egp:egpButton( 30, User ) ) {
            if ( Customer < 2 ) {
                User:cooldownMessage( PlayerUnlimitedInfo, 15 )

                moneyRequest( User, 15000, PlayerUnlimitedMessage )
            }
        } elseif ( Egp:egpButton( 40, User ) ) {
            if ( Customer < 3 ) {
                if ( User:getGang() == "No gang" ) {
                    User:cooldownMessage( NoGangMessage, 15 )
                }else {
                    User:cooldownMessage( GangUnlimitedInfo, 15 )

                    moneyRequest( User, 50000, GangUnlimitedMessage )
                }
            }
        } elseif ( Egp:egpButton( 34, User ) ) {
            User:cooldownMessage( PlayerUnlimitedInfo, 15 )
        } elseif ( Egp:egpButton( 44, User ) ) {
            User:cooldownMessage( GangUnlimitedInfo, 15 )
        } elseif ( Egp:egpButton( 50, User ) & BlockLottery == 0 ) {
            if ( curtime() > MiscData[ "NextLottery", number ] ) {
                moneyRequest( User, 10000, LotteryMessage )

                BlockLottery = 1
            }else {
                User:cooldownMessage( format( "Du kan betale for at starte et lotteri om %s sekunder", ceil( MiscData[ "NextLottery", number ] - curtime() ) ), 15 )
            }
        } elseif ( Egp:egpButton( 60, User ) ) {
            User:cooldownMessage( format( "Skriv den %snskede fartgr%snse imens du kigger p%s denne knap. Det skal v%sre en af: 30, 40, 45, 50.", oe(), ae(), aa(), ae() ), 15 )
        } elseif ( Egp:egpButton( 70, User ) ) {
            User:cooldownMessage( format( "Skriv den %snskede fartgr%snse imens du kigger p%s denne knap. Det skal v%sre en af: 60, 65, 70, 75, 80, 90.", oe(), ae(), aa(), ae() ), 15 )
        }
    }
}

event moneyRequestRespond( Target:entity, _:number, Title:string, Paid:number, _:number, _:number ) {
    if ( Title == PlayerOnceMessage ) {
        if ( !Paid ) { exit() }

        local SteamID = Target:steamID()

        printColor( vec( 255, 127, 0 ), Target:name(), vec( 0, 200, 0 ), format( " har betalt for at f%s et v%sbenlicens.", aa(), aa() ) )

        concmd( "play buttons/button3.wav" )

        PlayerOnce[ SteamID, number ] = 1
    } elseif ( Title == PlayerUnlimitedMessage ) {
        if ( !Paid ) { exit() }

        local SteamID = Target:steamID()

        printColor( vec( 255, 127, 0 ), Target:name(), vec( 0, 200, 0 ), format( " har betalt for at f%s et ubegr%snset v%sbenlicens.", aa(), ae(), aa() ) )

        concmd( "play buttons/button3.wav" )

        PlayerUnlimited[ SteamID, number ] = 1
    } elseif ( Title == GangUnlimitedMessage ) {
        if ( !Paid ) { exit() }

        local Gang = Target:getGang()

        printColor( vec( 255, 127, 0 ), Target:name(), vec( 0, 200, 0 ), format( " har betalt for at f%s et ubegr%snset v%sbenlicens til sit gang.", aa(), ae(), aa() ) )

        concmd( "play buttons/button3.wav" )

        GangUnlimited[ Gang, number ] = 1
    } elseif ( Title == LotteryMessage ) {
        BlockLottery = 0
        
        if ( !Paid ) { exit() }

        concmd( "darkrp lottery 10000" )

        printColor( vec( 255, 127, 0 ), Target:name(), vec( 0, 200, 0 ), " har betalt for starte et lotteri." )

        concmd( "play buttons/button9.wav" )

        MiscData[ "NextLottery", number ] = curtime() + 330
    }
}

 

 

  • +Rep 3
Link til kommentar
×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.