DG_Rivermine_2.lua

main 83 lines · 3.1 KB Raw
Alex Alex Commit Server upload 18/10/2026 23:38
1function onCheckImortalArea()
2 local from = {x=3795, y=1291, z=8}
3 local to = {x=3854, y=1334, z=8}
4 local check = true
5 for A = from.x, to.x do
6 for B = from.y, to.y do
7 for C = from.z, to.z do
8 local tile = Tile(A, B, C)
9 if tile ~= nil then
10 local creature = tile:getTopCreature()
11 if creature and creature:isMonster() then
12 check = false
13 break
14 end
15 end
16 end
17 end
18 end
19
20 return check
21end
22function onUse(player, item, fromPosition, target, toPosition, isHotkey)
23 local party = player:getParty()
24 local DG_IMORTALS = {
25 [01] = {NAME = "Obujos", POS = {x=3826, y=1318, z=8}}; --33K
26 [02] = {NAME = "Annihilon", POS = {x=3826, y=1318, z=8}}; --46K
27 [03] = {NAME = "Ghazbaran", POS = {x=3826, y=1318, z=8}}; --60K
28 [04] = {NAME = "Snake God Essence", POS = {x=3826, y=1318, z=8}}; --65K
29 [05] = {NAME = "Professor Maxxen", POS = {x=3826, y=1318, z=8}}; --90K
30 [06] = {NAME = "Lizard Abomination", POS = {x=3826, y=1318, z=8}}; --95K
31 }
32
33 local ID_IMORTAL = player:getStorageValue(_SYSTEM.DANGEROUS[06][02].STORAGE)
34 if ID_IMORTAL == 07 then
35 if onCheckImortalArea() then
36 if not party then
37 player:getPosition():sendMagicEffect(13)
38 player:setStorageValue(_SYSTEM.DANGEROUS[06][02].STORAGE, 08)
39 player:setStorageValue(_SYSTEM.DANGEROUS[06][02].RECOMPENSA[01], _SYSTEM.DANGEROUS[06][02].RECOMPENSA[02])
40
41 else
42 local members = party:getMembers()
43 members[#members + 1] = party:getLeader()
44 for _, member in ipairs(members) do
45 member:getPosition():sendMagicEffect(13)
46 member:setStorageValue(_SYSTEM.DANGEROUS[06][02].STORAGE, 08)
47 member:setStorageValue(_SYSTEM.DANGEROUS[06][02].RECOMPENSA[01], _SYSTEM.DANGEROUS[06][02].RECOMPENSA[02])
48
49 end
50 end
51 return true
52 else
53 player:getPosition():sendMagicEffect(03)
54
55 return true
56 end
57 else
58 if ID_IMORTAL < 07 then
59 if onCheckImortalArea() then
60 if not party then
61 player:getPosition():sendMagicEffect(13)
62 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Imortal 0" ..ID_IMORTAL.. ":\n[ " ..DG_IMORTALS[ID_IMORTAL].NAME.. " ].")
63 player:setStorageValue(_SYSTEM.DANGEROUS[06][02].STORAGE, (ID_IMORTAL + 01))
64 else
65 local members = party:getMembers()
66 members[#members + 1] = party:getLeader()
67 for _, member in ipairs(members) do
68 member:getPosition():sendMagicEffect(13)
69 member:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Imortal 0" ..ID_IMORTAL.. ":\n[ " ..DG_IMORTALS[ID_IMORTAL].NAME.. " ].")
70 member:setStorageValue(_SYSTEM.DANGEROUS[06][02].STORAGE, (ID_IMORTAL + 01))
71 end
72 end
73 Game.createMonster(DG_IMORTALS[ID_IMORTAL].NAME, DG_IMORTALS[ID_IMORTAL].POS)
74 else
75 player:getPosition():sendMagicEffect(03)
76
77 return true
78 end
79 else
80 player:getPosition():sendMagicEffect(03)
81 end
82 end
83end
Top