Paste #121148: Auction remove item

Date: 2024/03/19 04:09:12 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


test_script:
    type: world
    debug: true
    events:
        after player clicks item_flagged:auction_item in auction_player_lists:
            - define item <context.item>
            - define inventory <inventory[auction_player_lists]>
            - define time <[item].flag_expiration[expire_after].if_null[null]>
            - define seller <[item].flag[seller]>
            - if <[item].has_flag[expired]>:
                - determine cancelled
            - flag <[seller]> ah.player_slot:++
            - define lore <[item].lore>
            - define lore <[lore].reverse.remove[1|2|3|4].reverse>
            - flag server ah.items:<-:<[item]>
            - adjust def:item lore:<[lore]>
            - give <[item].with_flag[auction_item:!].with_flag[seller:!].with_flag[price:!].with_flag[expire_after:!]>
            - run auctionshop_pages def.page:1 def.category:player
            #- narrate <[time].format[dd/MM/yyyy : HH:mm:SS].if_null[<&c>Nothing here]>
        after player clicks item_flagged:expired in auction_player_lists:
            - define item <context.item>
            - define inventory <inventory[auction_player_lists]>
            - define time <[item].flag_expiration[expire_after].if_null[null]>
            - define seller <[item].flag[seller]>
            - flag <[seller]> ah.player_slot:++
            - define lore <[item].lore>
            - define lore <[lore].reverse.remove[1|2|3|4].reverse>
            - flag server ah.items:<-:<[item]>
            - adjust def:item lore:<[lore]>
            - give <[item].with_flag[auction_item:!].with_flag[seller:!].with_flag[price:!].with_flag[expire_after:!].with_flag[expired:!]>
            - run auctionshop_pages def.page:1 def.category:player
            - narrate <context.item.flag[expired]>
#test_script:
auction_player:
    type: procedure
    debug: true
    script:
        - define ah_items <server.flag[ah.items].if_null[<item[filler_item].repeat_as_list[1]>]>
        - foreach <[ah_items]> as:item:
            - define seller <[item].flag[seller].if_null[<item[filler_item].repeat_as_list[1]>]>
            - if <[seller]> == <player>:
                - if !<[item].has_flag[expire_after]>:
                    - define item <[item].with_flag[expired:done]>
                    - define lore <[item].lore>
                    - define lore <[lore].reverse.remove[1].reverse>
                    - adjust def:item lore:<[lore].include[<&c>Item has Expired!]>
                - define items:->:<[item]>
        - determine <[items].reverse.if_null[<item[filler_item].repeat_as_list[1]>]>