1function onSay(player, words, param)
2 local split = param:splitTrimmed(" ")
3 local checkDG = 0
4 for X = 01, #_SYSTEM.DANGEROUS do
5 for Z = 01, #_SYSTEM.DANGEROUS[X] do
6 if player:getStorageValue(_SYSTEM.DANGEROUS[X][Z].STORAGE) > 0 then
7 checkDG = 01
8 break
9 end
10 end
11 end
12
13 if _DEBUG_MODE then
14 print("[TALK - DG] " ..player:getName())
15 end
16 if checkDG == 1 then
17 local NEXUS = tonumber(split[02])
18 local INDEX = tonumber(split[03])
19 if split[01] ~= nil then
20 if split[02] ~= nil then
21 if split[03] ~= nil then
22 if split[01] == "0" then
23 player:teleportTo(_SYSTEM.NEXUS[NEXUS].POS)
24 player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
25 player:sendCancelMessage("@DGTime 00 " ..NEXUS.. " " ..INDEX)
26 player:setTown(Town(01))
27 player:sendCancelMessage("@ResetDG")
28
29 for X = 01, #_SYSTEM.DANGEROUS do
30 for Z = 01, #_SYSTEM.DANGEROUS[X] do
31 player:setStorageValue(_SYSTEM.DANGEROUS[X][Z].STORAGE, nil)
32 player:setStorageValue(_SYSTEM.DANGEROUS[X][Z].RECOMPENSA, nil)
33 end
34 end
35
36 player:setStorageValue(_SYSTEM.RECYCLER_STORAGE, nil)
37
38 Game.setStorageValue(_SYSTEM.DANGEROUS[NEXUS][INDEX].STORAGE, nil)
39 return false
40 elseif split[01] == "1" then
41 local party = player:getParty()
42 local members = party:getMembers()
43 members[#members + 1] = party:getLeader()
44 for _, member in ipairs(members) do
45 member:teleportTo({x=3999, y=991, z=7})
46 member:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
47 member:sendCancelMessage("@DGTime 00 " ..NEXUS.. " " ..INDEX)
48 member:sendCancelMessage("@ResetDG")
49
50 member:setStorageValue(_SYSTEM.RECYCLER_STORAGE, nil)
51 for X = 01, #_SYSTEM.DANGEROUS do
52 for Z = 01, #_SYSTEM.DANGEROUS[X] do
53 member:setStorageValue(_SYSTEM.DANGEROUS[X][Z].STORAGE, nil)
54 member:setStorageValue(_SYSTEM.DANGEROUS[X][Z].RECOMPENSA, nil)
55 member:setTown(Town(01))
56 end
57 end
58
59
60 end
61
62 Game.setStorageValue(_SYSTEM.DANGEROUS[NEXUS][INDEX].STORAGE, nil)
63 end
64 end
65 end
66 end
67 else
68 local party = player:getParty()
69 if not party then
70 player:teleportTo({x=3999, y=991, z=7})
71 player:setStorageValue(_SYSTEM.TASK[00].TIMER, nil)
72 player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
73 player:sendCancelMessage("@DGTime 0 0 0")
74 player:sendCancelMessage("@ResetDG")
75 player:setTown(Town(01))
76
77
78 return false
79 else
80 local members = party:getMembers()
81 members[#members + 1] = party:getLeader()
82 for _, member in ipairs(members) do
83 member:teleportTo({x=3999, y=991, z=7})
84 member:setStorageValue(_SYSTEM.TASK[00].TIMER, nil)
85 member:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
86 member:sendCancelMessage("@DGTime 0 0 0")
87 member:sendCancelMessage("@ResetDG")
88 member:setTown(Town(01))
89
90 member:popupFYI("O lider do grupo desistiu do Boss.")
91 end
92 end
93 end
94
95 return false
96end
97
98