DG_Bonebrook_2.lua

main 415 lines · 13.9 KB Raw
Alex Alex Commit Server upload 18/10/2026 23:38
1local SEQUEN_NUMB_1 = {}
2local SEQUEN_NUMB_2 = {}
3local SEQUEN_NUMB_3 = {}
4local QNT_SQN_1 = 0
5local QNT_SQN_2 = 0
6local QNT_SQN_3 = 0
7local LOCK_STATUES_1 = false
8local LOCK_STATUES_2 = false
9local LOCK_STATUES_3 = false
10local STATUES_POS_1 = {
11 [01] = {POS = {x=3954, y=1237, z=14}};
12 [02] = {POS = {x=3956, y=1237, z=14}};
13 [03] = {POS = {x=3958, y=1237, z=14}};
14 [04] = {POS = {x=3958, y=1243, z=14}};
15 [05] = {POS = {x=3956, y=1243, z=14}};
16 [06] = {POS = {x=3954, y=1243, z=14}};
17}
18local STATUES_POS_2 = {
19 [01] = {POS = {x=4062, y=1237, z=14}};
20 [02] = {POS = {x=4064, y=1237, z=14}};
21 [03] = {POS = {x=4066, y=1237, z=14}};
22 [04] = {POS = {x=4066, y=1243, z=14}};
23 [05] = {POS = {x=4064, y=1243, z=14}};
24 [06] = {POS = {x=4062, y=1243, z=14}};
25}
26local STATUES_POS_3 = {
27 [01] = {POS = {x=4170, y=1237, z=14}};
28 [02] = {POS = {x=4172, y=1237, z=14}};
29 [03] = {POS = {x=4174, y=1237, z=14}};
30 [04] = {POS = {x=4174, y=1243, z=14}};
31 [05] = {POS = {x=4172, y=1243, z=14}};
32 [06] = {POS = {x=4170, y=1243, z=14}};
33}
34local STATUES_CLICK = {
35 [10512] = {UID = 10509, ACT = 01};
36 [10513] = {UID = 10509, ACT = 02};
37 [10514] = {UID = 10509, ACT = 03};
38 [10515] = {UID = 10509, ACT = 04};
39 [10516] = {UID = 10509, ACT = 05};
40 [10517] = {UID = 10509, ACT = 06};
41
42 [10518] = {UID = 10510, ACT = 01};
43 [10519] = {UID = 10510, ACT = 02};
44 [10520] = {UID = 10510, ACT = 03};
45 [10521] = {UID = 10510, ACT = 04};
46 [10522] = {UID = 10510, ACT = 05};
47 [10523] = {UID = 10510, ACT = 06};
48
49 [10524] = {UID = 10511, ACT = 01};
50 [10525] = {UID = 10511, ACT = 02};
51 [10526] = {UID = 10511, ACT = 03};
52 [10527] = {UID = 10511, ACT = 04};
53 [10528] = {UID = 10511, ACT = 05};
54 [10529] = {UID = 10511, ACT = 06};
55}
56
57function onUse(player, item, fromPosition, target, toPosition, isHotkey)
58 local STORAGE_BONEBROOK = _SYSTEM.DANGEROUS[03][01].STORAGE
59 local party = player:getParty()
60 if STATUES_CLICK[item.uid] then
61 if STATUES_CLICK[item.uid].UID == 10509 then
62 if LOCK_STATUES_1 then
63 if STATUES_CLICK[item.uid].ACT == SEQUEN_NUMB_1[01] then
64 table.remove(SEQUEN_NUMB_1, 01)
65 player:getPosition():sendMagicEffect(13)
66
67 if #SEQUEN_NUMB_1 == 0 then
68 LOCK_STATUES_1 = false
69 if not party then
70 player:say("Voce acertou a sequencia!", TALKTYPE_MONSTER_SAY)
71 player:setStorageValue(STORAGE_BONEBROOK, (player:getStorageValue(STORAGE_BONEBROOK) + 1))
72 player:getPosition():sendMagicEffect(13)
73 else
74 local members = party:getMembers()
75 members[#members + 1] = party:getLeader()
76 for _, member in ipairs(members) do
77 member:say("Voce acertou a sequencia!", TALKTYPE_MONSTER_SAY)
78 member:setStorageValue(STORAGE_BONEBROOK, (member:getStorageValue(STORAGE_BONEBROOK) + 1))
79 member:getPosition():sendMagicEffect(13)
80 end
81 end
82 end
83 else
84 LOCK_STATUES_1 = false
85 player:say("ErroR!", TALKTYPE_MONSTER_SAY)
86 player:getPosition():sendMagicEffect(03)
87 end
88 else
89 player:getPosition():sendMagicEffect(03)
90 end
91 end
92 if STATUES_CLICK[item.uid].UID == 10510 then
93 if LOCK_STATUES_2 then
94 if STATUES_CLICK[item.uid].ACT == SEQUEN_NUMB_2[01] then
95 table.remove(SEQUEN_NUMB_2, 01)
96 player:getPosition():sendMagicEffect(13)
97
98 if #SEQUEN_NUMB_2 == 0 then
99 LOCK_STATUES_2 = false
100 if not party then
101 player:say("Voce acertou a sequencia!", TALKTYPE_MONSTER_SAY)
102 player:setStorageValue(STORAGE_BONEBROOK, (player:getStorageValue(STORAGE_BONEBROOK) + 1))
103 player:getPosition():sendMagicEffect(13)
104 else
105 local members = party:getMembers()
106 members[#members + 1] = party:getLeader()
107 for _, member in ipairs(members) do
108 member:say("Voce acertou a sequencia!", TALKTYPE_MONSTER_SAY)
109 member:setStorageValue(STORAGE_BONEBROOK, (member:getStorageValue(STORAGE_BONEBROOK) + 1))
110 member:getPosition():sendMagicEffect(13)
111 end
112 end
113 end
114 else
115 LOCK_STATUES_2 = false
116 player:say("ErroR!", TALKTYPE_MONSTER_SAY)
117 player:getPosition():sendMagicEffect(03)
118 end
119 else
120 player:getPosition():sendMagicEffect(03)
121 end
122 end
123 if STATUES_CLICK[item.uid].UID == 10511 then
124 if LOCK_STATUES_3 then
125 if STATUES_CLICK[item.uid].ACT == SEQUEN_NUMB_3[01] then
126 table.remove(SEQUEN_NUMB_3, 01)
127 player:getPosition():sendMagicEffect(13)
128
129 if #SEQUEN_NUMB_3 == 0 then
130 LOCK_STATUES_3 = false
131 if not party then
132 player:say("Voce acertou a sequencia!", TALKTYPE_MONSTER_SAY)
133 player:setStorageValue(STORAGE_BONEBROOK, (player:getStorageValue(STORAGE_BONEBROOK) + 1))
134 player:getPosition():sendMagicEffect(13)
135 else
136 local members = party:getMembers()
137 members[#members + 1] = party:getLeader()
138 for _, member in ipairs(members) do
139 member:say("Voce acertou a sequencia!", TALKTYPE_MONSTER_SAY)
140 member:setStorageValue(STORAGE_BONEBROOK, (member:getStorageValue(STORAGE_BONEBROOK) + 1))
141 member:getPosition():sendMagicEffect(13)
142 end
143 end
144 end
145 else
146 LOCK_STATUES_3 = false
147 player:say("ErroR!", TALKTYPE_MONSTER_SAY)
148 player:getPosition():sendMagicEffect(03)
149 end
150 else
151 player:getPosition():sendMagicEffect(03)
152 end
153 end
154 end
155
156 if item.uid == 10509 then
157 if LOCK_STATUES_1 == false then
158 if player:getStorageValue(STORAGE_BONEBROOK) == 12 then
159 QNT_SQN_1 = 05
160 if not party then
161 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 01/03 ].")
162 else
163 local members = party:getMembers()
164 members[#members + 1] = party:getLeader()
165 for _, member in ipairs(members) do
166 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 01/03 ].")
167 end
168 end
169 elseif player:getStorageValue(STORAGE_BONEBROOK) == 13 then
170 QNT_SQN_1 = 08
171 if not party then
172 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 02/03 ].")
173 else
174 local members = party:getMembers()
175 members[#members + 1] = party:getLeader()
176 for _, member in ipairs(members) do
177 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 02/03 ].")
178 end
179 end
180 elseif player:getStorageValue(STORAGE_BONEBROOK) == 14 then
181 QNT_SQN_1 = 10
182 if not party then
183 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 03/03 ].")
184 else
185 local members = party:getMembers()
186 members[#members + 1] = party:getLeader()
187 for _, member in ipairs(members) do
188 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 03/03 ].")
189 end
190 end
191 elseif player:getStorageValue(STORAGE_BONEBROOK) == 15 then
192 if not party then
193 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Estatua da Zona 04-B liberados.")
194 player:setStorageValue(STORAGE_BONEBROOK, 16)
195 player:getPosition():sendMagicEffect(13)
196 else
197 local members = party:getMembers()
198 members[#members + 1] = party:getLeader()
199 for _, member in ipairs(members) do
200 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Estatua da Zona 04-B liberado.")
201 member:setStorageValue(STORAGE_BONEBROOK, 16)
202 member:getPosition():sendMagicEffect(13)
203 end
204 end
205
206 LOCK_STATUES_1 = false
207 return true
208 else
209 player:getPosition():sendMagicEffect(03)
210 LOCK_STATUES_1 = false
211 return true
212 end
213
214 LOCK_STATUES_1 = true
215 if #SEQUEN_NUMB_1 > 0 then
216 for k in pairs (SEQUEN_NUMB_1) do
217 SEQUEN_NUMB_1 [k] = nil
218 end
219 end
220 player:getPosition():sendMagicEffect(13)
221 addEvent(effect_random, 3000, player.uid, 01)
222 return true
223 else
224 player:getPosition():sendMagicEffect(03)
225 end
226 end
227 if item.uid == 10510 then
228 if LOCK_STATUES_2 == false then
229 if player:getStorageValue(STORAGE_BONEBROOK) == 12 then
230 QNT_SQN_2 = 05
231 if not party then
232 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 01/03 ].")
233 else
234 local members = party:getMembers()
235 members[#members + 1] = party:getLeader()
236 for _, member in ipairs(members) do
237 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 01/03 ].")
238 end
239 end
240 elseif player:getStorageValue(STORAGE_BONEBROOK) == 13 then
241 QNT_SQN_2 = 08
242 if not party then
243 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 02/03 ].")
244 else
245 local members = party:getMembers()
246 members[#members + 1] = party:getLeader()
247 for _, member in ipairs(members) do
248 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 02/03 ].")
249 end
250 end
251 elseif player:getStorageValue(STORAGE_BONEBROOK) == 14 then
252 QNT_SQN_2 = 10
253 if not party then
254 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 03/03 ].")
255 else
256 local members = party:getMembers()
257 members[#members + 1] = party:getLeader()
258 for _, member in ipairs(members) do
259 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 03/03 ].")
260 end
261 end
262 elseif player:getStorageValue(STORAGE_BONEBROOK) == 15 then
263 if not party then
264 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Estatua da Zona 04-B liberados.")
265 player:setStorageValue(STORAGE_BONEBROOK, 16)
266 player:getPosition():sendMagicEffect(13)
267 else
268 local members = party:getMembers()
269 members[#members + 1] = party:getLeader()
270 for _, member in ipairs(members) do
271 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Estatua da Zona 04-B liberado.")
272 member:setStorageValue(STORAGE_BONEBROOK, 16)
273 member:getPosition():sendMagicEffect(13)
274 end
275 end
276
277 LOCK_STATUES_2 = false
278 return true
279 else
280 player:getPosition():sendMagicEffect(03)
281 LOCK_STATUES_2 = false
282 return true
283 end
284
285 LOCK_STATUES_2 = true
286 if #SEQUEN_NUMB_2 > 0 then
287 for k in pairs (SEQUEN_NUMB_2) do
288 SEQUEN_NUMB_2 [k] = nil
289 end
290 end
291 player:getPosition():sendMagicEffect(13)
292 addEvent(effect_random, 3000, player.uid, 02, QNT_SQN_2)
293 return false
294 else
295 player:getPosition():sendMagicEffect(03)
296 end
297 end
298 if item.uid == 10511 then
299 if LOCK_STATUES_3 == false then
300 if player:getStorageValue(STORAGE_BONEBROOK) == 12 then
301 QNT_SQN_3 = 05
302 if not party then
303 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 01/03 ].")
304 else
305 local members = party:getMembers()
306 members[#members + 1] = party:getLeader()
307 for _, member in ipairs(members) do
308 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 01/03 ].")
309 end
310 end
311 elseif player:getStorageValue(STORAGE_BONEBROOK) == 13 then
312 QNT_SQN_3 = 08
313 if not party then
314 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 02/03 ].")
315 else
316 local members = party:getMembers()
317 members[#members + 1] = party:getLeader()
318 for _, member in ipairs(members) do
319 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 02/03 ].")
320 end
321 end
322 elseif player:getStorageValue(STORAGE_BONEBROOK) == 14 then
323 QNT_SQN_3 = 10
324 if not party then
325 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 03/03 ].")
326 else
327 local members = party:getMembers()
328 members[#members + 1] = party:getLeader()
329 for _, member in ipairs(members) do
330 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gerando Sequencia Aleatoria\n[ 03/03 ].")
331 end
332 end
333 elseif player:getStorageValue(STORAGE_BONEBROOK) == 15 then
334 if not party then
335 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Estatua da Zona 04-B liberados.")
336 player:setStorageValue(STORAGE_BONEBROOK, 16)
337 player:getPosition():sendMagicEffect(13)
338 else
339 local members = party:getMembers()
340 members[#members + 1] = party:getLeader()
341 for _, member in ipairs(members) do
342 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Estatua da Zona 04-B liberado.")
343 member:setStorageValue(STORAGE_BONEBROOK, 16)
344 member:getPosition():sendMagicEffect(13)
345 end
346 end
347
348 LOCK_STATUES_3 = false
349 return true
350 else
351 player:getPosition():sendMagicEffect(03)
352 LOCK_STATUES_3 = false
353 return true
354 end
355
356 LOCK_STATUES_3 = true
357 if #SEQUEN_NUMB_3 > 0 then
358 for k in pairs (SEQUEN_NUMB_3) do
359 SEQUEN_NUMB_3 [k] = nil
360 end
361 end
362 player:getPosition():sendMagicEffect(13)
363 addEvent(effect_random, 3000, player.uid, 03, QNT_SQN_3)
364 return false
365 else
366 player:getPosition():sendMagicEffect(03)
367 end
368 end
369end
370
371function effect_random(creature, id)
372 local player = Player(creature)
373 if id == 01 then
374 if QNT_SQN_1 > 0 then
375 QNT_SQN_1 = QNT_SQN_1 - 1
376 local CLICK_RANDOM = math.random(01, #STATUES_POS_1)
377 local POSITION_STATUES = Position(STATUES_POS_1[CLICK_RANDOM].POS.x, STATUES_POS_1[CLICK_RANDOM].POS.y, 14)
378 POSITION_STATUES:sendMagicEffect(CONST_ME_TELEPORT)
379
380 table.insert(SEQUEN_NUMB_1, CLICK_RANDOM)
381 addEvent(effect_random, 1000, player.uid, id)
382 return true
383 else
384 player:say("Sequencia Finalizada.", TALKTYPE_MONSTER_SAY)
385 return true
386 end
387 end
388 if id == 02 then
389 if QNT_SQN_2 > 0 then
390 QNT_SQN_2 = QNT_SQN_2 - 1
391 local CLICK_RANDOM = math.random(01, #STATUES_POS_2)
392 local POSITION_STATUES = Position(STATUES_POS_2[CLICK_RANDOM].POS.x, STATUES_POS_2[CLICK_RANDOM].POS.y, 14)
393 POSITION_STATUES:sendMagicEffect(CONST_ME_TELEPORT)
394
395 table.insert(SEQUEN_NUMB_2, CLICK_RANDOM)
396 addEvent(effect_random, 1000, player.uid, id)
397 else
398 player:say("Sequencia Finalizada.", TALKTYPE_MONSTER_SAY)
399 end
400 end
401 if id == 03 then
402 if QNT_SQN_3 > 0 then
403 QNT_SQN_3 = QNT_SQN_3 - 1
404 local CLICK_RANDOM = math.random(01, #STATUES_POS_3)
405 local POSITION_STATUES = Position(STATUES_POS_3[CLICK_RANDOM].POS.x, STATUES_POS_3[CLICK_RANDOM].POS.y, 14)
406 POSITION_STATUES:sendMagicEffect(CONST_ME_TELEPORT)
407
408 table.insert(SEQUEN_NUMB_3, CLICK_RANDOM)
409 addEvent(effect_random, 1000, player.uid, id)
410 else
411 player:say("Sequencia Finalizada.", TALKTYPE_MONSTER_SAY)
412 end
413 end
414end
415
Top