Saqueadores.lua

main 200 lines · 8.3 KB Raw
Alex Alex Commit Server upload 18/10/2026 23:38
1function onUse(player, item, fromPosition, target, toPosition, isHotkey)
2
3 local LEVEL_NEED = 100
4 local GLOBAL_RANK = 00
5 local PLAYER_RANK = player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01])
6 if player:getLevel() >= LEVEL_NEED then
7 if item.actionid >= 3001 and item.actionid <= 3020 then
8 GLOBAL_RANK = 01
9 elseif item.actionid >= 3021 and item.actionid <= 3040 then
10 if PLAYER_RANK >= 02 then
11 GLOBAL_RANK = 02
12 end
13 elseif item.actionid >= 3041 and item.actionid <= 3060 then
14 if PLAYER_RANK >= 03 then
15 GLOBAL_RANK = 03
16 end
17 elseif item.actionid >= 3061 and item.actionid <= 3080 then
18 if PLAYER_RANK >= 04 then
19 GLOBAL_RANK = 04
20 end
21 elseif item.actionid >= 3081 and item.actionid <= 3099 then
22 if PLAYER_RANK >= 05 then
23 GLOBAL_RANK = 05
24 end
25 end
26 else
27 player:getPosition():sendMagicEffect(03)
28 return false
29 end
30
31 if GLOBAL_RANK > 00 then
32 local CHEST_ID = (item.actionid - 3000)
33 local GLOBAL_POSITION = 00
34
35 if GLOBAL_RANK == 02 then
36 CHEST_ID = (item.actionid - 3020)
37 elseif GLOBAL_RANK == 03 then
38 CHEST_ID = (item.actionid - 3040)
39 elseif GLOBAL_RANK == 04 then
40 CHEST_ID = (item.actionid - 3060)
41 elseif GLOBAL_RANK == 05 then
42 CHEST_ID = (item.actionid - 3080)
43 end
44
45 if CHEST_ID == Game.getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][01][GLOBAL_RANK][01]) then
46 GLOBAL_POSITION = 01
47 elseif CHEST_ID == Game.getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][01][GLOBAL_RANK][02]) then
48 GLOBAL_POSITION = 02
49 elseif CHEST_ID == Game.getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][01][GLOBAL_RANK][03]) then
50 GLOBAL_POSITION = 03
51 elseif CHEST_ID == Game.getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][01][GLOBAL_RANK][04]) then
52 GLOBAL_POSITION = 04
53 elseif CHEST_ID == Game.getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][01][GLOBAL_RANK][05]) then
54 GLOBAL_POSITION = 05
55 end
56
57 if GLOBAL_POSITION > 00 then
58 local CHEST_ID = Game.getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][01][GLOBAL_RANK][GLOBAL_POSITION])
59 if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][02][GLOBAL_RANK][GLOBAL_POSITION]) ~= CHEST_ID then
60 local X = _GLOBAL_RANDOM.SAQUEADORES[GLOBAL_RANK][CHEST_ID]
61 if X.REC[01][01] == 0002 then
62 player:sendCancelMessage("@PassChest 01 " ..X.REC[01][02].. " " ..GLOBAL_POSITION.. " " ..CHEST_ID)
63 return false
64 end
65 for REWARD = 01, #X.REC do
66 if X.REC[REWARD][01] == 0000 then -- EXP
67 player:addExperience(X.REC[REWARD][02], true, true)
68 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - EXP: " ..X.REC[REWARD][02])
69 if _DEBUG_MODE then
70 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: EXP [ " ..X.REC[REWARD][02].. " ]")
71 end
72 elseif X.REC[REWARD][01] == 0001 then -- GOLD
73 PlayerGoldCoins(player, 02, X.REC[REWARD][02])
74 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - Gold Coin: " ..X.REC[REWARD][02])
75 if _DEBUG_MODE then
76 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: Gold [ " ..X.REC[REWARD][02].. " ]")
77 end
78 elseif X.REC[REWARD][01] == 0003 then -- TASK POINTS (BRANCOS)
79 PlayerTokenCoins(player, 01, X.REC[REWARD][02], 01)
80 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - Pontos Brancos: " ..X.REC[REWARD][02])
81 if _DEBUG_MODE then
82 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: White Task [ " ..X.REC[REWARD][02].. " ]")
83 end
84 elseif X.REC[REWARD][01] == 0004 then -- TASK POINTS (AMARELOS)
85 PlayerTokenCoins(player, 02, X.REC[REWARD][02], 01)
86 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - Pontos Amarelos: " ..X.REC[REWARD][02])
87 if _DEBUG_MODE then
88 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: Yellow Task [ " ..X.REC[REWARD][02].. " ]")
89 end
90 elseif X.REC[REWARD][01] == 0005 then -- TASK POINTS (AZUIS)
91 PlayerTokenCoins(player, 03, X.REC[REWARD][02], 01)
92 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - Pontos Azuis: " ..X.REC[REWARD][02])
93 if _DEBUG_MODE then
94 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: Blue Task [ " ..X.REC[REWARD][02].. " ]")
95 end
96 elseif X.REC[REWARD][01] == 0006 then -- CRIPTOMOEDAS
97 if player:getStorageValue(_SYSTEM.CRIPTOMOEDA) < 00 then
98 player:setStorageValue(_SYSTEM.CRIPTOMOEDA, (X.REC[REWARD][02] + 01))
99 else
100 player:setStorageValue(_SYSTEM.CRIPTOMOEDA, (player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + X.REC[REWARD][02]))
101 end
102 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - Criptomoedas: " ..X.REC[REWARD][02])
103 if _DEBUG_MODE then
104 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: Criptomoedas [ " ..X.REC[REWARD][02].. " ]")
105 end
106 else -- ITEMS
107 if doBackpack(player, 00, 03, 00, 01) then
108 local itemid = X.REC[REWARD][01]
109 local slot = 03
110 local ext = 00
111 local rare = _ITEMS[itemid].RARE
112 local star = _ITEMS[itemid].STAR
113 local qnt = X.REC[REWARD][02]
114 doBackpack(player, 03, slot, ext, 01, itemid) -- Procurar
115 if doBackpack(player, 01, slot, ext, 00, itemid, rare, star, qnt) then
116 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Recompensa - " .._ITEMS[itemid].NAME.. ", x" ..X.REC[REWARD][02])
117 if _DEBUG_MODE then
118 print("[ACTION - SAQUEADORES] " ..player:getName().. " - Recompensa Saqueadores: Item [ " .._ITEMS[itemid].NAME.. ", x" ..X.REC[REWARD][02].. " ]")
119 end
120 player:getPosition():sendMagicEffect(14)
121 end
122 else
123 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia.\nObtenha espaco para finalizar a Quest.")
124 player:getPosition():sendMagicEffect(03)
125 return false
126 end
127 end
128
129 local PLAYER_VALUE = player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02])
130 if PLAYER_RANK < 01 then PLAYER_RANK = 01 end
131 if PLAYER_VALUE < 00 then PLAYER_VALUE = 00 end
132
133 if PLAYER_RANK == GLOBAL_RANK then
134 if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) < 00 then
135 player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02], 01)
136 else
137 player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02], (player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) + 01))
138 local MAX_RANK = _GLOBAL_RANDOM.SAQUEADORES[00][00][PLAYER_RANK]
139 if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) < 05 then
140 if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) == MAX_RANK then
141 if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) < 01 then
142 player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01], 02)
143 else
144 player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01], (player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) + 01))
145 end
146
147 if _DEBUG_MODE then
148
149 end
150
151 end
152 end
153 end
154 end
155
156 -- DESAFIO
157 if player:getStorageValue(_DESAFIOS[00].DESAFIO_ID) > 00 then
158 onPlayerDesafios(player, 75, 01)
159 end
160 if player:getStorageValue(_QUESTLOG[178].UID_01) == 01 then
161 if player:getStorageValue(11009) == 04 then
162 player:setStorageValue(_QUESTLOG[178].UID_01, 100)
163 player:setStorageValue(11009, nil)
164
165 doBackpack(player, 12)
166 player:sendCancelMessage("@LoadQuestWindows")
167 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Seu Quest Log foi atualizado.")
168 else
169 player:setStorageValue(11009, (player:getStorageValue(11009) + 01))
170 doBackpack(player, 12)
171 end
172 end
173 player:sendCancelMessage("@RemoveMarkMap")
174 player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][02][GLOBAL_RANK][GLOBAL_POSITION], CHEST_ID)
175 player:getPosition():sendMagicEffect(14)
176 return false
177 end
178 else
179 player:getPosition():sendMagicEffect(03)
180 end
181 else
182 player:getPosition():sendMagicEffect(03)
183 end
184 else
185 player:getPosition():sendMagicEffect(03)
186 end
187 return true
188end
189
190
191
192
193
194
195
196
197
198
199
200
Top