==== ROTATION LUCK ====== ==== I. Design UI ==== {{:developer_center:developer_editor:rotation_luck_1.png?nolink|}} You can change items ==== II. Diagram ==== {{:developer_center:developer_editor:rotation_luck_diagram.png?nolink|}} ==== III. Script ==== local display_number = {1, 2, 3, 4} local items = {12499, 11600, 11667, 11668} -- fill your items here local pictures = {"1012499", "1011600", "1011667", '1011668'} -- fill your pictures following the items here here function spin(e) if e.uielement == '7369828431314806377_12' then --- change your button local repeat_time = 0 local random_number local items_spin local picture_spin repeat random_number = display_number[math.random(#display_number)] items_spin = items[random_number] picture_spin = pictures[random_number] repeat_time = repeat_time + 1 Customui:setTexture(e.eventobjid, [[7369828431314806377]],[[7369828431314806377_10]], picture_spin) --- change your element Trigger:wait(0.1) until repeat_time == nil --- fill your time here Player:gainItems(e.eventobjid, items_spin, 1, 1) end end ScriptSupportEvent:registerEvent('UI.Button.Click', spin) ====IV. Explaination ==== **1. Initialization of Arrays:** local display_number = {1, 2, 3, 4} local items = {12499, 11600, 11667, 11668} -- fill your items here local pictures = {"1012499", "1011600", "1011667", '1011668'} -- fill your pictures following the items here here * **display_number** is an array that holds indices (1 to 4). These are used to randomly pick an item and its corresponding picture. * **items** is an array holding item IDs. * **pictures** is an array holding picture IDs corresponding to the items. **2. Spin Function** function spin(e) if e.uielement == '7369828431314806377_12' then local repeat_time = 0 local random_number local items_spin local picture_spin repeat random_number = display_number[math.random(#display_number)] items_spin = items[random_number] picture_spin = pictures[random_number] repeat_time = repeat_time + 1 Customui:setTexture(e.eventobjid, [[7369828431314806377]],[[7369828431314806377_10]], picture_spin) Trigger:wait(0.1) until repeat_time == nil --- fill your time here Player:gainItems(e.eventobjid, items_spin, 1, 1) end end * **spin(e)** is the function that handles the spinning and item reward process. * It checks if the clicked **UI element (e.uielement)** matches the specified ID (7369828431314806377_12). * It initializes **repeat_time** to 0, which will count how many times the loop runs. * Inside the **repeat** loop: * **random_number** is assigned a random value from display_number. * **items_spin** is set to the item ID at the random_number index in the items array. * **picture_spin** is set to the picture ID at the random_number index in the pictures array. * The texture of the UI element is set to **picture_spin** using **Customui:setTexture**. * The script waits for 0.1 seconds before the next iteration. * The loop continues until **repeat_time** reaches a certain value (which is not specified here, you need to set it appropriately). * After the loop, the player is given the selected item using **Player:gainItems**. **3. Event Registration: ** ScriptSupportEvent:registerEvent('UI.Button.Click', spin) This line registers the spin function to be called whenever the UI.Button.Click event occurs. ====V. Summary of the Script==== **Initialization:** * Arrays for display numbers, item IDs, and picture IDs are defined. **Spin Function:** * When a specific UI button is clicked, the function starts a loop. * It randomly selects an item and its picture, updates the UI texture, and waits 0.1 seconds in each iteration. * The loop runs for a specified number of times (you need to fill in the appropriate condition for repeat_time). * After the loop, the player is rewarded with the randomly selected item. **Event Registration:** * The **spin** function is registered to handle button click events. **Adjustments Needed ** **Define Loop End Condition:** Replace until repeat_time == nil with a proper condition, such as until repeat_time == 10 (or any other number based on how many spins you want). **Ensure UI Element IDs are Correct**: Verify that the UI element IDs match those in your actual project. ---- If you have any questions about Developer Tools, feel free to join our official discord server [[https://discord.gg/NVRZHBChBt|Mini World Global DEV discord]]