Paste #36635: Edit of P#33449 - Teleport

Date: 2016/10/06 17:27:50 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Tele-rune:
    type: world
    #<def[x]> not %x%
    #Lokacije sa .simple pisati!
    events:
        on player right clicks with Teleport_Rune:
        - narrate '<yellow>Who would you like to teleport to?'
        - narrate '<yellow>Say player name to send request or say Exit teleport'
        - narrate '<red>Note:<yellow> You have 15 seconds to say either name or Exit'
        - flag player Tele_Rune duration:15s

        on player chats:
        - if <player.has_flag[Tele_Rune]> && <server.list_online_players.contains[<context.message.as_player>]> {
            - determine <context.recipients.exclude[<server.list_online_players>]> passively
            - narrate '<yellow>Waiting for <context.message> to accept! '
            - narrate '<yellow><player.name> is trying to Teleport to you!' targets:<context.message.as_player>
            - narrate '<yellow>Write /accept to accept teleport or /decline to decline teleport!' targets:<context.message.as_player>
            - flag <context.message.as_player> TQ duration:15s
            - flag <player> <context.message> duration:15s
            - take item:i@Teleport_Rune qty:1
            - wait 1t
            - flag player Tele_Rune:!
            }
        - if <player.has_flag[Tele_Rune]> && <context.message> == 'exit' {
            - determine <context.recipients.exclude[<server.list_online_players>]> passively
            - narrate '<yellow>You Exited Teleport'
            - flag player Tele_rune:!
        }


        on accept command:
        - if <player.has_flag[TQ]> {
            - flag player TQ:!
            - narrate '<yellow><player.name> Accepted your Request!' targets:<server.get_players_flagged[<player.name>]>
            - narrate '<yellow>Teleporting in 2 seconds!' targets:<server.get_players_flagged[<player.name>]>
            - wait 2
            - teleport <server.get_players_flagged[<player.name>]> location: <player.location>
            - flag <server.get_players_flagged[<player.name>]> <player.name>:!
            - queue clear
            }
        - narrate '<yellow>You dont have pending teleport requests!'

        on decline command:
        - if <player.has_flag[TQ]> {
            - narrate '<yellow>Player Declined your Teleport!' targets:<server.get_players_flagged[<player.name>]>
            - flag player TQ:!
            - flag <server.get_players_flagged[<player.name>]> <player.name>:!
            - narrate '<yellow>You Declined Teleport Request!'
            - queue clear
        }
        - narrate '<yellow>You dont have pending teleport requests!'


Teleport-Accept:
    type: command
    name: accept
    description: Accepts pending teleport request.
    usage: /accept

Teleport-decline:
    type: command
    name: decline
    description: Declines pending teleport request.
    usage: /decline

Teleport_Rune:
    type: item
    material: flint
    display name: <blue>Teleport Rune
    lore:
    - <gold>Teleports you to another npc!
    - <gold>Right click to use it