| @@ -0,0 +1,872 @@ | |||
| 1 | + | local TimeMin, TimeSeg, onTime = 00, 00, nil | |
| 2 | + | local function onTimerEvent(cid) | |
| 3 | + | local player = Player(cid) | |
| 4 | + | if player then | |
| 5 | + | if player:getStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE) > 00 then | |
| 6 | + | if TimeMin == 0 and TimeSeg == 0 then | |
| 7 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, nil) | |
| 8 | + | stopEvent(onTime) | |
| 9 | + | TimeMin = 00 | |
| 10 | + | TimeSeg = 00 | |
| 11 | + | player:sendCancelMessage("@DGTime 0 0 0") | |
| 12 | + | player:sendCancelMessage("@ResetDG") | |
| 13 | + | ||
| 14 | + | if player:getStorageValue(_QUESTLOG[187].UID_01) == 02 then | |
| 15 | + | player:setStorageValue(_QUESTLOG[187].UID_01, 01) | |
| 16 | + | player:teleportTo({x=3281, y=1632, z=7}) | |
| 17 | + | player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) | |
| 18 | + | ||
| 19 | + | addEvent(function() | |
| 20 | + | player:sendTextMessage(MESSAGE_STATUS_WARNING, "[ MISS�O FRACASSADA ]\nVoc� falhou no seu teste de for�a.") | |
| 21 | + | doBackpack(player, 12) | |
| 22 | + | player:sendCancelMessage("@RemoveMarkMap") | |
| 23 | + | player:sendCancelMessage("@LoadQuestWindows") | |
| 24 | + | end, 1000) | |
| 25 | + | return false | |
| 26 | + | end | |
| 27 | + | if player:getStorageValue(_QUESTLOG[188].UID_01) == 02 or player:getStorageValue(_QUESTLOG[188].UID_01) == 03 then | |
| 28 | + | player:setStorageValue(_QUESTLOG[188].UID_01, 01) | |
| 29 | + | addEvent(function() | |
| 30 | + | doBackpack(player, 12) | |
| 31 | + | player:sendCancelMessage("@RemoveMarkMap") | |
| 32 | + | player:sendCancelMessage("@LoadQuestWindows") | |
| 33 | + | player:sendTextMessage(MESSAGE_STATUS_WARNING, "[ MISS�O FRACASSADA ]\nVoc� n�o foi t�o veloz.") | |
| 34 | + | end, 1000) | |
| 35 | + | return false | |
| 36 | + | end | |
| 37 | + | return false | |
| 38 | + | end | |
| 39 | + | ||
| 40 | + | local M1 = 0 local S1 = 0 | |
| 41 | + | local M2 = 0 local S2 = 0 | |
| 42 | + | ||
| 43 | + | if TimeMin > 0 and TimeSeg > 0 then | |
| 44 | + | TimeSeg = TimeSeg - 1 | |
| 45 | + | elseif TimeMin > 0 and TimeSeg == 0 then | |
| 46 | + | TimeSeg = 59 | |
| 47 | + | TimeMin = TimeMin - 1 | |
| 48 | + | elseif TimeMin == 0 and TimeSeg > 0 then | |
| 49 | + | TimeSeg = TimeSeg - 1 | |
| 50 | + | end | |
| 51 | + | if string.len(TimeMin) == 2 then | |
| 52 | + | M1 = string.sub(TimeMin, 1, 1) | |
| 53 | + | M2 = string.sub(TimeMin, 2, 2) | |
| 54 | + | else | |
| 55 | + | M1 = 0 | |
| 56 | + | M2 = string.sub(TimeMin, 1, 1) | |
| 57 | + | end | |
| 58 | + | if string.len(TimeSeg) == 2 then | |
| 59 | + | S1 = string.sub(TimeSeg, 1, 1) | |
| 60 | + | S2 = string.sub(TimeSeg, 2, 2) | |
| 61 | + | else | |
| 62 | + | S1 = 0 | |
| 63 | + | S2 = string.sub(TimeSeg, 1, 1) | |
| 64 | + | end | |
| 65 | + | ||
| 66 | + | player:sendCancelMessage("@CountTempo " ..M1.. " " ..M2.." " ..S1.. " " ..S2.." 0 0") | |
| 67 | + | onTime = addEvent(onTimerEvent, 1000, player.uid) | |
| 68 | + | end | |
| 69 | + | end | |
| 70 | + | end | |
| 71 | + | local function onGuerraSubsterrania(cid) | |
| 72 | + | local creature = Player(cid) | |
| 73 | + | if creature then | |
| 74 | + | Game.createMonster("Mercenario", {x=3885, y=1555, z=08}) | |
| 75 | + | Game.createMonster("Mercenario", {x=3885, y=1561, z=08}) | |
| 76 | + | Game.createMonster("Mercenario", {x=3885, y=1551, z=08}) | |
| 77 | + | Game.createMonster("Mercenario", {x=3882, y=1561, z=08}) | |
| 78 | + | Game.createMonster("Mercenario", {x=3882, y=1555, z=08}) | |
| 79 | + | Game.createMonster("Mercenario", {x=3876, y=1558, z=08}) | |
| 80 | + | Game.createMonster("Mercenario", {x=3876, y=1555, z=08}) | |
| 81 | + | Game.createMonster("Mercenario", {x=3879, y=1555, z=08}) | |
| 82 | + | Game.createMonster("Mercenario", {x=3882, y=1551, z=08}) | |
| 83 | + | Game.createMonster("Mercenario", {x=3880, y=1552, z=08}) | |
| 84 | + | Game.createMonster("Mercenario", {x=3879, y=1550, z=08}) | |
| 85 | + | Game.createMonster("Mercenario", {x=3878, y=1549, z=08}) | |
| 86 | + | Game.createMonster("Mercenario", {x=3878, y=1558, z=08}) | |
| 87 | + | Game.createMonster("Mercenario", {x=3881, y=1558, z=08}) | |
| 88 | + | Game.createMonster("Mercenario", {x=3884, y=1558, z=08}) | |
| 89 | + | Game.createMonster("Mercenario", {x=3887, y=1558, z=08}) --16 | |
| 90 | + | ||
| 91 | + | local LIDER = Game.createMonster('Towncryer', {x=3901, y=1557, z=08}) | |
| 92 | + | local SOL_1 = Game.createMonster('Soldier', {x=3889, y=1553, z=08}) | |
| 93 | + | local SOL_2 = Game.createMonster('Soldier', {x=3891, y=1553, z=08}) | |
| 94 | + | local SOL_3 = Game.createMonster('Soldier', {x=3889, y=1555, z=08}) | |
| 95 | + | local SOL_4 = Game.createMonster('Soldier', {x=3892, y=1555, z=08}) | |
| 96 | + | local SOL_5 = Game.createMonster('Soldier', {x=3893, y=1557, z=08}) | |
| 97 | + | local SOL_6 = Game.createMonster('Soldier', {x=3892, y=1558, z=08}) | |
| 98 | + | local SOL_7 = Game.createMonster('Soldier', {x=3890, y=1558, z=08}) | |
| 99 | + | local SOL_8 = Game.createMonster('Soldier', {x=3890, y=1561, z=08}) | |
| 100 | + | local SOL_9 = Game.createMonster('Soldier', {x=3888, y=1561, z=08}) | |
| 101 | + | ||
| 102 | + | LIDER:setMaster(creature) | |
| 103 | + | SOL_1:setMaster(creature) | |
| 104 | + | SOL_2:setMaster(creature) | |
| 105 | + | SOL_3:setMaster(creature) | |
| 106 | + | SOL_4:setMaster(creature) | |
| 107 | + | SOL_5:setMaster(creature) | |
| 108 | + | SOL_6:setMaster(creature) | |
| 109 | + | SOL_7:setMaster(creature) | |
| 110 | + | SOL_8:setMaster(creature) | |
| 111 | + | SOL_9:setMaster(creature) | |
| 112 | + | ||
| 113 | + | addEvent(function() | |
| 114 | + | local SummPos = creature:getSummons() | |
| 115 | + | SummPos[01]:say('SEM RENDI��O!', TALKTYPE_SAY) | |
| 116 | + | addEvent(function() creature:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Elimine todos os mercen�rios") end, 3000) | |
| 117 | + | end, 1000) | |
| 118 | + | end | |
| 119 | + | end | |
| 120 | + | local function onExecuteCena(cid, id, rotina) | |
| 121 | + | if _SCENE_ID[id] then | |
| 122 | + | local player = Player(cid) | |
| 123 | + | local X = _SCENE_ID[id] | |
| 124 | + | local ACTION = X.ROTEIRO[rotina] | |
| 125 | + | local SET = ACTION:splitTrimmed("X") | |
| 126 | + | local baseWalkSpeed = 400 | |
| 127 | + | ||
| 128 | + | if player:getStorageValue(_SYSTEM.SCENE_STORAGE) < 01 then | |
| 129 | + | player:sendCancelMessage("@Cinematic " ..X.TRANSITION_EXIT) | |
| 130 | + | addEvent(function() | |
| 131 | + | for N = 01, #X.PARTICIPANTES do | |
| 132 | + | local CHECK_POS = {0000, 0000, 00} | |
| 133 | + | if X.PARTICIPANTES[N].NEW_POS.CHECK then | |
| 134 | + | CHECK_POS[01] = X.PARTICIPANTES[N].NEW_POS.POS.x | |
| 135 | + | CHECK_POS[02] = X.PARTICIPANTES[N].NEW_POS.POS.y | |
| 136 | + | CHECK_POS[03] = X.PARTICIPANTES[N].NEW_POS.POS.z | |
| 137 | + | else | |
| 138 | + | CHECK_POS[01] = X.PARTICIPANTES[N].POS.x | |
| 139 | + | CHECK_POS[02] = X.PARTICIPANTES[N].POS.y | |
| 140 | + | CHECK_POS[03] = X.PARTICIPANTES[N].POS.z | |
| 141 | + | end | |
| 142 | + | local NPC = Tile(CHECK_POS[01], CHECK_POS[02], CHECK_POS[03]):getTopCreature() | |
| 143 | + | if NPC then | |
| 144 | + | doRemoveCreature(NPC:getId()) | |
| 145 | + | end | |
| 146 | + | end | |
| 147 | + | ||
| 148 | + | X.SUB_ROTINAS = 00 | |
| 149 | + | player:setStorageValue(_SYSTEM.SCENE_STORAGE, nil) | |
| 150 | + | player:teleportTo(X.FIM.PLAYER_POS.POS) | |
| 151 | + | player:changeSpeed(player:getBaseSpeed()) | |
| 152 | + | end, 500) | |
| 153 | + | return true | |
| 154 | + | end | |
| 155 | + | if SET[01] == 'FIM' then | |
| 156 | + | player:sendCancelMessage("@Cinematic " ..X.TRANSITION_EXIT) | |
| 157 | + | addEvent(function() | |
| 158 | + | for N = 01, #X.PARTICIPANTES do | |
| 159 | + | local CHECK_POS = {0000, 0000, 00} | |
| 160 | + | if X.PARTICIPANTES[N].NEW_POS.CHECK then | |
| 161 | + | CHECK_POS[01] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.x | |
| 162 | + | CHECK_POS[02] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.y | |
| 163 | + | CHECK_POS[03] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.z | |
| 164 | + | else | |
| 165 | + | CHECK_POS[01] = X.PARTICIPANTES[CID_ID].POS.x | |
| 166 | + | CHECK_POS[02] = X.PARTICIPANTES[CID_ID].POS.y | |
| 167 | + | CHECK_POS[03] = X.PARTICIPANTES[CID_ID].POS.z | |
| 168 | + | end | |
| 169 | + | local NPC = Tile(CHECK_POS[01], CHECK_POS[02], CHECK_POS[03]):getTopCreature() | |
| 170 | + | if NPC then | |
| 171 | + | doRemoveCreature(NPC:getId()) | |
| 172 | + | end | |
| 173 | + | end | |
| 174 | + | ||
| 175 | + | X.SUB_ROTINAS = 00 | |
| 176 | + | player:setStorageValue(_SYSTEM.SCENE_STORAGE, nil) | |
| 177 | + | player:teleportTo(X.FIM.PLAYER_POS.POS) | |
| 178 | + | player:changeSpeed(player:getBaseSpeed()) | |
| 179 | + | end, 500) | |
| 180 | + | end | |
| 181 | + | if SET[01] == 'START' then | |
| 182 | + | for N = 01, #X.PARTICIPANTES do | |
| 183 | + | local NPC = Game.createNpc(X.PARTICIPANTES[N].NAME, X.PARTICIPANTES[N].POS) | |
| 184 | + | NPC:setDirection(X.PARTICIPANTES[N].DIR) | |
| 185 | + | X.PARTICIPANTES[N].NEW_POS.CHECK = false | |
| 186 | + | end | |
| 187 | + | player:setDirection(X.PLAYER_POS.DIR) | |
| 188 | + | player:teleportTo(X.PLAYER_POS.POS) | |
| 189 | + | ||
| 190 | + | player:changeSpeed(- player:getSpeed() + 200) | |
| 191 | + | X.SUB_ROTINAS = 00 | |
| 192 | + | rotina = rotina + 01 | |
| 193 | + | addEvent(onExecuteCena, 1000, cid, id, rotina) | |
| 194 | + | return true | |
| 195 | + | end | |
| 196 | + | if SET[01] == 'MOVE' then | |
| 197 | + | local CHECK_POS = {0000, 0000, 00} | |
| 198 | + | if X.SUB_ROTINAS == 00 then | |
| 199 | + | X.SUB_ROTINAS = tonumber(SET[04]) | |
| 200 | + | end | |
| 201 | + | if SET[02] == '0' then | |
| 202 | + | CHECK_POS[01] = player:getPosition().x | |
| 203 | + | CHECK_POS[02] = player:getPosition().y | |
| 204 | + | CHECK_POS[03] = player:getPosition().z | |
| 205 | + | else | |
| 206 | + | if X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.CHECK then | |
| 207 | + | CHECK_POS[01] = X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.x | |
| 208 | + | CHECK_POS[02] = X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.y | |
| 209 | + | CHECK_POS[03] = X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.z | |
| 210 | + | else | |
| 211 | + | CHECK_POS[01] = X.PARTICIPANTES[tonumber(SET[02])].POS.x | |
| 212 | + | CHECK_POS[02] = X.PARTICIPANTES[tonumber(SET[02])].POS.y | |
| 213 | + | CHECK_POS[03] = X.PARTICIPANTES[tonumber(SET[02])].POS.z | |
| 214 | + | end | |
| 215 | + | end | |
| 216 | + | ||
| 217 | + | local _CID = Tile(CHECK_POS[01], CHECK_POS[02], CHECK_POS[03]):getTopCreature() | |
| 218 | + | if _CID then | |
| 219 | + | if SET[03] == '0' then | |
| 220 | + | CHECK_POS[02] = CHECK_POS[02] - 01 | |
| 221 | + | elseif SET[03] == '1' then | |
| 222 | + | CHECK_POS[01] = CHECK_POS[01] + 01 | |
| 223 | + | elseif SET[03] == '2' then | |
| 224 | + | CHECK_POS[02] = CHECK_POS[02] + 01 | |
| 225 | + | elseif SET[03] == '3' then | |
| 226 | + | CHECK_POS[01] = CHECK_POS[01] - 01 | |
| 227 | + | end | |
| 228 | + | ||
| 229 | + | _CID:teleportTo({x=CHECK_POS[01], y=CHECK_POS[02], z=CHECK_POS[03]}, true) | |
| 230 | + | if tonumber(SET[02]) > 00 then | |
| 231 | + | X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.x = CHECK_POS[01] | |
| 232 | + | X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.y = CHECK_POS[02] | |
| 233 | + | X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.z = CHECK_POS[03] | |
| 234 | + | X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.CHECK = true | |
| 235 | + | end | |
| 236 | + | end | |
| 237 | + | if X.SUB_ROTINAS > 01 then | |
| 238 | + | X.SUB_ROTINAS = X.SUB_ROTINAS - 01 | |
| 239 | + | addEvent(onExecuteCena, baseWalkSpeed, cid, id, rotina) | |
| 240 | + | else | |
| 241 | + | X.SUB_ROTINAS = 00 | |
| 242 | + | rotina = rotina + 01 | |
| 243 | + | addEvent(onExecuteCena, baseWalkSpeed, cid, id, rotina) | |
| 244 | + | end | |
| 245 | + | return true | |
| 246 | + | end | |
| 247 | + | if SET[01] == 'SAY' then | |
| 248 | + | if X.SUB_ROTINAS == 00 then | |
| 249 | + | X.SUB_ROTINAS = tonumber(SET[02]) | |
| 250 | + | end | |
| 251 | + | ||
| 252 | + | local CID_ID = X.FALAS[X.SUB_ROTINAS].CID_ID | |
| 253 | + | if CID_ID == 00 then | |
| 254 | + | player:say(X.FALAS[X.SUB_ROTINAS].TALK, TALKTYPE_SAY) | |
| 255 | + | else | |
| 256 | + | local CHECK_POS = {0000, 0000, 00} | |
| 257 | + | if X.PARTICIPANTES[CID_ID].NEW_POS.CHECK then | |
| 258 | + | CHECK_POS[01] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.x | |
| 259 | + | CHECK_POS[02] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.y | |
| 260 | + | CHECK_POS[03] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.z | |
| 261 | + | else | |
| 262 | + | CHECK_POS[01] = X.PARTICIPANTES[CID_ID].POS.x | |
| 263 | + | CHECK_POS[02] = X.PARTICIPANTES[CID_ID].POS.y | |
| 264 | + | CHECK_POS[03] = X.PARTICIPANTES[CID_ID].POS.z | |
| 265 | + | end | |
| 266 | + | local _CID = Tile(CHECK_POS[01], CHECK_POS[02], CHECK_POS[03]):getTopCreature() | |
| 267 | + | if _CID then | |
| 268 | + | _CID:say(X.FALAS[X.SUB_ROTINAS].TALK, TALKTYPE_SAY) | |
| 269 | + | end | |
| 270 | + | end | |
| 271 | + | if X.SUB_ROTINAS < tonumber(SET[03]) then | |
| 272 | + | addEvent(onExecuteCena, X.FALAS[X.SUB_ROTINAS].DELAY, cid, id, rotina) | |
| 273 | + | X.SUB_ROTINAS = X.SUB_ROTINAS + 01 | |
| 274 | + | return true | |
| 275 | + | else | |
| 276 | + | X.SUB_ROTINAS = 00 | |
| 277 | + | rotina = rotina + 01 | |
| 278 | + | addEvent(onExecuteCena, 1000, cid, id, rotina) | |
| 279 | + | end | |
| 280 | + | return true | |
| 281 | + | end | |
| 282 | + | if SET[01] == 'DELAY' then | |
| 283 | + | X.SUB_ROTINAS = 00 | |
| 284 | + | rotina = rotina + 01 | |
| 285 | + | addEvent(onExecuteCena, tonumber(SET[02]), cid, id, rotina) | |
| 286 | + | return true | |
| 287 | + | end | |
| 288 | + | if SET[01] == 'LOOK' then | |
| 289 | + | if SET[02] == '0' then | |
| 290 | + | player:setDirection(tonumber(SET[03])) | |
| 291 | + | else | |
| 292 | + | local CHECK_POS = {0000, 0000, 00} | |
| 293 | + | if X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.CHECK then | |
| 294 | + | CHECK_POS[01] = X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.x | |
| 295 | + | CHECK_POS[02] = X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.y | |
| 296 | + | CHECK_POS[03] = X.PARTICIPANTES[tonumber(SET[02])].NEW_POS.POS.z | |
| 297 | + | else | |
| 298 | + | CHECK_POS[01] = X.PARTICIPANTES[tonumber(SET[02])].POS.x | |
| 299 | + | CHECK_POS[02] = X.PARTICIPANTES[tonumber(SET[02])].POS.y | |
| 300 | + | CHECK_POS[03] = X.PARTICIPANTES[tonumber(SET[02])].POS.z | |
| 301 | + | end | |
| 302 | + | local _CID = Tile(CHECK_POS[01], CHECK_POS[02], CHECK_POS[03]):getTopCreature() | |
| 303 | + | if _CID then | |
| 304 | + | _CID:setDirection(tonumber(SET[03])) | |
| 305 | + | end | |
| 306 | + | end | |
| 307 | + | ||
| 308 | + | X.SUB_ROTINAS = 00 | |
| 309 | + | rotina = rotina + 01 | |
| 310 | + | addEvent(onExecuteCena, tonumber(SET[04]), cid, id, rotina) | |
| 311 | + | return true | |
| 312 | + | end | |
| 313 | + | if SET[01] == 'TALK' then | |
| 314 | + | local CID_ID = X.FALAS[tonumber(SET[03])].CID_ID | |
| 315 | + | if CID_ID == 00 then | |
| 316 | + | player:say(X.FALAS[tonumber(SET[03])].TALK, TALKTYPE_SAY) | |
| 317 | + | else | |
| 318 | + | local CHECK_POS = {0000, 0000, 00} | |
| 319 | + | if X.PARTICIPANTES[CID_ID].NEW_POS.CHECK then | |
| 320 | + | CHECK_POS[01] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.x | |
| 321 | + | CHECK_POS[02] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.y | |
| 322 | + | CHECK_POS[03] = X.PARTICIPANTES[CID_ID].NEW_POS.POS.z | |
| 323 | + | else | |
| 324 | + | CHECK_POS[01] = X.PARTICIPANTES[CID_ID].POS.x | |
| 325 | + | CHECK_POS[02] = X.PARTICIPANTES[CID_ID].POS.y | |
| 326 | + | CHECK_POS[03] = X.PARTICIPANTES[CID_ID].POS.z | |
| 327 | + | end | |
| 328 | + | local _CID = Tile(CHECK_POS[01], CHECK_POS[02], CHECK_POS[03]):getTopCreature() | |
| 329 | + | if _CID then | |
| 330 | + | _CID:say(X.FALAS[tonumber(SET[03])].TALK, TALKTYPE_SAY) | |
| 331 | + | end | |
| 332 | + | end | |
| 333 | + | ||
| 334 | + | X.SUB_ROTINAS = 00 | |
| 335 | + | rotina = rotina + 01 | |
| 336 | + | addEvent(onExecuteCena, X.FALAS[tonumber(SET[03])].DELAY, cid, id, rotina) | |
| 337 | + | end | |
| 338 | + | end | |
| 339 | + | end | |
| 340 | + | function onSay(player, words, param) | |
| 341 | + | local split = param:splitTrimmed(" ") | |
| 342 | + | local STO_QUEST = { | |
| 343 | + | [000] = {GoldRec = 00000, Required = {00000, 000, "NONE", 00000, 000}, Max = 00, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {00000, 000, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Primeiros Passos | |
| 344 | + | [001] = {GoldRec = 00000, Required = {10801, 003, "NONE", 00000, 000}, Max = 02, Exp = 00100, Item = {05002, 005, 000, 000, true}, ItemQnt = 01, Sto = {10801, nil, 10802, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Primeiros Passos] | |
| 345 | + | [002] = {GoldRec = 00000, Required = {10802, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10802, 002, 10803, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aquecimento - Parte I | |
| 346 | + | [003] = {GoldRec = 00100, Required = {10803, 010, "NONE", 00000, 000}, Max = 03, Exp = 00150, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10802, nil, 10803, 000, 10804, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Aquecimento - Parte I] | |
| 347 | + | [004] = {GoldRec = 00000, Required = {10804, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10804, 002, 00000, 000, 00000, 000}, SendCancel = {true, "@TutorShow 06"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- O Valor do Esfor�o - Parte I | |
| 348 | + | [005] = {GoldRec = 00000, Required = {10804, 002, "ITEM", 03165, 010}, Max = 02, Exp = 00200, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10804, nil, 10805, 001, 00000, 000}, SendCancel = {true, "@TutorShow 08"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- O Valor do Esfor�o - Parte II | |
| 349 | + | [006] = {GoldRec = 00000, Required = {10806, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10806, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Entre Trolls e Sapos | |
| 350 | + | [007] = {GoldRec = 00000, Required = {10806, 003, "NONE", 00000, 000}, Max = 03, Exp = 00350, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10806, nil, 10807, 001, 10808, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, false, 00, {x=0000, y=0000, z=00}}}; -- Finalizando [Entre Trolls e Sapos] | |
| 351 | + | [008] = {GoldRec = 00000, Required = {10807, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {10534, 003, 001, 000, true}, ItemQnt = 01, Sto = {10807, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Poder Artificial | |
| 352 | + | [009] = {GoldRec = 00000, Required = {10808, 001, "NONE", 00000, 000}, Max = 03, Exp = 00400, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10808, nil, 10809, 001, 11044, 001}, SendCancel = {true, "@TutorShow 10"}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Voc� � Curioso?] | |
| 353 | + | [010] = {GoldRec = 00000, Required = {10809, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10809, 002, 10810, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aquecimento II | |
| 354 | + | [011] = {GoldRec = 00200, Required = {10810, 010, "NONE", 00000, 000}, Max = 03, Exp = 00500, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10809, nil, 10810, 000, 10811, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Aquecimento II] | |
| 355 | + | [012] = {GoldRec = 00000, Required = {10811, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10811, 002, 00000, 000, 00000, 000}, SendCancel = {true, "@TutorShow 11"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Nexus | |
| 356 | + | [013] = {GoldRec = 00000, Required = {10811, 002, "NONE", 00000, 000}, Max = 03, Exp = 00600, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10811, nil, 10828, 001, 10829, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Nexus] | |
| 357 | + | [014] = {GoldRec = 00000, Required = {10829, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10829, 002, 00000, 000, 00000, 000}, SendCancel = {true, "@TutorShow 13"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- O Dever de um Soldado | |
| 358 | + | [015] = {GoldRec = 00300, Required = {10829, 003, "NONE", 00000, 000}, Max = 03, Exp = 00700, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10829, nil, 10830, 001, 10876, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [O Dever de um Soldado] | |
| 359 | + | [016] = {GoldRec = 00000, Required = {10830, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10830, 002, 00000, 000, 00000, 000}, SendCancel = {true, "@TutorShow 14"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Blacklist | |
| 360 | + | [017] = {GoldRec = 00500, Required = {10830, 003, "NONE", 00000, 000}, Max = 02, Exp = 01000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10830, nil, 10831, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Blacklist] | |
| 361 | + | [018] = {GoldRec = 00000, Required = {10831, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10831, 002, 00000, 000, 00000, 000}, SendCancel = {true, "@TutorShow 15"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Dangerous | |
| 362 | + | [019] = {GoldRec = 00400, Required = {10831, 003, "NONE", 00000, 000}, Max = 03, Exp = 00800, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10831, nil, 10832, 001, 10877, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Dangerous] | |
| 363 | + | [020] = {GoldRec = 00000, Required = {10832, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10832, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Upgrade | |
| 364 | + | [021] = {GoldRec = 00600, Required = {10832, 003, "NONE", 00000, 000}, Max = 03, Exp = 01000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10832, nil, 10833, 001, 10834, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Upgrade] | |
| 365 | + | [022] = {GoldRec = 00000, Required = {10834, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10834, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Poder Surpresa | |
| 366 | + | [023] = {GoldRec = 00000, Required = {10833, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10833, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Arvore Amaldi�oada | |
| 367 | + | [024] = {GoldRec = 00700, Required = {10833, 003, "NONE", 00000, 000}, Max = 03, Exp = 01200, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10833, nil, 10898, 001, 10899, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Arvore Amaldi�oada] | |
| 368 | + | [025] = {GoldRec = 00000, Required = {10876, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10876, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Rotina | |
| 369 | + | [026] = {GoldRec = 00000, Required = {10877, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10877, 002, 10878, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aquecimento - III | |
| 370 | + | [027] = {GoldRec = 00850, Required = {10878, 025, "NONE", 00000, 000}, Max = 03, Exp = 01500, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10877, nil, 10878, 000, 10879, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Aquecimento - III] | |
| 371 | + | [028] = {GoldRec = 00000, Required = {10879, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10879, 002, 10880, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Dangerous para Amadores | |
| 372 | + | [029] = {GoldRec = 00000, Required = {10881, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10881, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aulas de Defesa - I | |
| 373 | + | [030] = {GoldRec = 00000, Required = {10881, 002, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {05000, 005, 003, 000, false}, ItemQnt = 00, Sto = {10881, 003, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aulas de Defesa - II | |
| 374 | + | [031] = {GoldRec = 00000, Required = {10883, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10883, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Em Busca das Estrelas | |
| 375 | + | [032] = {GoldRec = 00000, Required = {10884, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10884, 002, 10885, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Os Gigantes de Neve | |
| 376 | + | [033] = {GoldRec = 01000, Required = {10885, 050, "NONE", 00000, 000}, Max = 03, Exp = 02000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10884, nil, 10889, 001, 10885, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Os Gigantes de Neve] | |
| 377 | + | [034] = {GoldRec = 00000, Required = {10889, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10889, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Favores | |
| 378 | + | [035] = {GoldRec = 00000, Required = {10889, 002, "ITEM", 03053, 010}, Max = 03, Exp = 02500, Item = {04015, 004, 003, 000, true}, ItemQnt = 01, Sto = {10889, nil, 10891, 001, 10890, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Favores] | |
| 379 | + | [036] = {GoldRec = 00000, Required = {10890, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10890, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Duplo Poder | |
| 380 | + | [037] = {GoldRec = 00000, Required = {10891, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10891, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Suprimentos | |
| 381 | + | [038] = {GoldRec = 01250, Required = {10891, 003, "NONE", 00000, 000}, Max = 02, Exp = 02800, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10891, nil, 10892, 001, 10894, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Suprimentos] | |
| 382 | + | [039] = {GoldRec = 00000, Required = {10892, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10892, 002, 10893, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aquecimento - V | |
| 383 | + | [040] = {GoldRec = 01500, Required = {10893, 040, "NONE", 00000, 000}, Max = 02, Exp = 03500, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10892, nil, 10893, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Aquecimento - V] | |
| 384 | + | [041] = {GoldRec = 00000, Required = {10894, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10894, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Cora��o de Gelo | |
| 385 | + | [042] = {GoldRec = 01700, Required = {10894, 002, "NONE", 00000, 000}, Max = 02, Exp = 04000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10894, nil, 10895, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Cora��o de Gelo] | |
| 386 | + | [043] = {GoldRec = 00000, Required = {10897, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10897, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Triplo Poder | |
| 387 | + | [044] = {GoldRec = 00000, Required = {10898, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10898, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Estudo das Esp�cies - I | |
| 388 | + | [045] = {GoldRec = 02000, Required = {10898, 002, "ITEM", 03055, 030}, Max = 03, Exp = 04400, Item = {00000, 000, 000, 000, true}, ItemQnt = 01, Sto = {10898, nil, 10900, 001, 10902, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Estudo das Esp�cies - I] | |
| 389 | + | [046] = {GoldRec = 00000, Required = {10899, 001, "NONE", 00000, 000}, Max = 01, Exp = 05000, Item = {11026, 003, 000, 000, true}, ItemQnt = 01, Sto = {10899, 002, 10905, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aperfei�oamento - I [Ataque] | |
| 390 | + | [047] = {GoldRec = 00000, Required = {10899, 001, "NONE", 00000, 000}, Max = 01, Exp = 05000, Item = {11004, 003, 000, 000, true}, ItemQnt = 01, Sto = {10899, 002, 10905, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aperfei�oamento - I [Defesa] | |
| 391 | + | [048] = {GoldRec = 00000, Required = {10899, 001, "NONE", 00000, 000}, Max = 01, Exp = 05000, Item = {11040, 003, 000, 000, true}, ItemQnt = 01, Sto = {10899, 002, 10905, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aperfei�oamento - I [Esquiva] | |
| 392 | + | [049] = {GoldRec = 00000, Required = {10900, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10900, 002, 10901, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Aquecimento - VI | |
| 393 | + | [050] = {GoldRec = 02500, Required = {10901, 060, "NONE", 00000, 000}, Max = 03, Exp = 06000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10900, nil, 10901, 000, 10904, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Aquecimento - VI] | |
| 394 | + | [051] = {GoldRec = 00000, Required = {10904, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10904, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Estagi�rio | |
| 395 | + | [052] = {GoldRec = 02700, Required = {10904, 003, "NONE", 00000, 000}, Max = 02, Exp = 06400, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10904, nil, 10906, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Estagi�rio] | |
| 396 | + | [053] = {GoldRec = 00000, Required = {10906, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10906, 002, 10907, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Estudo das Esp�cies - II | |
| 397 | + | [054] = {GoldRec = 03000, Required = {10907, 035, "NONE", 00000, 000}, Max = 03, Exp = 07000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10906, nil, 10907, 000, 10908, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Estudo das Esp�cies - II] | |
| 398 | + | [055] = {GoldRec = 00000, Required = {10908, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10908, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Garoto de Mensagens | |
| 399 | + | [056] = {GoldRec = 00000, Required = {10908, 002, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10908, 003, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Garoto de Mensagens | |
| 400 | + | [057] = {GoldRec = 00000, Required = {10908, 003, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10908, 004, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Garoto de Mensagens | |
| 401 | + | [058] = {GoldRec = 00000, Required = {10908, 004, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10908, 005, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Garoto de Mensagens | |
| 402 | + | [059] = {GoldRec = 03300, Required = {10908, 005, "NONE", 00000, 000}, Max = 02, Exp = 07400, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10908, nil, 10909, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Garoto de Mensagens] | |
| 403 | + | [060] = {GoldRec = 00000, Required = {10909, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10909, 002, 10910, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Torre em Chamas | |
| 404 | + | [061] = {GoldRec = 03500, Required = {10910, 070, "NONE", 00000, 000}, Max = 03, Exp = 10000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10909, nil, 10910, 000, 10911, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Torre em Chamas] | |
| 405 | + | [062] = {GoldRec = 00000, Required = {10911, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10911, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Maquina da Sorte | |
| 406 | + | [063] = {GoldRec = 00000, Required = {10912, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10912, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Mestre dos Desafios | |
| 407 | + | [064] = {GoldRec = 00000, Required = {10913, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10913, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Repelente de Drag�o | |
| 408 | + | [065] = {GoldRec = 04000, Required = {10913, 002, "ITEM", 03006, 025}, Max = 03, Exp = 15000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10913, nil, 10916, 001, 10917, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Repelente de Drag�o] | |
| 409 | + | [066] = {GoldRec = 00000, Required = {10916, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10916, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Vermelho como Sangue | |
| 410 | + | [067] = {GoldRec = 04300, Required = {10916, 003, "NONE", 00000, 000}, Max = 02, Exp = 18000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10916, nil, 10921, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Vermelho como Sangue] | |
| 411 | + | [068] = {GoldRec = 00000, Required = {10921, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10921, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Reconcilia��o | |
| 412 | + | [069] = {GoldRec = 04500, Required = {10921, 003, "NONE", 00000, 000}, Max = 02, Exp = 20000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10921, nil, 10922, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Reconcilia��o] | |
| 413 | + | [070] = {GoldRec = 00000, Required = {00001, 000, "EDIT", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {00000, 000, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Somente os Dignos [Requisito de Skills] | |
| 414 | + | [071] = {GoldRec = 00000, Required = {10922, 001, "NONE", 00000, 000}, Max = 03, Exp = 23000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10922, nil, 10923, 001, 10925, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Somente os Dignos] | |
| 415 | + | [072] = {GoldRec = 00000, Required = {10923, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10923, 002, 10924, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Provando meu valor | |
| 416 | + | [073] = {GoldRec = 04700, Required = {10923, 002, "NONE", 00000, 000}, Max = 03, Exp = 25000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10923, nil, 10924, 000, 10927, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Provando meu valor] | |
| 417 | + | [074] = {GoldRec = 00000, Required = {10925, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10925, 002, 10926, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Controle de Pragas | |
| 418 | + | [075] = {GoldRec = 00000, Required = {10927, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10927, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Plano de Guerra - I | |
| 419 | + | [076] = {GoldRec = 05200, Required = {10927, 002, "ITEM", 03110, 010}, Max = 03, Exp = 30000, Item = {00000, 000, 000, 000, true}, ItemQnt = 01, Sto = {10927, nil, 10928, 001, 10930, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Plano de Guerra - I] | |
| 420 | + | [077] = {GoldRec = 00000, Required = {10928, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10928, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Plano de Guerra - II | |
| 421 | + | [078] = {GoldRec = 05400, Required = {10928, 006, "NONE", 00000, 000}, Max = 02, Exp = 32000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10928, nil, 10932, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Plano de Guerra - II] | |
| 422 | + | [079] = {GoldRec = 00000, Required = {10932, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10932, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Plano de Guerra - III | |
| 423 | + | [080] = {GoldRec = 05700, Required = {10932, 002, "ITEM", 03124, 005}, Max = 03, Exp = 35000, Item = {00000, 000, 000, 000, true}, ItemQnt = 01, Sto = {10932, nil, 10933, 001, 10935, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Plano de Guerra - III] | |
| 424 | + | [081] = {GoldRec = 00000, Required = {10933, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10933, 002, 10934, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Montanha Vermelha | |
| 425 | + | [082] = {GoldRec = 05900, Required = {10934, 099, "NONE", 00000, 000}, Max = 03, Exp = 37000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10933, nil, 10934, 000, 10936, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Montanha Vermelha] | |
| 426 | + | [083] = {GoldRec = 00000, Required = {10935, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10935, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Plano de Guerra - IV | |
| 427 | + | [084] = {GoldRec = 06000, Required = {10935, 006, "NONE", 00000, 000}, Max = 02, Exp = 40000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10935, nil, 10929, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Plano de Guerra - IV] | |
| 428 | + | [085] = {GoldRec = 00000, Required = {10936, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10936, 002, 10937, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- M�quina Mortifera | |
| 429 | + | [086] = {GoldRec = 06200, Required = {10937, 050, "NONE", 00000, 000}, Max = 02, Exp = 43000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10936, nil, 10937, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [M�quina Mortifera] | |
| 430 | + | [087] = {GoldRec = 00000, Required = {10929, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10929, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Caminhos na Areia | |
| 431 | + | [088] = {GoldRec = 00000, Required = {10929, 002, "NONE", 00000, 000}, Max = 02, Exp = 25000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10929, nil, 10938, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Caminhos na Areia] | |
| 432 | + | [089] = {GoldRec = 00000, Required = {10938, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10938, 002, 10939, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Tuneis na Areia | |
| 433 | + | [090] = {GoldRec = 06400, Required = {10939, 055, "NONE", 00000, 000}, Max = 03, Exp = 45000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10938, nil, 10939, 000, 10940, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Tuneis na Areia] | |
| 434 | + | [091] = {GoldRec = 00000, Required = {10940, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10940, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Ruinas do Conhecimento | |
| 435 | + | [092] = {GoldRec = 06600, Required = {10940, 003, "NONE", 00000, 000}, Max = 03, Exp = 47000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10940, nil, 10941, 001, 10943, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Ruinas do Conhecimento] | |
| 436 | + | [093] = {GoldRec = 00000, Required = {10941, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10941, 002, 10942, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Passos no Submundo | |
| 437 | + | [094] = {GoldRec = 06800, Required = {10942, 080, "NONE", 00000, 000}, Max = 03, Exp = 49000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10941, nil, 10942, 000, 10944, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Passos no Submundo] | |
| 438 | + | [095] = {GoldRec = 00000, Required = {10943, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10943, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Fendas no Deserto | |
| 439 | + | [096] = {GoldRec = 07000, Required = {10943, 003, "NONE", 00000, 000}, Max = 02, Exp = 50000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10943, nil, 10946, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Fendas no Deserto] | |
| 440 | + | [097] = {GoldRec = 05000, Required = {10926, 099, "NONE", 00000, 000}, Max = 02, Exp = 28000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10925, nil, 10926, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Controle de Pragas] | |
| 441 | + | ||
| 442 | + | [099] = {GoldRec = 00000, Required = {10975, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {10975, 101, 10976, 001, 00000, 000}, SendCancel = {true, "@TutorShow 34"}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Hora do Duelo] | |
| 443 | + | ||
| 444 | + | [119] = {GoldRec = 00000, Required = {10946, 001, "NONE", 00000, 000}, Max = 02, Exp = 30000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10946, nil, 10992, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Esquadr�o X] | |
| 445 | + | [120] = {GoldRec = 00000, Required = {10992, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10992, 002, 10993, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {true, {x=3564, y=1744, z=09}, true, {x=3495, y=1743, z=09}, {x=3550, y=1793, z=09}, true, 00}}; -- Super Ninho | |
| 446 | + | [121] = {GoldRec = 00000, Required = {10994, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10994, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Esquadr�o Dimensional | |
| 447 | + | [122] = {GoldRec = 00000, Required = {00002, 000, "EDIT", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {00000, 000, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Lord das Chamas [Requisito de Blacklit] | |
| 448 | + | [123] = {GoldRec = 00000, Required = {10996, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10996, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {true, {x=3252, y=1933, z=14}, true, {x=3249, y=1876, z=14}, {x=3394, y=2005, z=14}, false, 00}}; -- Opera��o Parasita | |
| 449 | + | [124] = {GoldRec = 08200, Required = {10996, 006, "NONE", 00000, 000}, Max = 03, Exp = 60000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10996, nil, 10997, 001, 10975, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Opera��o Parasita] | |
| 450 | + | [125] = {GoldRec = 00000, Required = {10997, 001, "NONE", 00000, 000}, Max = 03, Exp = 40000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10997, nil, 10998, 001, 10999, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Ref�gio nas Alturas] | |
| 451 | + | [126] = {GoldRec = 00000, Required = {10998, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10998, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Pronto Socorro | |
| 452 | + | [127] = {GoldRec = 08400, Required = {10998, 005, "NONE", 00000, 000}, Max = 02, Exp = 62000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10998, nil, 11000, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Pronto Socorro] | |
| 453 | + | [128] = {GoldRec = 00000, Required = {10999, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10999, 002, 11001, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- A Muralha | |
| 454 | + | [129] = {GoldRec = 08500, Required = {10999, 004, "NONE", 00000, 000}, Max = 02, Exp = 63000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10999, nil, 11002, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [A Muralha] | |
| 455 | + | [130] = {GoldRec = 00000, Required = {11000, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11000, 002, 11003, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Alta Voltagem | |
| 456 | + | [131] = {GoldRec = 08700, Required = {11003, 050, "NONE", 00000, 000}, Max = 02, Exp = 65000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11000, nil, 11003, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Alta Voltagem] | |
| 457 | + | [132] = {GoldRec = 00000, Required = {11002, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11002, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- A Velha Cidade | |
| 458 | + | [133] = {GoldRec = 00000, Required = {11002, 002, "NONE", 00000, 000}, Max = 03, Exp = 30000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11002, nil, 11004, 001, 11005, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [A Velha Cidade] | |
| 459 | + | [134] = {GoldRec = 00000, Required = {11004, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11004, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Trilhos de P�lvora | |
| 460 | + | [135] = {GoldRec = 08800, Required = {11004, 003, "NONE", 00000, 000}, Max = 03, Exp = 66000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11004, nil, 11006, 001, 11010, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Trilhos de P�lvora] | |
| 461 | + | [136] = {GoldRec = 00000, Required = {11005, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11005, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Sabedoria Antiga | |
| 462 | + | [137] = {GoldRec = 08900, Required = {11005, 003, "NONE", 00000, 000}, Max = 03, Exp = 68000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11005, nil, 11011, 001, 11008, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Sabedoria Antiga] | |
| 463 | + | [138] = {GoldRec = 00000, Required = {11006, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11006, 002, 11007, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Cidade Selvagem - I | |
| 464 | + | [139] = {GoldRec = 09000, Required = {11007, 070, "NONE", 00000, 000}, Max = 03, Exp = 70000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11006, nil, 11007, 000, 11012, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Cidade Selvagem - I] | |
| 465 | + | [140] = {GoldRec = 00000, Required = {11011, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11011, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Pontos de Observa��o | |
| 466 | + | [141] = {GoldRec = 09300, Required = {11011, 005, "NONE", 00000, 000}, Max = 02, Exp = 72000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11011, nil, 11014, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Pontos de Observa��o] | |
| 467 | + | [142] = {GoldRec = 00000, Required = {11012, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11012, 002, 11013, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Cidade Selvagem - II | |
| 468 | + | [143] = {GoldRec = 09500, Required = {11013, 060, "NONE", 00000, 000}, Max = 03, Exp = 75000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11012, nil, 11013, 000, 11016, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Cidade Selvagem - II] | |
| 469 | + | [144] = {GoldRec = 00000, Required = {11016, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11016, 002, 11017, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Cidade Selvagem - III | |
| 470 | + | [145] = {GoldRec = 09700, Required = {11017, 050, "NONE", 00000, 000}, Max = 03, Exp = 77000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11016, nil, 11017, 000, 11018, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Cidade Selvagem - III] | |
| 471 | + | [146] = {GoldRec = 00000, Required = {11018, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11018, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Treinamento Intensivo | |
| 472 | + | [147] = {GoldRec = 00000, Required = {11018, 002, "NONE", 00000, 000}, Max = 02, Exp = 55000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11018, nil, 11019, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Treinamento Intensivo] | |
| 473 | + | [148] = {GoldRec = 00000, Required = {11019, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11019, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Teste de Confian�a | |
| 474 | + | [149] = {GoldRec = 10000, Required = {11019, 002, "ITEM", 03279, 050}, Max = 02, Exp = 78000, Item = {00000, 000, 000, 000, true}, ItemQnt = 01, Sto = {11019, nil, 11020, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Teste de Confian�a] | |
| 475 | + | [150] = {GoldRec = 00000, Required = {11020, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11020, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Teste de Agilidade | |
| 476 | + | [151] = {GoldRec = 10300, Required = {11020, 003, "NONE", 00000, 000}, Max = 02, Exp = 79000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11020, nil, 11021, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Teste de Agilidade] | |
| 477 | + | [152] = {GoldRec = 00000, Required = {00003, 000, "EDIT", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11021, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Elimine o alvo antes do tempo acabar."}, Teleport = {false, {x=3308, y=1733, z=06}, false, {x=3305, y=1731, z=06}, {x=3315, y=1734, z=06}, false, 00}}; -- Teste de For�a | |
| 478 | + | [153] = {GoldRec = 00000, Required = {00004, 000, "EDIT", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11022, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Teste de Velocidade | |
| 479 | + | [154] = {GoldRec = 10500, Required = {00005, 000, "EDIT", 00000, 000}, Max = 01, Exp = 80000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11022, nil, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Teste de Velocidade] | |
| 480 | + | [155] = {GoldRec = 11000, Required = {11023, 001, "NONE", 00000, 000}, Max = 02, Exp = 81000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11023, nil, 11024, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Teste de Intelig�ncia] | |
| 481 | + | [156] = {GoldRec = 00000, Required = {11024, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11024, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Teste de Resist�ncia | |
| 482 | + | [157] = {GoldRec = 00000, Required = {11027, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11027, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Efetivado | |
| 483 | + | [158] = {GoldRec = 00000, Required = {11027, 002, "NONE", 00000, 000}, Max = 02, Exp = 50000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11027, nil, 11028, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Efetivado] | |
| 484 | + | [159] = {GoldRec = 00000, Required = {11028, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11028, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Bastidores da Guerra | |
| 485 | + | [160] = {GoldRec = 00000, Required = {11028, 002, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11028, 003, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Bastidores da Guerra | |
| 486 | + | [161] = {GoldRec = 11500, Required = {11028, 003, "NONE", 00000, 000}, Max = 02, Exp = 83000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11028, nil, 11029, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Bastidores da Guerra] | |
| 487 | + | [162] = {GoldRec = 00000, Required = {11029, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11029, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Bastidores da Guerra - II | |
| 488 | + | [163] = {GoldRec = 11700, Required = {11029, 002, "ITEM", 03078, 025}, Max = 02, Exp = 85000, Item = {00000, 000, 000, 000, true}, ItemQnt = 01, Sto = {11029, nil, 11030, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Bastidores da Guerra - II] | |
| 489 | + | [164] = {GoldRec = 00000, Required = {11030, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11030, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Bastidores da Guerra - III | |
| 490 | + | [165] = {GoldRec = 12000, Required = {11030, 003, "NONE", 00000, 000}, Max = 03, Exp = 87000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11030, nil, 11031, 001, 11036, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Bastidores da Guerra - III] | |
| 491 | + | [166] = {GoldRec = 00000, Required = {11033, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11033, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Base Improvisada | |
| 492 | + | [167] = {GoldRec = 00000, Required = {11031, 001, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11031, 002, 11032, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Soldado de A��o | |
| 493 | + | [168] = {GoldRec = 12500, Required = {11032, 099, "NONE", 00000, 000}, Max = 03, Exp = 88000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11031, nil, 11032, 000, 11033, 001}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Soldado de A��o] | |
| 494 | + | [169] = {GoldRec = 00000, Required = {10995, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10995, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Lord das Chamas | |
| 495 | + | [170] = {GoldRec = 00000, Required = {10991, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {10991, nil, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Introdu��o aos Saqueadores] | |
| 496 | + | [171] = {GoldRec = 00000, Required = {11033, 004, "NONE", 00000, 000}, Max = 02, Exp = 89000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11033, nil, 11035, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Base Improvisada] | |
| 497 | + | [172] = {GoldRec = 00000, Required = {00006, 000, "EDIT", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11033, nil, 11035, 001, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, ""}, Teleport = {true, {x=3903, y=1556, z=08}, true, {x=3875, y=1548, z=08}, {x=3902, y=1562, z=08}, false, 00}}; -- Guerra Subterr�nia | |
| 498 | + | [173] = {GoldRec = 13000, Required = {11035, 003, "NONE", 00000, 000}, Max = 01, Exp = 90000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11035, 101, 00000, 000, 00000, 000}, SendCancel = {true, "@TutorShow 46"}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Guerra Subterr�nia] | |
| 499 | + | [174] = {GoldRec = 00000, Required = {11036, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11036, 002, 00000, 000, 00000, 000}, SendCancel = {true, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Morada Sombria | |
| 500 | + | [175] = {GoldRec = 00000, Required = {11036, 003, "NONE", 00000, 000}, Max = 02, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 01, Sto = {11036, nil, 11038, 001, 00000, 000}, SendCancel = {true, ""}, InfoMsg = {false, ""}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Finalizando [Morada Sombria] | |
| 501 | + | ||
| 502 | + | [176] = {GoldRec = 00000, Required = {11044, 001, "NONE", 00000, 000}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {11044, 002, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {true, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Passivas | |
| 503 | + | --[177] = {GoldRec = 00000, Required = {11035, 101, "SCENE", 00000, 001}, Max = 01, Exp = 00000, Item = {00000, 000, 000, 000, false}, ItemQnt = 00, Sto = {11035, 101, 00000, 000, 00000, 000}, SendCancel = {false, ""}, InfoMsg = {false, "Seu Quest Log foi atualizado."}, Teleport = {false, {x=0000, y=0000, z=00}, false, {x=0000, y=0000, z=00}, {x=0000, y=0000, z=00}, false, 00}}; -- Passivas | |
| 504 | + | ||
| 505 | + | } | |
| 506 | + | ||
| 507 | + | local Quest = 0 | |
| 508 | + | local QuestID = tonumber(split[01]) | |
| 509 | + | if STO_QUEST[QuestID] then | |
| 510 | + | if QuestID == 00 then | |
| 511 | + | if Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE) then | |
| 512 | + | player:addHealth(player:getMaxHealth()) | |
| 513 | + | local ExAmulet = player:getStorageValue(_SYSTEM.EXTENSION_BACK[001].UID_01) | |
| 514 | + | local ExHelmet = player:getStorageValue(_SYSTEM.EXTENSION_BACK[002].UID_01) | |
| 515 | + | local ExBackpack = player:getStorageValue(_SYSTEM.EXTENSION_BACK[003].UID_01) | |
| 516 | + | local ExWeapon = player:getStorageValue(_SYSTEM.EXTENSION_BACK[004].UID_01) | |
| 517 | + | local ExArmor = player:getStorageValue(_SYSTEM.EXTENSION_BACK[005].UID_01) | |
| 518 | + | local ExGlove = player:getStorageValue(_SYSTEM.EXTENSION_BACK[006].UID_01) | |
| 519 | + | local ExRing = player:getStorageValue(_SYSTEM.EXTENSION_BACK[007].UID_01) | |
| 520 | + | local ExLegs = player:getStorageValue(_SYSTEM.EXTENSION_BACK[008].UID_01) | |
| 521 | + | local ExBoots = player:getStorageValue(_SYSTEM.EXTENSION_BACK[009].UID_01) | |
| 522 | + | ||
| 523 | + | player:sendCancelMessage("@reloadEx " ..ExAmulet.. " " ..ExHelmet.. " " ..ExBackpack.. " " ..ExWeapon.. " " ..ExArmor.. " " ..ExGlove.. " " ..ExRing.. " " ..ExLegs.. " " ..ExBoots) | |
| 524 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01) > 0 then | |
| 525 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10) < 100 then | |
| 526 | + | player:setStorageValue(_SYSTEM.INVENTARIO[04].UID_10, 100) | |
| 527 | + | player:sendCancelMessage("@LoadAmmo " ..player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10)) | |
| 528 | + | end | |
| 529 | + | end | |
| 530 | + | for GUN_BACKPACK = 00, 03 do | |
| 531 | + | for GUN_ID = 01, #_BACKPACK[04][GUN_BACKPACK] do | |
| 532 | + | if player:getStorageValue(_BACKPACK[04][GUN_BACKPACK][GUN_ID].UID_01) > 0 then | |
| 533 | + | if player:getStorageValue(_BACKPACK[04][GUN_BACKPACK][GUN_ID].UID_10) < 100 then | |
| 534 | + | player:setStorageValue(_BACKPACK[04][GUN_BACKPACK][GUN_ID].UID_10, 100) | |
| 535 | + | end | |
| 536 | + | else | |
| 537 | + | break | |
| 538 | + | end | |
| 539 | + | end | |
| 540 | + | end | |
| 541 | + | ||
| 542 | + | doBackpack(player, 00, 04, 00, 01) | |
| 543 | + | --player:sendCancelMessage("@OpenBackpack") | |
| 544 | + | player:getPosition():sendMagicEffect(14) | |
| 545 | + | return false | |
| 546 | + | else | |
| 547 | + | return false | |
| 548 | + | end | |
| 549 | + | end | |
| 550 | + | ||
| 551 | + | if STO_QUEST[QuestID].Required[03] == "SCENE" then | |
| 552 | + | player:sendCancelMessage("@Cinematic 00") | |
| 553 | + | player:setStorageValue(_SYSTEM.SCENE_STORAGE, STO_QUEST[QuestID].Required[05]) | |
| 554 | + | addEvent(onExecuteCena, 1000, player.uid, STO_QUEST[QuestID].Required[05], 01) | |
| 555 | + | return false | |
| 556 | + | end | |
| 557 | + | ||
| 558 | + | ||
| 559 | + | if STO_QUEST[QuestID].Required[03] == "EDIT" then | |
| 560 | + | if STO_QUEST[QuestID].Required[01] == 00001 then | |
| 561 | + | if player:getSkillLevel(SKILL_CLUB) >= 40 or player:getSkillLevel(SKILL_AXE) >= 40 or player:getSkillLevel(SKILL_SWORD) >= 40 or player:getSkillLevel(SKILL_FIST) >= 40 then | |
| 562 | + | player:sendCancelMessage("@InTalkNPC Lugri 02") | |
| 563 | + | else | |
| 564 | + | player:sendCancelMessage("@InTalkNPC Lugri 03") | |
| 565 | + | end | |
| 566 | + | end | |
| 567 | + | if STO_QUEST[QuestID].Required[01] == 00002 then | |
| 568 | + | if player:getStorageValue(_SYSTEM.TASK[00].RANK) >= 02 then | |
| 569 | + | player:sendCancelMessage("@InTalkNPC Victor 09") | |
| 570 | + | else | |
| 571 | + | player:sendCancelMessage("@InTalkNPC Victor 10") | |
| 572 | + | end | |
| 573 | + | end | |
| 574 | + | if STO_QUEST[QuestID].Required[01] == 00003 then | |
| 575 | + | local party = player:getParty() | |
| 576 | + | if party then | |
| 577 | + | player:popupFYI("Voc� precisa sair de sua Party para poder iniciar a miss�o.") | |
| 578 | + | return false | |
| 579 | + | end | |
| 580 | + | local from = STO_QUEST[QuestID].Teleport[04] | |
| 581 | + | local to = STO_QUEST[QuestID].Teleport[05] | |
| 582 | + | for A = from.x, to.x do | |
| 583 | + | for B = from.y, to.y do | |
| 584 | + | for C = from.z, to.z do | |
| 585 | + | local tile = Tile(A, B, C) | |
| 586 | + | local creature = tile:getTopCreature() | |
| 587 | + | if tile then | |
| 588 | + | if creature and creature:isPlayer() then | |
| 589 | + | player:popupFYI("Outro jogador esta usando a area no momento. Tente novamente mais tarde.") | |
| 590 | + | return false | |
| 591 | + | end | |
| 592 | + | end | |
| 593 | + | end | |
| 594 | + | end | |
| 595 | + | end | |
| 596 | + | for A = from.x, to.x do | |
| 597 | + | for B = from.y, to.y do | |
| 598 | + | for C = from.z, to.z do | |
| 599 | + | local tile = Tile(A, B, C) | |
| 600 | + | local creature = tile:getTopCreature() | |
| 601 | + | if tile then | |
| 602 | + | if creature and creature:isMonster() then | |
| 603 | + | doRemoveCreature(creature:getId()) | |
| 604 | + | end | |
| 605 | + | end | |
| 606 | + | end | |
| 607 | + | end | |
| 608 | + | end | |
| 609 | + | ||
| 610 | + | TimeMin = 01 | |
| 611 | + | TimeSeg = 00 | |
| 612 | + | ||
| 613 | + | if STO_QUEST[QuestID].InfoMsg[01] then | |
| 614 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, STO_QUEST[QuestID].InfoMsg[02]) | |
| 615 | + | end | |
| 616 | + | player:getPosition():sendMagicEffect(13) | |
| 617 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, 01) | |
| 618 | + | player:setStorageValue(_QUESTLOG[187].UID_01, 02) | |
| 619 | + | Game.createMonster("Mortal Target", {x=3313, y=1733, z=6}) | |
| 620 | + | player:teleportTo(STO_QUEST[QuestID].Teleport[02]) | |
| 621 | + | player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) | |
| 622 | + | player:sendCancelMessage("@DGTime 01 0 0 01") | |
| 623 | + | onTime = addEvent(onTimerEvent, 1000, player.uid) | |
| 624 | + | end | |
| 625 | + | if STO_QUEST[QuestID].Required[01] == 00004 then | |
| 626 | + | TimeMin = 05 | |
| 627 | + | TimeSeg = 00 | |
| 628 | + | ||
| 629 | + | if STO_QUEST[QuestID].InfoMsg[01] then | |
| 630 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, STO_QUEST[QuestID].InfoMsg[02]) | |
| 631 | + | end | |
| 632 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, 01) | |
| 633 | + | player:getPosition():sendMagicEffect(13) | |
| 634 | + | player:setStorageValue(_QUESTLOG[188].UID_01, 02) | |
| 635 | + | player:sendCancelMessage("@DGTime 01 0 0 02") | |
| 636 | + | onTime = addEvent(onTimerEvent, 1000, player.uid) | |
| 637 | + | end | |
| 638 | + | if STO_QUEST[QuestID].Required[01] == 00005 then | |
| 639 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, nil) | |
| 640 | + | stopEvent(onTime) | |
| 641 | + | TimeMin = 00 | |
| 642 | + | TimeSeg = 00 | |
| 643 | + | player:sendCancelMessage("@DGTime 0 0 0") | |
| 644 | + | player:sendCancelMessage("@ResetDG") | |
| 645 | + | ||
| 646 | + | if STO_QUEST[QuestID].InfoMsg[01] then | |
| 647 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, STO_QUEST[QuestID].InfoMsg[02]) | |
| 648 | + | end | |
| 649 | + | player:getPosition():sendMagicEffect(13) | |
| 650 | + | player:setStorageValue(_QUESTLOG[188].UID_01, 100) | |
| 651 | + | player:setStorageValue(_QUESTLOG[189].UID_01, 001) | |
| 652 | + | end | |
| 653 | + | if STO_QUEST[QuestID].Required[01] == 00006 then | |
| 654 | + | local party = player:getParty() | |
| 655 | + | if party then | |
| 656 | + | player:popupFYI("Voc� precisa sair de sua Party para poder iniciar a miss�o.") | |
| 657 | + | return false | |
| 658 | + | end | |
| 659 | + | local from = STO_QUEST[QuestID].Teleport[04] | |
| 660 | + | local to = STO_QUEST[QuestID].Teleport[05] | |
| 661 | + | for A = from.x, to.x do | |
| 662 | + | for B = from.y, to.y do | |
| 663 | + | for C = from.z, to.z do | |
| 664 | + | local tile = Tile(A, B, C) | |
| 665 | + | local creature = tile:getTopCreature() | |
| 666 | + | if tile then | |
| 667 | + | if creature and creature:isPlayer() then | |
| 668 | + | player:popupFYI("Outro jogador esta usando a area no momento. Tente novamente mais tarde.") | |
| 669 | + | return false | |
| 670 | + | end | |
| 671 | + | end | |
| 672 | + | end | |
| 673 | + | end | |
| 674 | + | end | |
| 675 | + | for A = from.x, to.x do | |
| 676 | + | for B = from.y, to.y do | |
| 677 | + | for C = from.z, to.z do | |
| 678 | + | local tile = Tile(A, B, C) | |
| 679 | + | local creature = tile:getTopCreature() | |
| 680 | + | if tile then | |
| 681 | + | if creature and creature:isMonster() then | |
| 682 | + | doRemoveCreature(creature:getId()) | |
| 683 | + | end | |
| 684 | + | end | |
| 685 | + | end | |
| 686 | + | end | |
| 687 | + | end | |
| 688 | + | ||
| 689 | + | player:setTown(Town(16)) | |
| 690 | + | player:setStorageValue(11034, 00) | |
| 691 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, 01) | |
| 692 | + | player:setStorageValue(_QUESTLOG[198].UID_01, 02) | |
| 693 | + | player:teleportTo(STO_QUEST[QuestID].Teleport[02]) | |
| 694 | + | player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) | |
| 695 | + | ||
| 696 | + | addEvent(onGuerraSubsterrania, 1000, player.uid) | |
| 697 | + | end | |
| 698 | + | ||
| 699 | + | player:sendCancelMessage("@LoadQuestWindows") | |
| 700 | + | player:sendCancelMessage("@RemoveMarkMap") | |
| 701 | + | return false | |
| 702 | + | end | |
| 703 | + | ||
| 704 | + | if STO_QUEST[QuestID].Required[03] == "ITEM" then | |
| 705 | + | if player:getStorageValue(STO_QUEST[QuestID].Required[01]) == STO_QUEST[QuestID].Required[02] then | |
| 706 | + | local ProcurarID = STO_QUEST[QuestID].Required[04] | |
| 707 | + | local ItemQnt = STO_QUEST[QuestID].Required[05] | |
| 708 | + | local DeleteItem = STO_QUEST[QuestID].Item[05] | |
| 709 | + | ||
| 710 | + | doBackpack(player, 03, 03, 00, 01, ProcurarID) -- Procurar | |
| 711 | + | local QntBag = doBackpack(player, 04) | |
| 712 | + | local PosBag = doBackpack(player, 05) | |
| 713 | + | local ExtBag = doBackpack(player, 06) | |
| 714 | + | ||
| 715 | + | if DeleteItem then | |
| 716 | + | if QntBag > ItemQnt then | |
| 717 | + | player:setStorageValue(_BACKPACK[03][ExtBag][PosBag].UID_04, (QntBag - ItemQnt)) | |
| 718 | + | else | |
| 719 | + | doBackpack(player, 02, 03, ExtBag, PosBag) | |
| 720 | + | end | |
| 721 | + | ||
| 722 | + | doBackpack(player, 00, 03, 00, 01) | |
| 723 | + | end | |
| 724 | + | ||
| 725 | + | player:sendCancelMessage("@ReloadBackpack 03 01") | |
| 726 | + | else | |
| 727 | + | return false | |
| 728 | + | end | |
| 729 | + | end | |
| 730 | + | ||
| 731 | + | if STO_QUEST[QuestID].Required[03] == "NONE" then | |
| 732 | + | if player:getStorageValue(STO_QUEST[QuestID].Required[01]) ~= STO_QUEST[QuestID].Required[02] then | |
| 733 | + | return false | |
| 734 | + | end | |
| 735 | + | end | |
| 736 | + | ||
| 737 | + | if STO_QUEST[QuestID].Item[01] > 0 then | |
| 738 | + | -------------------------------------------------- | |
| 739 | + | local itemid = STO_QUEST[QuestID].Item[01] | |
| 740 | + | local slot = STO_QUEST[QuestID].Item[02] | |
| 741 | + | local ext = 0 | |
| 742 | + | local rare = STO_QUEST[QuestID].Item[03] | |
| 743 | + | local star = STO_QUEST[QuestID].Item[04] | |
| 744 | + | local qnt = STO_QUEST[QuestID].ItemQnt | |
| 745 | + | local uni = STO_QUEST[QuestID].Item[05] | |
| 746 | + | --------------------------------------------------- | |
| 747 | + | if doBackpack(player, 00, slot, ext, 01) then | |
| 748 | + | if slot == 3 then | |
| 749 | + | if uni then | |
| 750 | + | if doBackpack(player, 01, slot, ext, 0, itemid, rare, star, qnt, uni) then | |
| 751 | + | player:getPosition():sendMagicEffect(14) | |
| 752 | + | end | |
| 753 | + | else | |
| 754 | + | doBackpack(player, 03, slot, ext, 01, itemid) -- Procurar | |
| 755 | + | if doBackpack(player, 01, slot, ext, 0, itemid, rare, star, qnt) then | |
| 756 | + | player:getPosition():sendMagicEffect(14) | |
| 757 | + | end | |
| 758 | + | end | |
| 759 | + | else | |
| 760 | + | if doBackpack(player, 01, slot, ext, 0, itemid, rare, star, qnt, uni) then | |
| 761 | + | player:getPosition():sendMagicEffect(14) | |
| 762 | + | end | |
| 763 | + | end | |
| 764 | + | else | |
| 765 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia.\nObtenha espaco para finalizar a Quest.") | |
| 766 | + | player:getPosition():sendMagicEffect(03) | |
| 767 | + | Quest = 01 | |
| 768 | + | end | |
| 769 | + | end | |
| 770 | + | ||
| 771 | + | if Quest == 00 then | |
| 772 | + | if STO_QUEST[QuestID].Max == 01 then | |
| 773 | + | player:setStorageValue(STO_QUEST[QuestID].Sto[01], STO_QUEST[QuestID].Sto[02]) | |
| 774 | + | player:getPosition():sendMagicEffect(14) | |
| 775 | + | elseif STO_QUEST[QuestID].Max == 02 then | |
| 776 | + | player:setStorageValue(STO_QUEST[QuestID].Sto[01], STO_QUEST[QuestID].Sto[02]) | |
| 777 | + | player:setStorageValue(STO_QUEST[QuestID].Sto[03], STO_QUEST[QuestID].Sto[04]) | |
| 778 | + | player:getPosition():sendMagicEffect(14) | |
| 779 | + | else | |
| 780 | + | player:setStorageValue(STO_QUEST[QuestID].Sto[01], STO_QUEST[QuestID].Sto[02]) | |
| 781 | + | player:setStorageValue(STO_QUEST[QuestID].Sto[03], STO_QUEST[QuestID].Sto[04]) | |
| 782 | + | player:setStorageValue(STO_QUEST[QuestID].Sto[05], STO_QUEST[QuestID].Sto[06]) | |
| 783 | + | player:getPosition():sendMagicEffect(14) | |
| 784 | + | end | |
| 785 | + | ||
| 786 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, nil) | |
| 787 | + | end | |
| 788 | + | ||
| 789 | + | if STO_QUEST[QuestID].Teleport[01] then | |
| 790 | + | local party = player:getParty() | |
| 791 | + | if party then | |
| 792 | + | player:popupFYI("Voc� precisa sair de sua Party para poder iniciar a miss�o.") | |
| 793 | + | return false | |
| 794 | + | end | |
| 795 | + | local from = STO_QUEST[QuestID].Teleport[04] | |
| 796 | + | local to = STO_QUEST[QuestID].Teleport[05] | |
| 797 | + | if STO_QUEST[QuestID].Teleport[03] then -- � pra somente um jogador? | |
| 798 | + | for A = from.x, to.x do | |
| 799 | + | for B = from.y, to.y do | |
| 800 | + | for C = from.z, to.z do | |
| 801 | + | local tile = Tile(A, B, C) | |
| 802 | + | if tile then | |
| 803 | + | local creature = tile:getTopCreature() | |
| 804 | + | if creature and creature:isPlayer() then | |
| 805 | + | player:popupFYI("Outro jogador esta usando a area no momento. Tente novamente mais tarde.") | |
| 806 | + | return false | |
| 807 | + | end | |
| 808 | + | end | |
| 809 | + | end | |
| 810 | + | end | |
| 811 | + | end | |
| 812 | + | end | |
| 813 | + | if STO_QUEST[QuestID].Teleport[06] then -- Remover monstros da �rea? | |
| 814 | + | for A = from.x, to.x do | |
| 815 | + | for B = from.y, to.y do | |
| 816 | + | for C = from.z, to.z do | |
| 817 | + | local tile = Tile(A, B, C) | |
| 818 | + | if tile then | |
| 819 | + | local creature = tile:getTopCreature() | |
| 820 | + | if creature and creature:isMonster() then | |
| 821 | + | doRemoveCreature(creature:getId()) | |
| 822 | + | end | |
| 823 | + | end | |
| 824 | + | end | |
| 825 | + | end | |
| 826 | + | end | |
| 827 | + | end | |
| 828 | + | ||
| 829 | + | player:setStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE, 01) | |
| 830 | + | player:teleportTo(STO_QUEST[QuestID].Teleport[02]) | |
| 831 | + | player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) | |
| 832 | + | end | |
| 833 | + | ||
| 834 | + | if STO_QUEST[QuestID].Exp > 0 then | |
| 835 | + | player:addExperience(STO_QUEST[QuestID].Exp, true, true) | |
| 836 | + | end | |
| 837 | + | ||
| 838 | + | if STO_QUEST[QuestID].SendCancel[01] then | |
| 839 | + | player:sendCancelMessage(STO_QUEST[QuestID].SendCancel[02]) | |
| 840 | + | end | |
| 841 | + | ||
| 842 | + | if STO_QUEST[QuestID].InfoMsg[01] then | |
| 843 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, STO_QUEST[QuestID].InfoMsg[02]) | |
| 844 | + | end | |
| 845 | + | ||
| 846 | + | if STO_QUEST[QuestID].GoldRec > 0 then | |
| 847 | + | local GoldQnt = STO_QUEST[QuestID].GoldRec | |
| 848 | + | PlayerGoldCoins(player, 02, GoldQnt) | |
| 849 | + | --player:sendCancelMessage("@LootMSG 3001 0 0 " ..GoldQnt) | |
| 850 | + | end | |
| 851 | + | ||
| 852 | + | -- RECOMPENSAS EXTRAS | |
| 853 | + | -- MONTARIA | |
| 854 | + | if player:getStorageValue(_QUESTLOG[09].UID_01) == 02 then | |
| 855 | + | local Montaria = {22, 25, 26} | |
| 856 | + | player:addMount(Montaria[math.random(01, #Montaria)]) -- Rented Horse | |
| 857 | + | end | |
| 858 | + | player:sendCancelMessage("@RemoveMarkMap") | |
| 859 | + | for X = 01, #_QUESTLOG do | |
| 860 | + | if _QUESTLOG[X].Type == "NORMAL" then | |
| 861 | + | player:sendCancelMessage("@QuestAbertas " .._QUESTLOG[X].Type.. " " ..X.. " " ..player:getStorageValue(_QUESTLOG[X].UID_01)) | |
| 862 | + | elseif _QUESTLOG[X].Type == "HUNT" then | |
| 863 | + | player:sendCancelMessage("@QuestAbertas " .._QUESTLOG[X].Type.. " " ..X.. " " ..player:getStorageValue(_QUESTLOG[X].UID_01).. " " ..player:getStorageValue(_QUESTLOG[X].Value[01]).. " " .._QUESTLOG[X].Value[02]) | |
| 864 | + | else | |
| 865 | + | player:sendCancelMessage("@QuestAbertas " .._QUESTLOG[X].Type.. " " ..X.. " " ..player:getStorageValue(_QUESTLOG[X].UID_01).. " " ..onGetBackpackItem(player, _QUESTLOG[X].Value[01]).. " " .._QUESTLOG[X].Value[02]) | |
| 866 | + | end | |
| 867 | + | end | |
| 868 | + | player:sendCancelMessage("@LoadQuestWindows") | |
| 869 | + | end | |
| 870 | + | ||
| 871 | + | return false | |
| 872 | + | end |
| @@ -0,0 +1,23 @@ | |||
| 1 | + | function onSay(player, words, param) | |
| 2 | + | local hasAccess = player:getGroup():getAccess() | |
| 3 | + | local players = Game.getPlayers() | |
| 4 | + | ||
| 5 | + | if _DEBUG_MODE then | |
| 6 | + | print("[TALK - PLAYERS ONLINE] " ..player:getName()) | |
| 7 | + | end | |
| 8 | + | local i = 1 | |
| 9 | + | for _, targetPlayer in ipairs(players) do | |
| 10 | + | if hasAccess or not targetPlayer:isInGhostMode() then | |
| 11 | + | local isTrainer = 00 | |
| 12 | + | local tile = Tile(targetPlayer:getPosition().x, targetPlayer:getPosition().y, targetPlayer:getPosition().z) | |
| 13 | + | local ground = tile:getGround() | |
| 14 | + | if ground:getId() == 11062 or ground:getId() == 11063 then | |
| 15 | + | isTrainer = 01 | |
| 16 | + | end | |
| 17 | + | ||
| 18 | + | player:sendCancelMessage("@PlayersOnline#" ..i.. "#" ..targetPlayer:getName().. "#" ..targetPlayer:getLevel().. "#" ..targetPlayer:getVocation():getName().. "#" ..isTrainer) | |
| 19 | + | i = i + 1 | |
| 20 | + | end | |
| 21 | + | end | |
| 22 | + | return false | |
| 23 | + | end |
| @@ -0,0 +1,65 @@ | |||
| 1 | + | function onSay(player, words, param) | |
| 2 | + | local split = param:splitTrimmed(" ") | |
| 3 | + | local _ITEM = _ITEM | |
| 4 | + | if split[01] then | |
| 5 | + | if _DEBUG_MODE then | |
| 6 | + | local _TYPE = { | |
| 7 | + | ["50"] = 'Abrindo aba de Vendas na Central Box', | |
| 8 | + | ["51"] = 'Abrindo aba de Upgrade na Central Box', | |
| 9 | + | ["52"] = 'Abrindo aba de Skill na Central Box', | |
| 10 | + | ["53"] = 'Abrindo aba de Market na Central Box', | |
| 11 | + | ["54"] = 'Abrindo aba de Depot na Central Box', | |
| 12 | + | } | |
| 13 | + | ||
| 14 | + | if _TYPE[split[01]] then | |
| 15 | + | print("[TALK - OPEN BACKPACK] " ..player:getName().. " - " .._TYPE[split[01]]) | |
| 16 | + | else | |
| 17 | + | print("[TALK - OPEN BACKPACK] " ..player:getName().. " - Abrindo Backpack (" ..split[01].. ")") | |
| 18 | + | end | |
| 19 | + | end | |
| 20 | + | if split[01] == "50" then | |
| 21 | + | local slot = tonumber(split[02]) | |
| 22 | + | local ext = tonumber(split[03]) | |
| 23 | + | ||
| 24 | + | if ext < 0 then ext = 0 end | |
| 25 | + | doBackpack(player, 00, slot, ext, 01) | |
| 26 | + | player:sendCancelMessage("@OpenSellComboBox") | |
| 27 | + | elseif split[01] == "51" then | |
| 28 | + | local slot = tonumber(split[02]) | |
| 29 | + | local ext = tonumber(split[03]) | |
| 30 | + | ||
| 31 | + | if ext < 0 then ext = 0 end | |
| 32 | + | doBackpack(player, 00, slot, ext, 01) | |
| 33 | + | player:sendCancelMessage("@OpenUpgradeBox") | |
| 34 | + | elseif split[01] == "52" then | |
| 35 | + | local slot = tonumber(split[02]) | |
| 36 | + | local ext = tonumber(split[03]) | |
| 37 | + | ||
| 38 | + | if ext < 0 then ext = 0 end | |
| 39 | + | doBackpack(player, 00, slot, ext, 01) | |
| 40 | + | player:sendCancelMessage("@OpenSkillBag") | |
| 41 | + | elseif split[01] == "53" then | |
| 42 | + | local slot = tonumber(split[02]) | |
| 43 | + | local ext = tonumber(split[03]) | |
| 44 | + | ||
| 45 | + | if ext < 0 then ext = 0 end | |
| 46 | + | doBackpack(player, 00, slot, ext, 01) | |
| 47 | + | player:sendCancelMessage("@MarketInsertComboBox") | |
| 48 | + | elseif split[01] == "54" then | |
| 49 | + | local slot = tonumber(split[02]) | |
| 50 | + | local ext = tonumber(split[03]) | |
| 51 | + | ||
| 52 | + | if ext < 0 then ext = 0 end | |
| 53 | + | doBackpack(player, 00, slot, ext, 01) | |
| 54 | + | player:sendCancelMessage("@DepotBackpack") | |
| 55 | + | else | |
| 56 | + | local slot = tonumber(split[01]) | |
| 57 | + | local ext = tonumber(split[02]) | |
| 58 | + | ||
| 59 | + | if ext < 0 then ext = 0 end | |
| 60 | + | doBackpack(player, 00, slot, ext, 01) | |
| 61 | + | player:sendCancelMessage("@OpenBackpack") | |
| 62 | + | end | |
| 63 | + | end | |
| 64 | + | return false | |
| 65 | + | end |
| @@ -0,0 +1,130 @@ | |||
| 1 | + | local PASSWORD_CHEST = { | |
| 2 | + | [01] = {PASS = 9255, TYPE = "COINS", ITEM = {003000, 00, 00, 00}, STORAGE = {_QUESTLOG[33].UID_01, 100}}; | |
| 3 | + | [02] = {PASS = 1383, TYPE = "COINS", ITEM = {010000, 00, 00, 00}, STORAGE = {_QUESTLOG[34].UID_01, 100}}; | |
| 4 | + | [03] = {PASS = 2431, TYPE = "COINS", ITEM = {025000, 00, 00, 00}, STORAGE = {_QUESTLOG[35].UID_01, 100}}; | |
| 5 | + | [04] = {PASS = 4659, TYPE = "COINS", ITEM = {099000, 00, 00, 00}, STORAGE = {_QUESTLOG[37].UID_01, 100}}; | |
| 6 | + | ||
| 7 | + | [05] = {PASS = 1736, TYPE = "EQUIP", ITEM = {009006, 09, 01, 00, 01}, STORAGE = {_QUESTLOG[52].UID_01, 100}}; | |
| 8 | + | [06] = {PASS = 9467, TYPE = "EQUIP", ITEM = {007005, 07, 01, 00, 01}, STORAGE = {_QUESTLOG[53].UID_01, 100}}; | |
| 9 | + | [07] = {PASS = 8342, TYPE = "EQUIP", ITEM = {004022, 04, 02, 00, 01}, STORAGE = {_QUESTLOG[54].UID_01, 100}}; | |
| 10 | + | [08] = {PASS = 6621, TYPE = "EQUIP", ITEM = {005038, 05, 03, 00, 01}, STORAGE = {_QUESTLOG[55].UID_01, 100}}; | |
| 11 | + | [09] = {PASS = 9446, TYPE = "ITEMS", ITEM = {003055, 03, 00, 00, 30}, STORAGE = {_QUESTLOG[65].UID_01, 100}}; | |
| 12 | + | ||
| 13 | + | -- SAQUEADORES | |
| 14 | + | [10] = {PASS = 2552, TYPE = "ITEMS", ITEM = {03081, 03, 00, 00, 15}, STORAGE = {00002, 003}}; -- 00002 = INDICA SAQUEADORES (SEMPRE 02) | 003 = INDICA RANK QUE ESSE BAU EST� | |
| 15 | + | [11] = {PASS = 8349, TYPE = "ITEMS", ITEM = {03240, 03, 00, 00, 15}, STORAGE = {00002, 003}}; -- 00002 = INDICA SAQUEADORES (SEMPRE 02) | 003 = INDICA RANK QUE ESSE BAU EST� | |
| 16 | + | [12] = {PASS = 6397, TYPE = "ITEMS", ITEM = {03134, 03, 00, 00, 15}, STORAGE = {00002, 003}}; -- 00002 = INDICA SAQUEADORES (SEMPRE 02) | 003 = INDICA RANK QUE ESSE BAU EST� | |
| 17 | + | [13] = {PASS = 5412, TYPE = "ITEMS", ITEM = {03141, 03, 00, 00, 05}, STORAGE = {00002, 003}}; -- 00002 = INDICA SAQUEADORES (SEMPRE 02) | 003 = INDICA RANK QUE ESSE BAU EST� | |
| 18 | + | [14] = {PASS = 6141, TYPE = "ITEMS", ITEM = {03007, 03, 00, 00, 20}, STORAGE = {00002, 003}}; -- 00002 = INDICA SAQUEADORES (SEMPRE 02) | 003 = INDICA RANK QUE ESSE BAU EST� | |
| 19 | + | } | |
| 20 | + | function onSay(player, words, param) | |
| 21 | + | local split = param:splitTrimmed(" ") | |
| 22 | + | local ChestID = tonumber(split[01]) | |
| 23 | + | local ChestPass = tonumber(split[02]) | |
| 24 | + | ||
| 25 | + | if _DEBUG_MODE then | |
| 26 | + | print("[TALK - BAU SENHA] " ..player:getName().. " - Bau ID: " ..split[01].. " | (" ..split[02].. " = " ..PASSWORD_CHEST[ChestID].PASS.. ")") | |
| 27 | + | end | |
| 28 | + | if PASSWORD_CHEST[ChestID] then | |
| 29 | + | if PASSWORD_CHEST[ChestID].PASS == ChestPass then | |
| 30 | + | if player:getStorageValue(PASSWORD_CHEST[ChestID].STORAGE[01]) < PASSWORD_CHEST[ChestID].STORAGE[02] then | |
| 31 | + | addEvent(function() | |
| 32 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Recompensa Desbloqueada.") | |
| 33 | + | ||
| 34 | + | if PASSWORD_CHEST[ChestID].STORAGE[01] == 00002 then | |
| 35 | + | local ITEMID = PASSWORD_CHEST[ChestID].ITEM[01] | |
| 36 | + | local SLOT = 03 | |
| 37 | + | local RARE = _ITEMS[ITEMID].RARE | |
| 38 | + | local STAR = PASSWORD_CHEST[ChestID].ITEM[04] | |
| 39 | + | local QNT = PASSWORD_CHEST[ChestID].ITEM[05] | |
| 40 | + | ||
| 41 | + | local GLOBAL_RANK = PASSWORD_CHEST[ChestID].STORAGE[02] | |
| 42 | + | local GLOBAL_POSITION = tonumber(split[03]) | |
| 43 | + | local CHEST_ID = tonumber(split[04]) | |
| 44 | + | ||
| 45 | + | doBackpack(player, 03, SLOT, 00, 01, ITEMID) -- Procurar | |
| 46 | + | if doBackpack(player, 01, SLOT, 00, 00, ITEMID, RARE, STAR, QNT) then | |
| 47 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� recebeu o item [ " .._ITEMS[ITEMID].NAME.. ", x" ..QNT.." ].") | |
| 48 | + | end | |
| 49 | + | ||
| 50 | + | player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][02][GLOBAL_RANK][GLOBAL_POSITION], CHEST_ID) | |
| 51 | + | player:getPosition():sendMagicEffect(14) | |
| 52 | + | ||
| 53 | + | local PLAYER_RANK = player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) | |
| 54 | + | local PLAYER_VALUE = player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) | |
| 55 | + | if PLAYER_RANK < 01 then PLAYER_RANK = 01 end | |
| 56 | + | if PLAYER_VALUE < 00 then PLAYER_VALUE = 00 end | |
| 57 | + | ||
| 58 | + | if PLAYER_RANK == GLOBAL_RANK then | |
| 59 | + | if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) < 00 then | |
| 60 | + | player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02], 01) | |
| 61 | + | else | |
| 62 | + | player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02], (player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) + 01)) | |
| 63 | + | local MAX_RANK = _GLOBAL_RANDOM.SAQUEADORES[00][00][PLAYER_RANK] | |
| 64 | + | if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) < 05 then | |
| 65 | + | if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][02]) == MAX_RANK then | |
| 66 | + | if player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) < 01 then | |
| 67 | + | player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01], 02) | |
| 68 | + | else | |
| 69 | + | player:setStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01], (player:getStorageValue(_GLOBAL_RANDOM.SAQUEADORES[00][03][01]) + 01)) | |
| 70 | + | end | |
| 71 | + | ||
| 72 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "[SAQUEADOR] Voc� avan�ou de RANK.") | |
| 73 | + | end | |
| 74 | + | end | |
| 75 | + | end | |
| 76 | + | end | |
| 77 | + | ||
| 78 | + | return false | |
| 79 | + | end | |
| 80 | + | if PASSWORD_CHEST[ChestID].TYPE == "COINS" then | |
| 81 | + | local GoldQnt = PASSWORD_CHEST[ChestID].ITEM[01] | |
| 82 | + | PlayerGoldCoins(player, 02, GoldQnt) | |
| 83 | + | end | |
| 84 | + | if PASSWORD_CHEST[ChestID].TYPE == "EQUIP" then | |
| 85 | + | local ITEMID = PASSWORD_CHEST[ChestID].ITEM[01] | |
| 86 | + | local SLOT = PASSWORD_CHEST[ChestID].ITEM[02] | |
| 87 | + | local RARE = PASSWORD_CHEST[ChestID].ITEM[03] | |
| 88 | + | local STAR = PASSWORD_CHEST[ChestID].ITEM[04] | |
| 89 | + | local QNT = PASSWORD_CHEST[ChestID].ITEM[05] | |
| 90 | + | ||
| 91 | + | if doBackpack(player, 00, SLOT, 00, 01) then | |
| 92 | + | if doBackpack(player, 01, SLOT, 00, 00, ITEMID, RARE, STAR, QNT) then | |
| 93 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� recebeu o item [ " .._ITEMS[ITEMID].NAME.. " ].") | |
| 94 | + | end | |
| 95 | + | else | |
| 96 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia.") | |
| 97 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Sua Backpack esta cheia.") | |
| 98 | + | player:getPosition():sendMagicEffect(03) | |
| 99 | + | return false | |
| 100 | + | end | |
| 101 | + | end | |
| 102 | + | if PASSWORD_CHEST[ChestID].TYPE == "ITEMS" then | |
| 103 | + | local ITEMID = PASSWORD_CHEST[ChestID].ITEM[01] | |
| 104 | + | local SLOT = 03 | |
| 105 | + | local RARE = _ITEMS[ITEMID].RARE | |
| 106 | + | local STAR = PASSWORD_CHEST[ChestID].ITEM[04] | |
| 107 | + | local QNT = PASSWORD_CHEST[ChestID].ITEM[05] | |
| 108 | + | ||
| 109 | + | doBackpack(player, 03, SLOT, 00, 01, ITEMID) -- Procurar | |
| 110 | + | if doBackpack(player, 01, SLOT, 00, 00, ITEMID, RARE, STAR, QNT) then | |
| 111 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� recebeu o item [ " .._ITEMS[ITEMID].NAME.. ", x" ..QNT.." ].") | |
| 112 | + | end | |
| 113 | + | end | |
| 114 | + | ||
| 115 | + | player:getPosition():sendMagicEffect(14) | |
| 116 | + | player:setStorageValue(PASSWORD_CHEST[ChestID].STORAGE[01], PASSWORD_CHEST[ChestID].STORAGE[02]) | |
| 117 | + | ||
| 118 | + | doBackpack(player, 12) | |
| 119 | + | player:sendCancelMessage("@RemoveMarkMap") | |
| 120 | + | player:sendCancelMessage("@LoadQuestMap") | |
| 121 | + | player:sendCancelMessage("@LoadQuestWindows") | |
| 122 | + | end, 500) | |
| 123 | + | else | |
| 124 | + | player:getPosition():sendMagicEffect(03) | |
| 125 | + | return false | |
| 126 | + | end | |
| 127 | + | end | |
| 128 | + | end | |
| 129 | + | return false | |
| 130 | + | end |
| @@ -0,0 +1,357 @@ | |||
| 1 | + | local EnableLoad = true | |
| 2 | + | local WaveCount = 00 | |
| 3 | + | local condition = Condition(CONDITION_OUTFIT) | |
| 4 | + | local function onRewardPVP(cid, reward) | |
| 5 | + | local player = Player(cid) | |
| 6 | + | if player then | |
| 7 | + | reward = reward * 02 | |
| 8 | + | if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 05 then | |
| 9 | + | reward = reward + reward | |
| 10 | + | end | |
| 11 | + | if player:getStorageValue(_SYSTEM.PVP_POINTS) < 00 then | |
| 12 | + | player:setStorageValue(_SYSTEM.PVP_POINTS, reward) | |
| 13 | + | else | |
| 14 | + | player:setStorageValue(_SYSTEM.PVP_POINTS, (player:getStorageValue(_SYSTEM.PVP_POINTS) + reward)) | |
| 15 | + | end | |
| 16 | + | ||
| 17 | + | player:sendCancelMessage("@LootMSG 3219 05 00 " ..reward) | |
| 18 | + | doBackpack(player, 11) | |
| 19 | + | end | |
| 20 | + | end | |
| 21 | + | local function onLoadPVPRoom(cid, step) | |
| 22 | + | local player = Player(cid) | |
| 23 | + | if player then | |
| 24 | + | local A = Game.getStorageValue(_PVP_ROOM[01].CONTAGEM_PLAYER) or 0 | |
| 25 | + | local B = Game.getStorageValue(_PVP_ROOM[02].CONTAGEM_PLAYER) or 0 | |
| 26 | + | local C = Game.getStorageValue(_PVP_ROOM[03].CONTAGEM_PLAYER) or 0 | |
| 27 | + | local D = Game.getStorageValue(_PVP_ROOM[04].CONTAGEM_PLAYER) or 0 | |
| 28 | + | local E = Game.getStorageValue(_PVP_ROOM[05].CONTAGEM_PLAYER) or 0 | |
| 29 | + | local F = Game.getStorageValue(_PVP_ROOM[06].CONTAGEM_PLAYER) or 0 | |
| 30 | + | ||
| 31 | + | if step == 00 then | |
| 32 | + | player:sendCancelMessage("@LoadPVP 01 " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F) | |
| 33 | + | return false | |
| 34 | + | end | |
| 35 | + | if step == 01 then | |
| 36 | + | if EnableLoad then | |
| 37 | + | local players = Game.getPlayers() | |
| 38 | + | for _, targetPlayer in ipairs(players) do | |
| 39 | + | targetPlayer:sendCancelMessage("@LoadPVP 01 " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F) | |
| 40 | + | end | |
| 41 | + | else | |
| 42 | + | onLoadPVPRoom(player, 00) | |
| 43 | + | end | |
| 44 | + | return false | |
| 45 | + | end | |
| 46 | + | end | |
| 47 | + | return false | |
| 48 | + | end | |
| 49 | + | local function onBattleroyalZone(timer) | |
| 50 | + | local id = 04 | |
| 51 | + | local DmgZone = 500 | |
| 52 | + | local ZoneEffect = 11 | |
| 53 | + | if Game.getStorageValue(_PVP_ROOM[00].BATTLE_PLAYER) == 01 then | |
| 54 | + | Game.setStorageValue(_PVP_ROOM[00].BATTLE_PLAYER, nil) | |
| 55 | + | local from = _PVP_ROOM[id].ARENA_POS[00].POS_X | |
| 56 | + | local to = _PVP_ROOM[id].ARENA_POS[00].POS_Y | |
| 57 | + | for A = from.x, to.x do | |
| 58 | + | for B = from.y, to.y do | |
| 59 | + | for C = from.z, to.z do | |
| 60 | + | local tile = Tile(A, B, C) | |
| 61 | + | if tile then | |
| 62 | + | local creature = tile:getTopCreature() | |
| 63 | + | if creature and creature:isPlayer() then | |
| 64 | + | Game.setStorageValue(_PVP_ROOM[id].CONTAGEM_PLAYER, nil) | |
| 65 | + | Game.setStorageValue(_PVP_ROOM[00].BATTLE_PLAYER, nil) | |
| 66 | + | creature:setTown(Town(01)) | |
| 67 | + | creature:sendCancelMessage("@NoTeleport 00") | |
| 68 | + | creature:sendCancelMessage("@CronOff") | |
| 69 | + | creature:setStorageValue(_PVP_ROOM[00].PVP_SALA_ID, nil) | |
| 70 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, nil) | |
| 71 | + | creature:teleportTo({x=3999, y=991, z=7}) | |
| 72 | + | creature:getPosition():sendMagicEffect(11) | |
| 73 | + | onLoadPVPRoom(creature, 00) | |
| 74 | + | ||
| 75 | + | onRewardPVP(creature, _PVP_ROOM[id].CRONOMETRO) | |
| 76 | + | creature:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� venceu o BattleRoyal.") | |
| 77 | + | return true | |
| 78 | + | end | |
| 79 | + | end | |
| 80 | + | end | |
| 81 | + | end | |
| 82 | + | end | |
| 83 | + | ||
| 84 | + | return true | |
| 85 | + | end | |
| 86 | + | if WaveCount > 00 then | |
| 87 | + | local from = _PVP_ROOM[id].WAVE[WaveCount].POS_X | |
| 88 | + | local to = _PVP_ROOM[id].WAVE[WaveCount].POS_Y | |
| 89 | + | for A = from.x, to.x do | |
| 90 | + | for B = from.y, to.y do | |
| 91 | + | for C = from.z, to.z do | |
| 92 | + | local PosEffect = Position(A, B, C) | |
| 93 | + | PosEffect:sendMagicEffect(ZoneEffect) | |
| 94 | + | local tile = Tile(A, B, C) | |
| 95 | + | if tile then | |
| 96 | + | local creature = tile:getTopCreature() | |
| 97 | + | if creature and creature:isPlayer() then | |
| 98 | + | doTargetCombat(0, creature, COMBAT_PHYSICALDAMAGE, -DmgZone, -DmgZone, CONST_ME_NONE) | |
| 99 | + | end | |
| 100 | + | end | |
| 101 | + | end | |
| 102 | + | end | |
| 103 | + | end | |
| 104 | + | end | |
| 105 | + | if WaveCount < 05 then | |
| 106 | + | if timer > 00 then | |
| 107 | + | timer = timer - 01 | |
| 108 | + | if timer == 60 then | |
| 109 | + | local from = _PVP_ROOM[id].ARENA_POS[00].POS_X | |
| 110 | + | local to = _PVP_ROOM[id].ARENA_POS[00].POS_Y | |
| 111 | + | for A = from.x, to.x do | |
| 112 | + | for B = from.y, to.y do | |
| 113 | + | for C = from.z, to.z do | |
| 114 | + | local tile = Tile(A, B, C) | |
| 115 | + | if tile then | |
| 116 | + | local creature = tile:getTopCreature() | |
| 117 | + | if creature and creature:isPlayer() then | |
| 118 | + | creature:sendTextMessage(MESSAGE_EVENT_ADVANCE, "A Zona de Combate ser� reduzida em 1 minuto.") | |
| 119 | + | end | |
| 120 | + | end | |
| 121 | + | end | |
| 122 | + | end | |
| 123 | + | end | |
| 124 | + | end | |
| 125 | + | else | |
| 126 | + | WaveCount = WaveCount + 01 | |
| 127 | + | addEvent(onBattleroyalZone, 1000, 300) | |
| 128 | + | return true | |
| 129 | + | end | |
| 130 | + | addEvent(onBattleroyalZone, 1000, timer) | |
| 131 | + | end | |
| 132 | + | end | |
| 133 | + | local function onPVPTimer(id) | |
| 134 | + | Game.setStorageValue(_PVP_ROOM[id].CONTAGEM_PLAYER, nil) | |
| 135 | + | local players = Game.getPlayers() | |
| 136 | + | for _, creature in ipairs(players) do | |
| 137 | + | if creature:getStorageValue(_PVP_ROOM[00].PVP_SALA_ID) == id then | |
| 138 | + | creature:setTown(Town(01)) | |
| 139 | + | creature:removeCondition(CONDITION_OUTFIT) | |
| 140 | + | creature:sendCancelMessage("@NoTeleport 00") | |
| 141 | + | creature:sendCancelMessage("@CronOff") | |
| 142 | + | creature:teleportTo({x=3999, y=991, z=7}) | |
| 143 | + | creature:getPosition():sendMagicEffect(11) | |
| 144 | + | onLoadPVPRoom(creature, 00) | |
| 145 | + | ||
| 146 | + | if id == 03 then | |
| 147 | + | if creature:getStorageValue(_PVP_ROOM[00].TIME_ID) == 01 then | |
| 148 | + | onRewardPVP(creature, _PVP_ROOM[id].CRONOMETRO) | |
| 149 | + | end | |
| 150 | + | else | |
| 151 | + | if _PVP_ROOM[id].PLACAR[01] > _PVP_ROOM[id].PLACAR[02] then | |
| 152 | + | if creature:getStorageValue(_PVP_ROOM[00].TIME_ID) == 02 then | |
| 153 | + | onRewardPVP(creature, _PVP_ROOM[id].CRONOMETRO) | |
| 154 | + | end | |
| 155 | + | elseif _PVP_ROOM[id].PLACAR[02] > _PVP_ROOM[id].PLACAR[01] then | |
| 156 | + | if creature:getStorageValue(_PVP_ROOM[00].TIME_ID) == 01 then | |
| 157 | + | onRewardPVP(creature, _PVP_ROOM[id].CRONOMETRO) | |
| 158 | + | end | |
| 159 | + | end | |
| 160 | + | end | |
| 161 | + | ||
| 162 | + | -- DESAFIO | |
| 163 | + | if creature:getStorageValue(_DESAFIOS[00].DESAFIO_ID) > 00 then | |
| 164 | + | if id == 01 then | |
| 165 | + | onPlayerDesafios(creature, 69, 01) | |
| 166 | + | elseif id == 02 then | |
| 167 | + | onPlayerDesafios(creature, 70, 01) | |
| 168 | + | elseif id == 03 then | |
| 169 | + | onPlayerDesafios(creature, 71, 01) | |
| 170 | + | elseif id == 04 then | |
| 171 | + | onPlayerDesafios(creature, 72, 01) | |
| 172 | + | end | |
| 173 | + | end | |
| 174 | + | creature:setStorageValue(_PVP_ROOM[00].PVP_SALA_ID, nil) | |
| 175 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, nil) | |
| 176 | + | end | |
| 177 | + | end | |
| 178 | + | ||
| 179 | + | if id == 04 then | |
| 180 | + | Game.setStorageValue(_PVP_ROOM[00].BATTLE_PLAYER, nil) | |
| 181 | + | end | |
| 182 | + | stopEvent(_PVP_ROOM[id].ADDEVENT_TIMER) | |
| 183 | + | _PVP_ROOM[id].ADDEVENT_TIMER = nil | |
| 184 | + | end | |
| 185 | + | local function onExhaustPVP(timer) | |
| 186 | + | if timer > 00 then | |
| 187 | + | timer = timer - 01 | |
| 188 | + | addEvent(onExhaustPVP, 1000, timer) | |
| 189 | + | else | |
| 190 | + | EnableLoad = true | |
| 191 | + | end | |
| 192 | + | end | |
| 193 | + | local function onEnterPVP(id) | |
| 194 | + | local lobPlayers = {} | |
| 195 | + | local players = Game.getPlayers() | |
| 196 | + | for X = 01, _PVP_ROOM[id].MAX_PLAYER do | |
| 197 | + | for _, creature in ipairs(players) do | |
| 198 | + | if creature:getLevel() == _PVP_ROOM[id].LOB_PLAYERS[X] then | |
| 199 | + | creature:setTown(Town(_PVP_ROOM[id].TOWN_ID)) | |
| 200 | + | creature:sendCancelMessage("@NoTeleport 01") | |
| 201 | + | creature:sendCancelMessage("@PVPCronometro ".. _PVP_ROOM[id].CRONOMETRO.. " 0") | |
| 202 | + | creature:teleportTo(_PVP_ROOM[id].ARENA_POS[X]) | |
| 203 | + | creature:getPosition():sendMagicEffect(11) | |
| 204 | + | ||
| 205 | + | if id == 01 then -- VERSUS | |
| 206 | + | if X == 01 or X == 04 then | |
| 207 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 01) | |
| 208 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 209 | + | condition:setTicks(-1) | |
| 210 | + | creature:addCondition(condition) | |
| 211 | + | end | |
| 212 | + | if X == 02 or X == 03 then | |
| 213 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 02) | |
| 214 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 215 | + | condition:setTicks(-1) | |
| 216 | + | creature:addCondition(condition) | |
| 217 | + | end | |
| 218 | + | elseif id == 02 then -- ARENA | |
| 219 | + | if X == 01 or X == 03 or X == 05 or X == 07 or X == 09 then | |
| 220 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 01) | |
| 221 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 222 | + | condition:setTicks(-1) | |
| 223 | + | creature:addCondition(condition) | |
| 224 | + | end | |
| 225 | + | if X == 02 or X == 04 or X == 06 or X == 08 or X == 10 then | |
| 226 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 02) | |
| 227 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 228 | + | condition:setTicks(-1) | |
| 229 | + | creature:addCondition(condition) | |
| 230 | + | end | |
| 231 | + | elseif id == 03 then -- CASTLE WAR | |
| 232 | + | if X == 01 or X == 03 or X == 05 or X == 07 or X == 09 or X == 11 or X == 13 or X == 15 or X == 17 or X == 19 then | |
| 233 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 01) | |
| 234 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 235 | + | condition:setTicks(-1) | |
| 236 | + | creature:addCondition(condition) | |
| 237 | + | end | |
| 238 | + | if X == 02 or X == 04 or X == 06 or X == 08 or X == 10 or X == 12 or X == 14 or X == 16 or X == 18 or X == 20 then | |
| 239 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 02) | |
| 240 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 241 | + | condition:setTicks(-1) | |
| 242 | + | creature:addCondition(condition) | |
| 243 | + | end | |
| 244 | + | elseif id == 05 then -- WARZONE | |
| 245 | + | if X == 01 or X == 03 or X == 05 or X == 07 or X == 09 or X == 11 or X == 13 or X == 15 or X == 17 or X == 19 or X == 21 or X == 23 or X == 25 or X == 27 or X == 29 then | |
| 246 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 01) | |
| 247 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 248 | + | condition:setTicks(-1) | |
| 249 | + | creature:addCondition(condition) | |
| 250 | + | end | |
| 251 | + | if X == 02 or X == 04 or X == 06 or X == 08 or X == 10 or X == 12 or X == 14 or X == 16 or X == 18 or X == 20 or X == 22 or X == 24 or X == 26 or X == 28 or X == 30 then | |
| 252 | + | creature:setStorageValue(_PVP_ROOM[00].TIME_ID, 02) | |
| 253 | + | condition:setOutfit({lookType = creature:getOutfit().lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = creature:getOutfit().lookAddons}) | |
| 254 | + | condition:setTicks(-1) | |
| 255 | + | creature:addCondition(condition) | |
| 256 | + | end | |
| 257 | + | end | |
| 258 | + | end | |
| 259 | + | end | |
| 260 | + | end | |
| 261 | + | ||
| 262 | + | _PVP_ROOM[id].PLACAR[01] = 00 | |
| 263 | + | _PVP_ROOM[id].PLACAR[02] = 00 | |
| 264 | + | _PVP_ROOM[id].ADDEVENT_TIMER = addEvent(onPVPTimer, _PVP_ROOM[id].CRONOMETRO * 60 * 1000, id) | |
| 265 | + | if id == 03 then | |
| 266 | + | local MON_POS = { | |
| 267 | + | [01] = {POS = {x=4092, y=1149, z=7}}, | |
| 268 | + | [02] = {POS = {x=4092, y=1186, z=7}}, | |
| 269 | + | [03] = {POS = {x=4093, y=1165, z=6}}, | |
| 270 | + | [04] = {POS = {x=4093, y=1167, z=6}}, | |
| 271 | + | [05] = {POS = {x=4093, y=1169, z=6}}, | |
| 272 | + | [06] = {POS = {x=4091, y=1167, z=4}}, | |
| 273 | + | } | |
| 274 | + | for _MON = 01, #MON_POS do | |
| 275 | + | local tile = Tile(MON_POS[_MON].POS.x, MON_POS[_MON].POS.y, MON_POS[_MON].POS.z) | |
| 276 | + | local creature = tile:getTopCreature() | |
| 277 | + | if creature and creature:isMonster() then | |
| 278 | + | doRemoveCreature(creature:getId()) | |
| 279 | + | end | |
| 280 | + | Game.createMonster('Castle Barrier', MON_POS[_MON].POS, false, true) | |
| 281 | + | end | |
| 282 | + | end | |
| 283 | + | if id == 04 then | |
| 284 | + | Game.setStorageValue(_PVP_ROOM[00].BATTLE_PLAYER, _PVP_ROOM[id].MAX_PLAYER) | |
| 285 | + | WaveCount = 00 | |
| 286 | + | onBattleroyalZone(301) | |
| 287 | + | end | |
| 288 | + | ||
| 289 | + | end | |
| 290 | + | function onSay(player, words, param) | |
| 291 | + | local split = param:splitTrimmed(" ") | |
| 292 | + | local SALA_PVP_ID = tonumber(split[01]) | |
| 293 | + | if split[01] == "00" then | |
| 294 | + | onLoadPVPRoom(player, 00) | |
| 295 | + | return false | |
| 296 | + | end | |
| 297 | + | ||
| 298 | + | if SALA_PVP_ID > 00 and SALA_PVP_ID <= #_PVP_ROOM then | |
| 299 | + | if player:getStorageValue(_PVP_ROOM[00].PVP_SALA_ID) > 00 or player:getStorageValue(_SYSTEM.DANGEROUS[01][01].STORAGE) > 0 or player:getStorageValue(_SYSTEM.WARZONE) > 00 then | |
| 300 | + | player:popupFYI("Voc� n�o pode fazer isso nesse momento.") | |
| 301 | + | return false | |
| 302 | + | end | |
| 303 | + | local COUNT_PLAYER = Game.getStorageValue(_PVP_ROOM[SALA_PVP_ID].CONTAGEM_PLAYER) or 00 | |
| 304 | + | if COUNT_PLAYER < 00 then | |
| 305 | + | COUNT_PLAYER = 00 | |
| 306 | + | end | |
| 307 | + | ||
| 308 | + | if COUNT_PLAYER == (_PVP_ROOM[SALA_PVP_ID].MAX_PLAYER - 01) then | |
| 309 | + | if SALA_PVP_ID < 06 then | |
| 310 | + | player:setStorageValue(_PVP_ROOM[00].PVP_SALA_ID, SALA_PVP_ID) | |
| 311 | + | Game.setStorageValue(_PVP_ROOM[SALA_PVP_ID].CONTAGEM_PLAYER, _PVP_ROOM[SALA_PVP_ID].MAX_PLAYER) | |
| 312 | + | player:teleportTo(_PVP_ROOM[SALA_PVP_ID].INN) | |
| 313 | + | table.insert(_PVP_ROOM[SALA_PVP_ID].LOB_PLAYERS, player:getLevel()) | |
| 314 | + | table.sort(_PVP_ROOM[SALA_PVP_ID].LOB_PLAYERS, function(a, b) return a > b end) | |
| 315 | + | onEnterPVP(SALA_PVP_ID) | |
| 316 | + | else | |
| 317 | + | Game.setStorageValue(_PVP_ROOM[SALA_PVP_ID].CONTAGEM_PLAYER, (COUNT_PLAYER + 01)) | |
| 318 | + | player:setStorageValue(_PVP_ROOM[00].PVP_SALA_ID, SALA_PVP_ID) | |
| 319 | + | player:teleportTo(_PVP_ROOM[SALA_PVP_ID].INN) | |
| 320 | + | ||
| 321 | + | player:getPosition():sendMagicEffect(11) | |
| 322 | + | player:setTown(Town(_PVP_ROOM[SALA_PVP_ID].TOWN_ID)) | |
| 323 | + | player:sendCancelMessage("@NoTeleport 01") | |
| 324 | + | player:sendCancelMessage("@EnablePVPMode") | |
| 325 | + | end | |
| 326 | + | elseif COUNT_PLAYER >= _PVP_ROOM[SALA_PVP_ID].MAX_PLAYER then | |
| 327 | + | player:getPosition():sendMagicEffect(03) | |
| 328 | + | return false | |
| 329 | + | else | |
| 330 | + | Game.setStorageValue(_PVP_ROOM[SALA_PVP_ID].CONTAGEM_PLAYER, (COUNT_PLAYER + 01)) | |
| 331 | + | player:setStorageValue(_PVP_ROOM[00].PVP_SALA_ID, SALA_PVP_ID) | |
| 332 | + | player:teleportTo(_PVP_ROOM[SALA_PVP_ID].INN) | |
| 333 | + | ||
| 334 | + | player:getPosition():sendMagicEffect(11) | |
| 335 | + | if SALA_PVP_ID < 06 then | |
| 336 | + | if Game.getStorageValue(_PVP_ROOM[SALA_PVP_ID].CONTAGEM_PLAYER) == 01 then | |
| 337 | + | for k in pairs (_PVP_ROOM[SALA_PVP_ID].LOB_PLAYERS) do | |
| 338 | + | _PVP_ROOM[SALA_PVP_ID].LOB_PLAYERS [k] = nil | |
| 339 | + | end | |
| 340 | + | else | |
| 341 | + | table.sort(_PVP_ROOM[SALA_PVP_ID].LOB_PLAYERS, function(a, b) return a > b end) | |
| 342 | + | end | |
| 343 | + | table.insert(_PVP_ROOM[SALA_PVP_ID].LOB_PLAYERS, player:getLevel()) | |
| 344 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "O combate iniciar� automaticamente quando a sala completar o n�mero de participantes exigidos.\n[ " .._PVP_ROOM[SALA_PVP_ID].MAX_PLAYER .. " ].") | |
| 345 | + | else | |
| 346 | + | player:setTown(Town(_PVP_ROOM[SALA_PVP_ID].TOWN_ID)) | |
| 347 | + | player:sendCancelMessage("@NoTeleport 01") | |
| 348 | + | player:sendCancelMessage("@EnablePVPMode") | |
| 349 | + | end | |
| 350 | + | end | |
| 351 | + | end | |
| 352 | + | ||
| 353 | + | onLoadPVPRoom(player, 01) | |
| 354 | + | onExhaustPVP(03) | |
| 355 | + | EnableLoad = false | |
| 356 | + | return false | |
| 357 | + | end |
| @@ -0,0 +1,70 @@ | |||
| 1 | + | local BlockedName = {"Druid Sample", "Paladin Sample", "Knight Sample", "Rook Sample", "Soldier Sample"} | |
| 2 | + | function onSay(player, words, param) | |
| 3 | + | local split = param:splitTrimmed(" ") | |
| 4 | + | ||
| 5 | + | if _DEBUG_MODE then | |
| 6 | + | local _TYPE = { | |
| 7 | + | ["00"] = 'Rank Level', | |
| 8 | + | ["01"] = 'Rank Skill', | |
| 9 | + | } | |
| 10 | + | local skillType = { | |
| 11 | + | ["01"] = "Metralhadora", | |
| 12 | + | ["02"] = "Rifle", | |
| 13 | + | ["03"] = "Pistola", | |
| 14 | + | ["04"] = "Espingarda", | |
| 15 | + | } | |
| 16 | + | ||
| 17 | + | if _TYPE[split[01]] then | |
| 18 | + | print("[TALK - RANK] " ..player:getName().. " - " .._TYPE[split[01]]) | |
| 19 | + | else | |
| 20 | + | print("[TALK - RANK] " ..player:getName().. " - " ..split[01].. " | Skill: " ..skillType[split[02]]) | |
| 21 | + | end | |
| 22 | + | end | |
| 23 | + | if split[01] == "00" then -- RANK LEVEL | |
| 24 | + | local RankLevel = db.storeQuery('SELECT name, level FROM `players` WHERE group_id < 2 ORDER BY level DESC LIMIT 50;') | |
| 25 | + | if RankLevel then | |
| 26 | + | local i = 1 | |
| 27 | + | repeat | |
| 28 | + | if not isInArray(BlockedName, result.getDataString(RankLevel, "name")) then | |
| 29 | + | player:sendCancelMessage("@RankLevel#" ..i.. "#" ..result.getDataString(RankLevel, "name").. "#" ..result.getDataInt(RankLevel, "level")) | |
| 30 | + | i = i + 1 | |
| 31 | + | end | |
| 32 | + | until not result.next(RankLevel) | |
| 33 | + | result.free() | |
| 34 | + | end | |
| 35 | + | end | |
| 36 | + | if split[01] == "01" then -- RANK SKILLS | |
| 37 | + | local SkillType = split[02] | |
| 38 | + | local RankSkills = "" | |
| 39 | + | if SkillType == "01" then -- METRALHADORA | |
| 40 | + | RankSkills = db.storeQuery('SELECT name, skill_club FROM `players` WHERE group_id < 2 ORDER BY skill_club DESC LIMIT 50;') | |
| 41 | + | elseif SkillType == "02" then -- RIFLE | |
| 42 | + | RankSkills = db.storeQuery('SELECT name, skill_sword FROM `players` WHERE group_id < 2 ORDER BY skill_sword DESC LIMIT 50;') | |
| 43 | + | elseif SkillType == "03" then -- PISTOLA | |
| 44 | + | RankSkills = db.storeQuery('SELECT name, skill_axe FROM `players` WHERE group_id < 2 ORDER BY skill_axe DESC LIMIT 50;') | |
| 45 | + | elseif SkillType == "04" then -- ESPINGARDA | |
| 46 | + | RankSkills = db.storeQuery('SELECT name, skill_fist FROM `players` WHERE group_id < 2 ORDER BY skill_fist DESC LIMIT 50;') | |
| 47 | + | end | |
| 48 | + | ||
| 49 | + | if RankSkills then | |
| 50 | + | local i = 1 | |
| 51 | + | repeat | |
| 52 | + | if not isInArray(BlockedName, result.getDataString(RankSkills, "name")) then | |
| 53 | + | if SkillType == "01" then -- METRALHADORA | |
| 54 | + | player:sendCancelMessage("@RankSkills#" ..i.. "#" ..result.getDataString(RankSkills, "name").. "#" ..result.getDataInt(RankSkills, "skill_club")) | |
| 55 | + | elseif SkillType == "02" then -- RIFLE | |
| 56 | + | player:sendCancelMessage("@RankSkills#" ..i.. "#" ..result.getDataString(RankSkills, "name").. "#" ..result.getDataInt(RankSkills, "skill_sword")) | |
| 57 | + | elseif SkillType == "03" then -- PISTOLA | |
| 58 | + | player:sendCancelMessage("@RankSkills#" ..i.. "#" ..result.getDataString(RankSkills, "name").. "#" ..result.getDataInt(RankSkills, "skill_axe")) | |
| 59 | + | elseif SkillType == "04" then -- ESPINGARDA | |
| 60 | + | player:sendCancelMessage("@RankSkills#" ..i.. "#" ..result.getDataString(RankSkills, "name").. "#" ..result.getDataInt(RankSkills, "skill_fist")) | |
| 61 | + | end | |
| 62 | + | i = i + 1 | |
| 63 | + | end | |
| 64 | + | until not result.next(RankSkills) | |
| 65 | + | result.free() | |
| 66 | + | end | |
| 67 | + | end | |
| 68 | + | ||
| 69 | + | return false | |
| 70 | + | end |
| @@ -0,0 +1,24 @@ | |||
| 1 | + | function onSay(player, words, param) | |
| 2 | + | if player:getGroup():getId() < 6 then | |
| 3 | + | return false | |
| 4 | + | end | |
| 5 | + | ||
| 6 | + | local effectId, targetName = param:match("(%d+),%s*(.+)") | |
| 7 | + | effectId = tonumber(effectId) | |
| 8 | + | ||
| 9 | + | if not effectId or not targetName then | |
| 10 | + | player:sendCancelMessage("Usage: /rune <effectId>, <playerName>") | |
| 11 | + | return false | |
| 12 | + | end | |
| 13 | + | ||
| 14 | + | local target = Player(targetName) | |
| 15 | + | if not target then | |
| 16 | + | player:sendCancelMessage("Player not found.") | |
| 17 | + | return false | |
| 18 | + | end | |
| 19 | + | ||
| 20 | + | target:addRuneEffect(effectId) | |
| 21 | + | target:setCurrentRuneEffect(effectId) | |
| 22 | + | player:sendCancelMessage("Rune effect " .. effectId .. " assigned to " .. targetName .. ".") | |
| 23 | + | return false | |
| 24 | + | end |
| @@ -0,0 +1,9 @@ | |||
| 1 | + | function onSay(player, words, param) | |
| 2 | + | if player:getGroup():getId() < 3 then | |
| 3 | + | return false | |
| 4 | + | end | |
| 5 | + | ||
| 6 | + | saveServer() | |
| 7 | + | Game.broadcastMessage("Todo o servidor foi salvo.") | |
| 8 | + | return false | |
| 9 | + | end |
| @@ -0,0 +1,796 @@ | |||
| 1 | + | local EnableSave = true | |
| 2 | + | local function onExhaustSave(timer) | |
| 3 | + | if timer > 00 then | |
| 4 | + | timer = timer - 01 | |
| 5 | + | addEvent(onExhaustSave, 1000, timer) | |
| 6 | + | else | |
| 7 | + | EnableSave = true | |
| 8 | + | end | |
| 9 | + | end | |
| 10 | + | function onSay(player, words, param) | |
| 11 | + | local split = param:splitTrimmed(" ") | |
| 12 | + | local FORM_PAY = tonumber(split[01]) | |
| 13 | + | local CATEGORY = tonumber(split[02]) | |
| 14 | + | local INDEX = tonumber(split[03]) | |
| 15 | + | if CATEGORY == 10 then -- KARDS (sistema removido) | |
| 16 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Este produto est� indispon�vel no momento.") | |
| 17 | + | return false | |
| 18 | + | end | |
| 19 | + | local SALDO_VIP = PlayerVipCoins(player, 00) | |
| 20 | + | local SALDO_ONLINE = player:getStorageValue(_SYSTEM.ONLINE_COIN) | |
| 21 | + | local SALDO_PVP = player:getStorageValue(_SYSTEM.PVP_POINTS) | |
| 22 | + | local playerGuid = player:getGuid() | |
| 23 | + | ||
| 24 | + | local PRICE_ITEM = 00 | |
| 25 | + | if _DEBUG_MODE then | |
| 26 | + | print("[TALK - SHOP] " ..player:getName().. " - Comprou: " .._SHOP_PRODUCTS[CATEGORY][INDEX].NAME) | |
| 27 | + | end | |
| 28 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].PREMIUM then | |
| 29 | + | if not player:isPremium() then | |
| 30 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 31 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "� necess�rio Premium Account para comprar este item.") | |
| 32 | + | return false | |
| 33 | + | end | |
| 34 | + | end | |
| 35 | + | if FORM_PAY == 03 then | |
| 36 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].VIP.PROMO_PRICE > 00 then | |
| 37 | + | if SALDO_VIP < _SHOP_PRODUCTS[CATEGORY][INDEX].VIP.PROMO_PRICE then | |
| 38 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 39 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� n�o tem Vip Coins Suficientes.") | |
| 40 | + | return false | |
| 41 | + | else | |
| 42 | + | PRICE_ITEM = _SHOP_PRODUCTS[CATEGORY][INDEX].VIP.PROMO_PRICE | |
| 43 | + | end | |
| 44 | + | else | |
| 45 | + | if SALDO_VIP < _SHOP_PRODUCTS[CATEGORY][INDEX].VIP.ORIGIN_PRICE then | |
| 46 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 47 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� n�o tem Vip Coins Suficientes.") | |
| 48 | + | return false | |
| 49 | + | else | |
| 50 | + | PRICE_ITEM = _SHOP_PRODUCTS[CATEGORY][INDEX].VIP.ORIGIN_PRICE | |
| 51 | + | end | |
| 52 | + | end | |
| 53 | + | elseif FORM_PAY == 02 then | |
| 54 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].ONLINE.VISIBLE then | |
| 55 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].ONLINE.PROMO_PRICE > 00 then | |
| 56 | + | if SALDO_ONLINE < _SHOP_PRODUCTS[CATEGORY][INDEX].ONLINE.PROMO_PRICE then | |
| 57 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 58 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� n�o tem Online Coins Suficientes.") | |
| 59 | + | return false | |
| 60 | + | else | |
| 61 | + | PRICE_ITEM = _SHOP_PRODUCTS[CATEGORY][INDEX].ONLINE.PROMO_PRICE | |
| 62 | + | end | |
| 63 | + | else | |
| 64 | + | if SALDO_ONLINE < _SHOP_PRODUCTS[CATEGORY][INDEX].ONLINE.ORIGIN_PRICE then | |
| 65 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 66 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� n�o tem Online Coins Suficientes.") | |
| 67 | + | return false | |
| 68 | + | else | |
| 69 | + | PRICE_ITEM = _SHOP_PRODUCTS[CATEGORY][INDEX].ONLINE.ORIGIN_PRICE | |
| 70 | + | end | |
| 71 | + | end | |
| 72 | + | else | |
| 73 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Produto indispon�vel no momento usando Online Coins.") | |
| 74 | + | print("[SHOP] Diverg�ncia de configura��o com o cliente. (Categoria: [" ..CATEGORY.. "] | Produto: [" ..INDEX.. "] | Erro: Online Coins)") | |
| 75 | + | return false | |
| 76 | + | end | |
| 77 | + | else | |
| 78 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].PVP.VISIBLE then | |
| 79 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].PVP.PROMO_PRICE > 00 then | |
| 80 | + | if SALDO_PVP < _SHOP_PRODUCTS[CATEGORY][INDEX].PVP.PROMO_PRICE then | |
| 81 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 82 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� n�o tem PVP Coins Suficientes.") | |
| 83 | + | return false | |
| 84 | + | else | |
| 85 | + | PRICE_ITEM = _SHOP_PRODUCTS[CATEGORY][INDEX].PVP.PROMO_PRICE | |
| 86 | + | end | |
| 87 | + | else | |
| 88 | + | if SALDO_PVP < _SHOP_PRODUCTS[CATEGORY][INDEX].PVP.ORIGIN_PRICE then | |
| 89 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 90 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� n�o tem PVP Coins Suficientes.") | |
| 91 | + | return false | |
| 92 | + | else | |
| 93 | + | PRICE_ITEM = _SHOP_PRODUCTS[CATEGORY][INDEX].PVP.ORIGIN_PRICE | |
| 94 | + | end | |
| 95 | + | end | |
| 96 | + | else | |
| 97 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Produto indispon�vel no momento usando PVP Coins.") | |
| 98 | + | print("[SHOP] Diverg�ncia de configura��o com o cliente. (Categoria: [" ..CATEGORY.. "] | Produto: [" ..INDEX.. "] | Erro: PVP Coins)") | |
| 99 | + | return false | |
| 100 | + | end | |
| 101 | + | end | |
| 102 | + | ||
| 103 | + | if CATEGORY == 01 then -- PREMIUM TIME | |
| 104 | + | player:addPremiumDays(_SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01]) | |
| 105 | + | player:setStorageValue(_SYSTEM.PREMIUM_TIME, 01) | |
| 106 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .._SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01].. " dias ] de Premium Account para sua conta.") | |
| 107 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 108 | + | end | |
| 109 | + | if CATEGORY == 02 then -- CONSUM�VEIS | |
| 110 | + | local BUY_INFO = { | |
| 111 | + | [10450] = {01, 500}; | |
| 112 | + | [10451] = {01, 500}; | |
| 113 | + | [10452] = {01, 500}; | |
| 114 | + | [10453] = {01, 500}; | |
| 115 | + | [10454] = {01, 500}; | |
| 116 | + | [10455] = {02, 100}; | |
| 117 | + | [10456] = {02, 100}; | |
| 118 | + | [10457] = {02, 100}; | |
| 119 | + | [10458] = {02, 100}; | |
| 120 | + | [10459] = {02, 100}; | |
| 121 | + | [11100] = {03, 001}; | |
| 122 | + | [11101] = {03, 001}; | |
| 123 | + | [11102] = {03, 001}; | |
| 124 | + | [11103] = {03, 001}; | |
| 125 | + | [11104] = {03, 001}; | |
| 126 | + | [11105] = {03, 001}; | |
| 127 | + | [11106] = {03, 001}; | |
| 128 | + | [11107] = {03, 001}; | |
| 129 | + | [11108] = {03, 001}; | |
| 130 | + | [11109] = {03, 001}; | |
| 131 | + | [11110] = {03, 001}; | |
| 132 | + | } | |
| 133 | + | local ID_AMMO = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01] | |
| 134 | + | local IDD = BUY_INFO[ID_AMMO][01] | |
| 135 | + | ||
| 136 | + | if IDD == 01 then | |
| 137 | + | local AMMO = BUY_INFO[ID_AMMO][02] | |
| 138 | + | local itemid = player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01) | |
| 139 | + | local AtualAmmo = player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10) | |
| 140 | + | local itemRecLevel = 0 | |
| 141 | + | local MAX_AMMO = false | |
| 142 | + | ||
| 143 | + | if AtualAmmo < 0 then AtualAmmo = 0 end | |
| 144 | + | ||
| 145 | + | local AtrAmmo = player:getStorageValue(_SYSTEM.TASK[00].RANK) | |
| 146 | + | if AtrAmmo < 00 then AtrAmmo = 01 end | |
| 147 | + | AtrAmmo = AtrAmmo * 500 | |
| 148 | + | local LimitBullet = AtrAmmo | |
| 149 | + | local ESTIMATIVA = AMMO + AtualAmmo | |
| 150 | + | if ESTIMATIVA > 9999 then | |
| 151 | + | player:popupFYI("Voc� n�o pode ter mais de 9999 em estoque.") | |
| 152 | + | return false | |
| 153 | + | end | |
| 154 | + | if itemid > 0 then | |
| 155 | + | local lvl = player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_07) | |
| 156 | + | local sta = player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_03) | |
| 157 | + | ||
| 158 | + | if lvl < 0 then lvl = 0 end | |
| 159 | + | if sta < 0 then sta = 0 end | |
| 160 | + | ||
| 161 | + | itemRecLevel = math.floor((_ITEMS[itemid].MIN + lvl + (sta * 10)) / 3) | |
| 162 | + | if itemid >= 4031 and itemid <= 4049 then | |
| 163 | + | itemRecLevel = _ITEMS[itemid].MIN + lvl + (sta * 10) * 2 | |
| 164 | + | end | |
| 165 | + | ||
| 166 | + | local LEVEL_AMMO = _ITEMS[ID_AMMO].SLOT_EQUIP | |
| 167 | + | if ID_AMMO == 10454 then | |
| 168 | + | if itemRecLevel >= LEVEL_AMMO then | |
| 169 | + | if ESTIMATIVA > LimitBullet then | |
| 170 | + | if AtualAmmo < (LimitBullet / 02) then | |
| 171 | + | AMMO = LimitBullet | |
| 172 | + | MAX_AMMO = true | |
| 173 | + | player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Voc� s� pode carregar " ..LimitBullet.. " balas em sua arma.") | |
| 174 | + | else | |
| 175 | + | player:popupFYI("Voc� s� pode carregar " ..LimitBullet.. " balas em sua arma.\nAumente sua capacidade de balas na se��o Status.") | |
| 176 | + | return false | |
| 177 | + | end | |
| 178 | + | end | |
| 179 | + | if MAX_AMMO then | |
| 180 | + | player:setStorageValue(_SYSTEM.INVENTARIO[04].UID_10, AMMO) | |
| 181 | + | else | |
| 182 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10) < 0 then AMMO = AMMO + 1 end | |
| 183 | + | player:setStorageValue(_SYSTEM.INVENTARIO[04].UID_10, (player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10) + AMMO)) | |
| 184 | + | end | |
| 185 | + | ||
| 186 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " x" ..AMMO.. " ].") | |
| 187 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 188 | + | else | |
| 189 | + | player:popupFYI("Sua arma � muito fraca para equipar esse tipo de muni��o.") | |
| 190 | + | return false | |
| 191 | + | end | |
| 192 | + | else | |
| 193 | + | if itemRecLevel <= LEVEL_AMMO then | |
| 194 | + | if ESTIMATIVA > LimitBullet then | |
| 195 | + | if AtualAmmo < (LimitBullet / 02) then | |
| 196 | + | AMMO = LimitBullet | |
| 197 | + | MAX_AMMO = true | |
| 198 | + | player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Voc� s� pode carregar " ..LimitBullet.. " balas em sua arma.") | |
| 199 | + | else | |
| 200 | + | player:popupFYI("Voc� s� pode carregar " ..LimitBullet.. " balas em sua arma.\nAumente sua capacidade de balas na se��o Status.") | |
| 201 | + | return false | |
| 202 | + | end | |
| 203 | + | end | |
| 204 | + | if MAX_AMMO then | |
| 205 | + | player:setStorageValue(_SYSTEM.INVENTARIO[04].UID_10, AMMO) | |
| 206 | + | else | |
| 207 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10) < 0 then AMMO = AMMO + 1 end | |
| 208 | + | player:setStorageValue(_SYSTEM.INVENTARIO[04].UID_10, (player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10) + AMMO)) | |
| 209 | + | end | |
| 210 | + | ||
| 211 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " x" ..AMMO.. " ].") | |
| 212 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 213 | + | else | |
| 214 | + | player:popupFYI("Sua arma equipada requer uma muni��o mais forte.") | |
| 215 | + | return false | |
| 216 | + | end | |
| 217 | + | end | |
| 218 | + | ||
| 219 | + | player:sendCancelMessage("@LoadAmmo " ..player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_10)) | |
| 220 | + | else | |
| 221 | + | player:popupFYI("Voc� precisa ter uma arma equipada.") | |
| 222 | + | return false | |
| 223 | + | end | |
| 224 | + | elseif IDD == 02 then | |
| 225 | + | local QNT = BUY_INFO[ID_AMMO][02] | |
| 226 | + | local REC_LEVEL = _ITEMS[ID_AMMO].SLOT_EQUIP | |
| 227 | + | ||
| 228 | + | local ESTIMATIVA = QNT + player:getStorageValue(_SYSTEM.SKILL_CURE[02]) | |
| 229 | + | if ESTIMATIVA > 9999 then | |
| 230 | + | player:popupFYI("Voc� n�o pode ter mais de 9999 em estoque.") | |
| 231 | + | return false | |
| 232 | + | end | |
| 233 | + | if player:getLevel() >= REC_LEVEL then | |
| 234 | + | local CURE_INFO = { | |
| 235 | + | [10455] = 01; | |
| 236 | + | [10456] = 02; | |
| 237 | + | [10457] = 03; | |
| 238 | + | [10458] = 04; | |
| 239 | + | [10459] = 05; | |
| 240 | + | } | |
| 241 | + | local CURE_TYPE = CURE_INFO[ID_AMMO] | |
| 242 | + | if player:getStorageValue(_SYSTEM.SKILL_CURE[02]) < 01 then | |
| 243 | + | player:setStorageValue(_SYSTEM.SKILL_CURE[01], CURE_TYPE) | |
| 244 | + | player:setStorageValue(_SYSTEM.SKILL_CURE[02], (player:getStorageValue(_SYSTEM.SKILL_CURE[02]) + QNT)) | |
| 245 | + | player:sendCancelMessage("@CureSkill " ..player:getStorageValue(_SYSTEM.SKILL_CURE[01]).. " " ..player:getStorageValue(_SYSTEM.SKILL_CURE[02])) | |
| 246 | + | ||
| 247 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " x" ..QNT.. " ].") | |
| 248 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 249 | + | else | |
| 250 | + | if player:getStorageValue(_SYSTEM.SKILL_CURE[01]) == CURE_TYPE then | |
| 251 | + | player:setStorageValue(_SYSTEM.SKILL_CURE[02], (player:getStorageValue(_SYSTEM.SKILL_CURE[02]) + QNT)) | |
| 252 | + | player:sendCancelMessage("@CureSkill " ..player:getStorageValue(_SYSTEM.SKILL_CURE[01]).. " " ..player:getStorageValue(_SYSTEM.SKILL_CURE[02])) | |
| 253 | + | ||
| 254 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " x" ..QNT.. " ].") | |
| 255 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 256 | + | else | |
| 257 | + | player:setStorageValue(_SYSTEM.SKILL_CURE[01], CURE_TYPE) | |
| 258 | + | player:setStorageValue(_SYSTEM.SKILL_CURE[02], QNT) | |
| 259 | + | player:sendCancelMessage("@CureSkill " ..player:getStorageValue(_SYSTEM.SKILL_CURE[01]).. " " ..player:getStorageValue(_SYSTEM.SKILL_CURE[02])) | |
| 260 | + | ||
| 261 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " x" ..QNT.. " ].") | |
| 262 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 263 | + | end | |
| 264 | + | end | |
| 265 | + | else | |
| 266 | + | player:popupFYI("Voc� n�o possui n�vel suficiente para usar essa potion.") | |
| 267 | + | return false | |
| 268 | + | end | |
| 269 | + | else | |
| 270 | + | local ITEMID = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01] | |
| 271 | + | local RARE = _ITEMS[ITEMID].RARE | |
| 272 | + | if doBackpack(player, 00, 03, 00, 01) then | |
| 273 | + | doBackpack(player, 03, 03, 00, 01, ITEMID) -- Procurar | |
| 274 | + | if doBackpack(player, 01, 03, 00, 00, ITEMID, RARE, 00, AMMO) then | |
| 275 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .._SHOP_PRODUCTS[CATEGORY][INDEX].NAME.. ", x1 ].") | |
| 276 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 277 | + | end | |
| 278 | + | else | |
| 279 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia.") | |
| 280 | + | player:getPosition():sendMagicEffect(03) | |
| 281 | + | return false | |
| 282 | + | end | |
| 283 | + | end | |
| 284 | + | end | |
| 285 | + | if CATEGORY == 03 then -- BUFFS | |
| 286 | + | if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[INDEX].STORAGE) > 00 then | |
| 287 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 288 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� j� possui este buff ativo em seu personagem.") | |
| 289 | + | return false | |
| 290 | + | else | |
| 291 | + | player:setStorageValue(_GLOBAL_RANDOM.BUFFS[INDEX].STORAGE, 3600) | |
| 292 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .._SHOP_PRODUCTS[CATEGORY][INDEX].NAME.. " ].") | |
| 293 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Buff Ativado: [ " .._SHOP_PRODUCTS[CATEGORY][INDEX].NAME.. " ].") | |
| 294 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 295 | + | ||
| 296 | + | doInventario(player, 05) | |
| 297 | + | end | |
| 298 | + | end | |
| 299 | + | if CATEGORY == 04 then -- SERVI�OS | |
| 300 | + | if INDEX == 01 then -- TROCA DE SEXO | |
| 301 | + | player:setSex(player:getSex() == 1 and 0 or 1) | |
| 302 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Troca realizada com sucesso.\nDeslogue para aplicar o efeito ou mude seu Outfit.') | |
| 303 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 304 | + | player:save() | |
| 305 | + | elseif INDEX == 02 then -- TROCA DE NOME | |
| 306 | + | player:sendCancelMessage("@OpenChangeName") | |
| 307 | + | return false | |
| 308 | + | elseif INDEX == 03 then -- BLESSING | |
| 309 | + | if player:getStorageValue(_SYSTEM.PENALIDADES[02]) >= 30 then | |
| 310 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Este personagem j� possui Bless.") | |
| 311 | + | player:getPosition():sendMagicEffect(03) | |
| 312 | + | return false | |
| 313 | + | else | |
| 314 | + | player:setStorageValue(_SYSTEM.PENALIDADES[02], 30) | |
| 315 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso.\nVoc� zerou sua penalidade ao morrer.") | |
| 316 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 317 | + | end | |
| 318 | + | else | |
| 319 | + | local MAESTRIA_NAME = { | |
| 320 | + | [04] = {M = 01, N = "REGEN", V = 02}; | |
| 321 | + | [05] = {M = 02, N = "TANKER", V = 03}; | |
| 322 | + | [06] = {M = 03, N = "SHOOTER", V = 04}; | |
| 323 | + | [07] = {M = 04, N = "VITAL", V = 05}; | |
| 324 | + | [08] = {M = 05, N = "LUCKY", V = 06}; | |
| 325 | + | } | |
| 326 | + | if player:getStorageValue(_SYSTEM.MAESTRIA[01]) > 00 then | |
| 327 | + | if player:getStorageValue(_SYSTEM.MAESTRIA[01]) ~= MAESTRIA_NAME[INDEX].M then | |
| 328 | + | player:setStorageValue(_SYSTEM.MAESTRIA[01], MAESTRIA_NAME[INDEX].M) | |
| 329 | + | ||
| 330 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso.\nVoc� agora pertence a Maestria: [ " ..MAESTRIA_NAME[INDEX].N.. " ].") | |
| 331 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 332 | + | else | |
| 333 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� j� pertence a Maestria: " ..MAESTRIA_NAME[INDEX].N.. ".") | |
| 334 | + | player:getPosition():sendMagicEffect(03) | |
| 335 | + | return false | |
| 336 | + | end | |
| 337 | + | else | |
| 338 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter Maestria para poder troc�-la.") | |
| 339 | + | player:getPosition():sendMagicEffect(03) | |
| 340 | + | return false | |
| 341 | + | end | |
| 342 | + | end | |
| 343 | + | end | |
| 344 | + | if CATEGORY == 05 then -- ESPECIAIS | |
| 345 | + | if INDEX == 01 then -- ARMA (SLOT 01) | |
| 346 | + | local SLOT = 04 | |
| 347 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_01) > 0 then | |
| 348 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_04) > 0 then | |
| 349 | + | if doBackpack(player, 00, 03, 00, 01) then | |
| 350 | + | local ITEM_ID = _SPELLS[player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_04)].ITEMID | |
| 351 | + | local RARE = _ITEMS[ITEM_ID].RARE | |
| 352 | + | local STAR = 00 | |
| 353 | + | doBackpack(player, 03, 03, 00, 00, ITEM_ID) -- Procurar | |
| 354 | + | doBackpack(player, 01, 03, 00, 00, ITEM_ID, RARE, STAR, 01) | |
| 355 | + | player:setStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_04, nil) | |
| 356 | + | ||
| 357 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "O primeiro slot de sua arma foi resetado e sua Skill recuperada.") | |
| 358 | + | doInventario(player, 00, SLOT, 00) | |
| 359 | + | player:sendCancelMessage("@StarCliente") | |
| 360 | + | player:getPosition():sendMagicEffect(14) | |
| 361 | + | else | |
| 362 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia e n�o pode receber a skill de volta.\nEsta opera��o foi cancelada.") | |
| 363 | + | player:getPosition():sendMagicEffect(03) | |
| 364 | + | return false | |
| 365 | + | end | |
| 366 | + | else | |
| 367 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "N�o h� nada para resetar nesse slot.") | |
| 368 | + | player:getPosition():sendMagicEffect(03) | |
| 369 | + | return false | |
| 370 | + | end | |
| 371 | + | else | |
| 372 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter uma arma equipada para remover o slot.") | |
| 373 | + | player:getPosition():sendMagicEffect(03) | |
| 374 | + | return false | |
| 375 | + | end | |
| 376 | + | elseif INDEX == 02 then -- ARMA (SLOT 02) | |
| 377 | + | local SLOT = 04 | |
| 378 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_01) > 0 then | |
| 379 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_05) > 0 then | |
| 380 | + | if doBackpack(player, 00, 03, 00, 01) then | |
| 381 | + | local ITEM_ID = _SPELLS[player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_05)].ITEMID | |
| 382 | + | local RARE = _ITEMS[ITEM_ID].RARE | |
| 383 | + | local STAR = 00 | |
| 384 | + | doBackpack(player, 03, 03, 00, 00, ITEM_ID) -- Procurar | |
| 385 | + | doBackpack(player, 01, 03, 00, 00, ITEM_ID, RARE, STAR, 01) | |
| 386 | + | player:setStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_05, nil) | |
| 387 | + | ||
| 388 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "O segundo slot de sua arma foi resetado e sua Skill recuperada.") | |
| 389 | + | doInventario(player, 00, SLOT, 00) | |
| 390 | + | player:sendCancelMessage("@StarCliente") | |
| 391 | + | player:getPosition():sendMagicEffect(14) | |
| 392 | + | else | |
| 393 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia e n�o pode receber a skill de volta.\nEsta opera��o foi cancelada.") | |
| 394 | + | player:getPosition():sendMagicEffect(03) | |
| 395 | + | return false | |
| 396 | + | end | |
| 397 | + | else | |
| 398 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "N�o h� nada para resetar nesse slot.") | |
| 399 | + | player:getPosition():sendMagicEffect(03) | |
| 400 | + | return false | |
| 401 | + | end | |
| 402 | + | else | |
| 403 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter uma arma equipada para remover o slot.") | |
| 404 | + | player:getPosition():sendMagicEffect(03) | |
| 405 | + | return false | |
| 406 | + | end | |
| 407 | + | elseif INDEX == 03 then -- ARMA (SLOT 03) | |
| 408 | + | local SLOT = 04 | |
| 409 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_01) > 0 then | |
| 410 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_06) > 0 then | |
| 411 | + | if doBackpack(player, 00, 03, 00, 01) then | |
| 412 | + | local ITEM_ID = _SPELLS[player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_06)].ITEMID | |
| 413 | + | local RARE = _ITEMS[ITEM_ID].RARE | |
| 414 | + | local STAR = 00 | |
| 415 | + | doBackpack(player, 03, 03, 00, 00, ITEM_ID) -- Procurar | |
| 416 | + | doBackpack(player, 01, 03, 00, 00, ITEM_ID, RARE, STAR, 01) | |
| 417 | + | player:setStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_06, nil) | |
| 418 | + | ||
| 419 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "O segundo slot de sua arma foi resetado e sua Skill recuperada.") | |
| 420 | + | doInventario(player, 00, SLOT, 00) | |
| 421 | + | player:sendCancelMessage("@StarCliente") | |
| 422 | + | player:getPosition():sendMagicEffect(14) | |
| 423 | + | else | |
| 424 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia e n�o pode receber a skill de volta.\nEsta opera��o foi cancelada.") | |
| 425 | + | player:getPosition():sendMagicEffect(03) | |
| 426 | + | return false | |
| 427 | + | end | |
| 428 | + | else | |
| 429 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "N�o h� nada para resetar nesse slot.") | |
| 430 | + | player:getPosition():sendMagicEffect(03) | |
| 431 | + | return false | |
| 432 | + | end | |
| 433 | + | else | |
| 434 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter uma arma equipada para remover o slot.") | |
| 435 | + | player:getPosition():sendMagicEffect(03) | |
| 436 | + | return false | |
| 437 | + | end | |
| 438 | + | elseif INDEX > 13 then -- RESET STATUS | |
| 439 | + | if Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE) then | |
| 440 | + | if INDEX == 14 then -- COMPLETO | |
| 441 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[01], 00) | |
| 442 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[02], 00) | |
| 443 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[03], 00) | |
| 444 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[04], 00) | |
| 445 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[05], 00) | |
| 446 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[06], 00) | |
| 447 | + | ||
| 448 | + | PlayerPassives(player, 03) | |
| 449 | + | player:setStorageValue(_SYSTEM.POINTS_ATR[07], player:getLevel()) | |
| 450 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� resetou completamente todos os status desse personagem.") | |
| 451 | + | player:getPosition():sendMagicEffect(13) | |
| 452 | + | end | |
| 453 | + | else | |
| 454 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Precisa estar em Protection Zone (PZ).") | |
| 455 | + | player:getPosition():sendMagicEffect(03) | |
| 456 | + | return false | |
| 457 | + | end | |
| 458 | + | elseif INDEX > 03 then | |
| 459 | + | local SLOT = 00 | |
| 460 | + | local SLOT_POS = 00 | |
| 461 | + | local itemName = "" | |
| 462 | + | if INDEX == 04 then | |
| 463 | + | SLOT = 02 | |
| 464 | + | SLOT_POS = 01 | |
| 465 | + | itemName = "seu helmet" | |
| 466 | + | elseif INDEX == 05 then | |
| 467 | + | SLOT = 02 | |
| 468 | + | SLOT_POS = 02 | |
| 469 | + | itemName = "seu helmet" | |
| 470 | + | elseif INDEX == 06 then | |
| 471 | + | SLOT = 05 | |
| 472 | + | SLOT_POS = 01 | |
| 473 | + | itemName = "sua armadura" | |
| 474 | + | elseif INDEX == 07 then | |
| 475 | + | SLOT = 05 | |
| 476 | + | SLOT_POS = 02 | |
| 477 | + | itemName = "sua armadura" | |
| 478 | + | elseif INDEX == 08 then | |
| 479 | + | SLOT = 06 | |
| 480 | + | SLOT_POS = 01 | |
| 481 | + | itemName = "sua glover" | |
| 482 | + | elseif INDEX == 09 then | |
| 483 | + | SLOT = 06 | |
| 484 | + | SLOT_POS = 02 | |
| 485 | + | itemName = "sua glover" | |
| 486 | + | elseif INDEX == 10 then | |
| 487 | + | SLOT = 08 | |
| 488 | + | SLOT_POS = 01 | |
| 489 | + | itemName = "sua legs" | |
| 490 | + | elseif INDEX == 11 then | |
| 491 | + | SLOT = 08 | |
| 492 | + | SLOT_POS = 02 | |
| 493 | + | itemName = "sua legs" | |
| 494 | + | elseif INDEX == 12 then | |
| 495 | + | SLOT = 09 | |
| 496 | + | SLOT_POS = 01 | |
| 497 | + | itemName = "sua boots" | |
| 498 | + | elseif INDEX == 13 then | |
| 499 | + | SLOT = 09 | |
| 500 | + | SLOT_POS = 02 | |
| 501 | + | itemName = "sua boots" | |
| 502 | + | end | |
| 503 | + | if SLOT_POS == 01 then | |
| 504 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_01) > 0 then | |
| 505 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_06) > 0 then | |
| 506 | + | if doBackpack(player, 00, 03, 00, 01) then | |
| 507 | + | local ITEM_ID = _ATRIBUTOS[player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_06)].PRICE | |
| 508 | + | local RARE = 00 | |
| 509 | + | local STAR = 00 | |
| 510 | + | doBackpack(player, 03, 03, 00, 01, ITEM_ID) -- Procurar | |
| 511 | + | doBackpack(player, 01, 03, 00, 00, ITEM_ID, RARE, STAR, 01) | |
| 512 | + | ||
| 513 | + | player:setStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_06, nil) | |
| 514 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "O primeiro slot de " ..itemName.. " foi resetado.") | |
| 515 | + | doInventario(player, 00, SLOT, 00) | |
| 516 | + | player:sendCancelMessage("@LoadTooltipInv") | |
| 517 | + | player:getPosition():sendMagicEffect(14) | |
| 518 | + | else | |
| 519 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia e n�o pode receber o atributo de volta.\nEsta opera��o foi cancelada.") | |
| 520 | + | player:getPosition():sendMagicEffect(03) | |
| 521 | + | return false | |
| 522 | + | end | |
| 523 | + | else | |
| 524 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "N�o h� nada para resetar nesse slot.") | |
| 525 | + | player:getPosition():sendMagicEffect(03) | |
| 526 | + | return false | |
| 527 | + | end | |
| 528 | + | else | |
| 529 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter o item equipado para remover o slot.") | |
| 530 | + | player:getPosition():sendMagicEffect(03) | |
| 531 | + | return false | |
| 532 | + | end | |
| 533 | + | else | |
| 534 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_01) > 0 then | |
| 535 | + | if player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_07) > 0 then | |
| 536 | + | if doBackpack(player, 00, 03, 00, 01) then | |
| 537 | + | local ITEM_ID = _ATRIBUTOS[player:getStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_07)].PRICE | |
| 538 | + | local RARE = 00 | |
| 539 | + | local STAR = 00 | |
| 540 | + | doBackpack(player, 03, 03, 00, 01, ITEM_ID) -- Procurar | |
| 541 | + | doBackpack(player, 01, 03, 00, 0, ITEM_ID, RARE, STAR, 01) | |
| 542 | + | ||
| 543 | + | player:setStorageValue(_SYSTEM.INVENTARIO[SLOT].UID_07, nil) | |
| 544 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "O segundo slot de " ..itemName.. " foi resetado.") | |
| 545 | + | doInventario(player, 00, SLOT, 00) | |
| 546 | + | player:sendCancelMessage("@LoadTooltipInv") | |
| 547 | + | player:getPosition():sendMagicEffect(14) | |
| 548 | + | else | |
| 549 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua Backpack esta cheia e n�o pode receber o atributo de volta.\nEsta opera��o foi cancelada.") | |
| 550 | + | player:getPosition():sendMagicEffect(03) | |
| 551 | + | return false | |
| 552 | + | end | |
| 553 | + | else | |
| 554 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "N�o h� nada para resetar nesse slot.") | |
| 555 | + | player:getPosition():sendMagicEffect(03) | |
| 556 | + | return false | |
| 557 | + | end | |
| 558 | + | else | |
| 559 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter o item equipado para remover o slot.") | |
| 560 | + | player:getPosition():sendMagicEffect(03) | |
| 561 | + | return false | |
| 562 | + | end | |
| 563 | + | end | |
| 564 | + | end | |
| 565 | + | end | |
| 566 | + | if CATEGORY == 06 then -- FERRAMENTAS | |
| 567 | + | local CHECK_TOOLS = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[02] | |
| 568 | + | if player:getStorageValue(_SYSTEM.TOOLS[CHECK_TOOLS]) < 01 then | |
| 569 | + | player:setStorageValue(_SYSTEM.TOOLS[CHECK_TOOLS], _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01]) | |
| 570 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .._SHOP_PRODUCTS[CATEGORY][INDEX].NAME.. " ].") | |
| 571 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 572 | + | ||
| 573 | + | player:sendCancelMessage("@TutorShow " .._SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[03]) | |
| 574 | + | player:sendCancelMessage("@ToolsLoad " ..player:getStorageValue(_SYSTEM.TOOLS[01]).. " " ..player:getStorageValue(_SYSTEM.TOOLS[02])) | |
| 575 | + | else | |
| 576 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 577 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� j� possui este item ativo em seu personagem.") | |
| 578 | + | return false | |
| 579 | + | end | |
| 580 | + | end | |
| 581 | + | if CATEGORY == 07 then -- OUTFITS | |
| 582 | + | local OUTFIT_HE = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01] | |
| 583 | + | local OUTFIT_SHE = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[02] | |
| 584 | + | if _SHOP_PRODUCTS[CATEGORY][INDEX].OUTFIT then | |
| 585 | + | if player:hasOutfit(OUTFIT_HE, 03) or player:hasOutfit(OUTFIT_SHE, 03) then | |
| 586 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 587 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� j� possui esta outfit.") | |
| 588 | + | return false | |
| 589 | + | else | |
| 590 | + | player:addOutfit(OUTFIT_HE, 1) | |
| 591 | + | player:addOutfit(OUTFIT_SHE, 1) | |
| 592 | + | player:addOutfitAddon(OUTFIT_HE, 3) | |
| 593 | + | player:addOutfitAddon(OUTFIT_SHE, 3) | |
| 594 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " ] completo com todos os Addons.") | |
| 595 | + | end | |
| 596 | + | else | |
| 597 | + | if player:hasOutfit(OUTFIT_HE, 00) or player:hasOutfit(OUTFIT_SHE, 00) then | |
| 598 | + | player:addOutfitAddon(OUTFIT_HE, 3) | |
| 599 | + | player:addOutfitAddon(OUTFIT_SHE, 3) | |
| 600 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve os addons da [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " ].") | |
| 601 | + | else | |
| 602 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 603 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa do Outfit para comprar os Addons.") | |
| 604 | + | return false | |
| 605 | + | end | |
| 606 | + | ||
| 607 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 608 | + | end | |
| 609 | + | end | |
| 610 | + | if CATEGORY == 08 then -- MONTARIAS | |
| 611 | + | local MOUNT_ID = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01] | |
| 612 | + | if player:hasMount(MOUNT_ID) then | |
| 613 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 614 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� j� possui esta montaria.") | |
| 615 | + | return false | |
| 616 | + | else | |
| 617 | + | player:addMount(MOUNT_ID) | |
| 618 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve a montaria [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " ].") | |
| 619 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 620 | + | end | |
| 621 | + | end | |
| 622 | + | if CATEGORY == 09 then -- BACKPACKS | |
| 623 | + | local BACKPACK_ID = _SHOP_PRODUCTS[CATEGORY][INDEX].ACT_ID[01] | |
| 624 | + | local Check = 0 | |
| 625 | + | for SearchBack = 01, #_SYSTEM.BACKPACKS do | |
| 626 | + | if player:getStorageValue(_SYSTEM.BACKPACKS[SearchBack]) == BACKPACK_ID then | |
| 627 | + | Check = 01 | |
| 628 | + | break | |
| 629 | + | end | |
| 630 | + | end | |
| 631 | + | if Check == 00 then | |
| 632 | + | local SlotVazio = 0 | |
| 633 | + | for EmptySlot = 01, #_SYSTEM.BACKPACKS do | |
| 634 | + | if player:getStorageValue(_SYSTEM.BACKPACKS[EmptySlot]) < 01 then | |
| 635 | + | SlotVazio = EmptySlot | |
| 636 | + | Check = 01 | |
| 637 | + | break | |
| 638 | + | end | |
| 639 | + | end | |
| 640 | + | if Check == 01 then | |
| 641 | + | local back_rare = _ITEMS[BACKPACK_ID].RARE | |
| 642 | + | player:setStorageValue(_SYSTEM.BACKPACKS[SlotVazio], BACKPACK_ID) | |
| 643 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� obteve uma nova backpack [ " .. _SHOP_PRODUCTS[CATEGORY][INDEX].NAME .. " ].") | |
| 644 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 645 | + | ||
| 646 | + | player:setStorageValue(_SYSTEM.INVENTARIO[03].UID_01, BACKPACK_ID) | |
| 647 | + | player:setStorageValue(_SYSTEM.INVENTARIO[03].UID_02, back_rare) | |
| 648 | + | player:sendCancelMessage("@EquipBackpack " ..BACKPACK_ID) | |
| 649 | + | doInventario(player, 00) | |
| 650 | + | ||
| 651 | + | for Back = 01, #_SYSTEM.BACKPACKS do | |
| 652 | + | if player:getStorageValue(_SYSTEM.BACKPACKS[Back]) < 00 then | |
| 653 | + | break | |
| 654 | + | end | |
| 655 | + | ||
| 656 | + | player:sendCancelMessage("@LoadBackpack " ..Back.. " " ..player:getStorageValue(_SYSTEM.BACKPACKS[Back])) | |
| 657 | + | end | |
| 658 | + | else | |
| 659 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Este produto est� indispon�vel no momento.") | |
| 660 | + | print("[SHOP] Erro ao comprar backpack. (Categoria: [" ..CATEGORY.. "] | Produto: [" ..INDEX.. "] | Erro: Backpack)") | |
| 661 | + | return false | |
| 662 | + | end | |
| 663 | + | else | |
| 664 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� j� possui essa backpack.") | |
| 665 | + | return false | |
| 666 | + | end | |
| 667 | + | end | |
| 668 | + | if CATEGORY == 11 then -- EXTENS�ES | |
| 669 | + | if player:getStorageValue(_SYSTEM.EXTENSION_BACK[INDEX].UID_01) < 3 then | |
| 670 | + | if player:getStorageValue(_SYSTEM.EXTENSION_BACK[INDEX].UID_01) < 0 then | |
| 671 | + | player:setStorageValue(_SYSTEM.EXTENSION_BACK[INDEX].UID_01, player:getStorageValue(_SYSTEM.EXTENSION_BACK[INDEX].UID_01) + 2) | |
| 672 | + | else | |
| 673 | + | player:setStorageValue(_SYSTEM.EXTENSION_BACK[INDEX].UID_01, player:getStorageValue(_SYSTEM.EXTENSION_BACK[INDEX].UID_01) + 1) | |
| 674 | + | end | |
| 675 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso.") | |
| 676 | + | player:getPosition():sendMagicEffect(14) | |
| 677 | + | ||
| 678 | + | local ExAmulet = player:getStorageValue(_SYSTEM.EXTENSION_BACK[001].UID_01) | |
| 679 | + | local ExHelmet = player:getStorageValue(_SYSTEM.EXTENSION_BACK[002].UID_01) | |
| 680 | + | local ExBackpack = player:getStorageValue(_SYSTEM.EXTENSION_BACK[003].UID_01) | |
| 681 | + | local ExWeapon = player:getStorageValue(_SYSTEM.EXTENSION_BACK[004].UID_01) | |
| 682 | + | local ExArmor = player:getStorageValue(_SYSTEM.EXTENSION_BACK[005].UID_01) | |
| 683 | + | local ExGlove = player:getStorageValue(_SYSTEM.EXTENSION_BACK[006].UID_01) | |
| 684 | + | local ExRing = player:getStorageValue(_SYSTEM.EXTENSION_BACK[007].UID_01) | |
| 685 | + | local ExLegs = player:getStorageValue(_SYSTEM.EXTENSION_BACK[008].UID_01) | |
| 686 | + | local ExBoots = player:getStorageValue(_SYSTEM.EXTENSION_BACK[009].UID_01) | |
| 687 | + | ||
| 688 | + | player:sendCancelMessage("@reloadEx " ..ExAmulet.. " " ..ExHelmet.. " " ..ExBackpack.. " " ..ExWeapon.. " " ..ExArmor.. " " ..ExGlove.. " " ..ExRing.. " " ..ExLegs.. " " ..ExBoots) | |
| 689 | + | player:sendCancelMessage("@ReloadBackpack " ..INDEX.. " 01 01") | |
| 690 | + | else | |
| 691 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "A backpack para este slot j�\nest� em sua capacidade m�xima.") | |
| 692 | + | player:getPosition():sendMagicEffect(03) | |
| 693 | + | return false | |
| 694 | + | end | |
| 695 | + | end | |
| 696 | + | if CATEGORY == 12 then -- WARZONE | |
| 697 | + | if player:getStorageValue(_SYSTEM.SHOP_WARZONE) > 0 then | |
| 698 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� s� pode ter 01 benef�cio da Warzone ativo por vez.") | |
| 699 | + | return false | |
| 700 | + | end | |
| 701 | + | if INDEX == 01 then -- MUNI��O INFINITA (30 MINUTOS) | |
| 702 | + | player:setStorageValue(_SYSTEM.SHOP_WARZONE, INDEX) | |
| 703 | + | player:setStorageValue(_SYSTEM.WARZONE_TIMER, 1800) | |
| 704 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!\nPor 30 minutos sua muni��o ser� infinita.") | |
| 705 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 706 | + | end | |
| 707 | + | if INDEX == 02 then -- PO��ES INFINITAS (30 MINUTOS) | |
| 708 | + | player:setStorageValue(_SYSTEM.SHOP_WARZONE, INDEX) | |
| 709 | + | player:setStorageValue(_SYSTEM.WARZONE_TIMER, 1800) | |
| 710 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!\nPor 30 minutos suas po�es ser�o infinitas.") | |
| 711 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 712 | + | end | |
| 713 | + | if INDEX == 03 then -- MODO PUNITIVO | |
| 714 | + | player:setStorageValue(_SYSTEM.SHOP_WARZONE, INDEX) | |
| 715 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!\nElimine um jogador fora da Warzone e 30% da EXP dele vir� para voc�.") | |
| 716 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 717 | + | end | |
| 718 | + | if INDEX == 04 then -- DOUBLE EXP (01 HORA) | |
| 719 | + | if player:getStorageValue(_SYSTEM.DOUBLE_EXP_ONE) < 02 then | |
| 720 | + | if player:getStorageValue(_SYSTEM.DOUBLE_EXP_ONE) < 00 then | |
| 721 | + | player:setStorageValue(_SYSTEM.DOUBLE_EXP_ONE, 01) | |
| 722 | + | else | |
| 723 | + | player:setStorageValue(_SYSTEM.DOUBLE_EXP_ONE, (player:getStorageValue(_SYSTEM.DOUBLE_EXP_ONE) + 01)) | |
| 724 | + | end | |
| 725 | + | ||
| 726 | + | player:setStorageValue(_SYSTEM.SHOP_WARZONE, INDEX) | |
| 727 | + | player:setStorageValue(_SYSTEM.WARZONE_TIMER, 3600) | |
| 728 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!\nPor 01 hora todas as criaturas dar�o o dobro de EXP.") | |
| 729 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 730 | + | else | |
| 731 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� s� pode usar o Double EXP 02 vezes por dia.") | |
| 732 | + | return false | |
| 733 | + | end | |
| 734 | + | end | |
| 735 | + | if INDEX == 05 then -- DOUBLE GOLD (01 HORA) | |
| 736 | + | player:setStorageValue(_SYSTEM.SHOP_WARZONE, INDEX) | |
| 737 | + | player:setStorageValue(_SYSTEM.WARZONE_TIMER, 3600) | |
| 738 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!\nPor 01 hora todas as criaturas dar�o o dobro de Gold Coin.") | |
| 739 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 740 | + | end | |
| 741 | + | if INDEX == 06 then -- DOUBLE POINTS (05 HORA) | |
| 742 | + | player:setStorageValue(_SYSTEM.SHOP_WARZONE, INDEX) | |
| 743 | + | player:setStorageValue(_SYSTEM.WARZONE_TIMER, 18000) | |
| 744 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!\nPor 05 hora todas as Task finalizadas dar�o o dobro de pontos.") | |
| 745 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 746 | + | end | |
| 747 | + | if INDEX == 07 then -- REMOVEDOR DE SKULLS | |
| 748 | + | local playerskull = player:getSkull() | |
| 749 | + | local skulls = { | |
| 750 | + | SKULL_NONE, | |
| 751 | + | } | |
| 752 | + | if isInArray(skulls, playerskull) then | |
| 753 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� precisa ter uma Skull ativa para comprar este item.") | |
| 754 | + | return false | |
| 755 | + | else | |
| 756 | + | player:setSkull(skulls[1]) | |
| 757 | + | player:setSkullTime(0) | |
| 758 | + | db.query("UPDATE player_deaths SET unjustified = 0 WHERE unjustified = 1 AND killed_by = " .. db.escapeString(player:getName())) | |
| 759 | + | player:save() | |
| 760 | + | ||
| 761 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!") | |
| 762 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 763 | + | end | |
| 764 | + | end | |
| 765 | + | if INDEX == 08 then -- CRIPTOMOEDA | |
| 766 | + | if player:getStorageValue(_SYSTEM.CRIPTOMOEDA) < 00 then | |
| 767 | + | player:setStorageValue(_SYSTEM.CRIPTOMOEDA, ((player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + 01) + 01)) | |
| 768 | + | else | |
| 769 | + | player:setStorageValue(_SYSTEM.CRIPTOMOEDA, (player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + 01)) | |
| 770 | + | end | |
| 771 | + | ||
| 772 | + | player:sendCancelMessage("@LootMSG 3297 4 3 1") | |
| 773 | + | player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Compra realizada com sucesso!") | |
| 774 | + | player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | |
| 775 | + | end | |
| 776 | + | end | |
| 777 | + | ||
| 778 | + | if FORM_PAY == 03 then | |
| 779 | + | PlayerVipCoins(player, 01, PRICE_ITEM) | |
| 780 | + | elseif FORM_PAY == 02 then | |
| 781 | + | player:setStorageValue(_SYSTEM.ONLINE_COIN, player:getStorageValue(_SYSTEM.ONLINE_COIN) - PRICE_ITEM) | |
| 782 | + | else | |
| 783 | + | player:setStorageValue(_SYSTEM.PVP_POINTS, player:getStorageValue(_SYSTEM.PVP_POINTS) - PRICE_ITEM) | |
| 784 | + | end | |
| 785 | + | ||
| 786 | + | if EnableSave then | |
| 787 | + | player:save() | |
| 788 | + | EnableSave = false | |
| 789 | + | onExhaustSave(10) | |
| 790 | + | end | |
| 791 | + | ||
| 792 | + | db.query("INSERT INTO `coins_transactions` (`account_id`, `type`, `amount`, `description`) VALUES (" .. playerGuid .. ", " .. CATEGORY .. ", " .. INDEX.. ", 'Ok')") | |
| 793 | + | player:getPosition():sendMagicEffect(13) | |
| 794 | + | doBackpack(player, 11) | |
| 795 | + | return false | |
| 796 | + | end |
| @@ -0,0 +1,34 @@ | |||
| 1 | + | function onSay(player, words, param) | |
| 2 | + | local split = param:splitTrimmed("|") | |
| 3 | + | ||
| 4 | + | local NAME = split[01] | |
| 5 | + | local tid = Player(NAME) | |
| 6 | + | if(not tid) then | |
| 7 | + | player:sendCancelMessage("@FechandoSpy") | |
| 8 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. NAME .. " not found.") | |
| 9 | + | return false | |
| 10 | + | end | |
| 11 | + | ||
| 12 | + | if _DEBUG_MODE then | |
| 13 | + | print("[TALK - SPY] " ..player:getName().. " - Olhando o SET de: " ..NAME) | |
| 14 | + | end | |
| 15 | + | for ITEM_SET = 01, 10 do | |
| 16 | + | local UID_01 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_01) | |
| 17 | + | local UID_02 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_02) | |
| 18 | + | local UID_03 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_03) | |
| 19 | + | local UID_04 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_04) | |
| 20 | + | local UID_05 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_05) | |
| 21 | + | local UID_06 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_06) | |
| 22 | + | local UID_07 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_07) | |
| 23 | + | local UID_08 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_08) | |
| 24 | + | local UID_09 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_09) | |
| 25 | + | local UID_10 = tid:getStorageValue(_SYSTEM.INVENTARIO[ITEM_SET].UID_10) | |
| 26 | + | local GOLD = PlayerGoldCoins(tid, 00) | |
| 27 | + | local ONLI = tid:getStorageValue(_SYSTEM.ONLINE_COIN) | |
| 28 | + | ||
| 29 | + | player:sendCancelMessage("@LoadSpySet|" ..ITEM_SET.. "|" ..UID_01.. "|" ..UID_02.. "|" ..UID_03.. "|" ..UID_04.. "|" ..UID_05.. "|" ..UID_06.. "|" ..UID_07.. "|" ..UID_08.. "|" ..UID_09.. "|" ..UID_10.. "|" ..GOLD.. "|" ..ONLI.. "|" ..NAME) | |
| 30 | + | end | |
| 31 | + | ||
| 32 | + | player:sendCancelMessage("@SpyShow") | |
| 33 | + | return false | |
| 34 | + | end |
| @@ -0,0 +1,118 @@ | |||
| 1 | + | function onSay(player, words, param) | |
| 2 | + | local BOX_ITEMS = { | |
| 3 | + | [00] = { | |
| 4 | + | [01] = {005000, 02, "Power Box #01", 01, 020}; | |
| 5 | + | [02] = {035000, 10, "Power Box #02", 01, 055}; | |
| 6 | + | [03] = {070000, 15, "Power Box #03", 02, 090}; | |
| 7 | + | [04] = {120000, 25, "Power Box #04", 03, 145}; | |
| 8 | + | [05] = {200000, 40, "Power Box #05", 03, 180}; | |
| 9 | + | }; | |
| 10 | + | -- 11, 20, 22, 29, 32, 42, 51, 53, 60, 61, 65 | |
| 11 | + | [01] = {10510, 10519, 10521, 10528, 10531, 10541, 10550, 10552, 10559, 10560, 10564}; | |
| 12 | + | -- 04, 06, 14, 19, 23, 35, 36, 37, 39, 40, 43 70 | |
| 13 | + | [02] = {10503, 10505, 10513, 10518, 10522, 10534, 10535, 10536, 10538, 10539, 10542, 10569}; | |
| 14 | + | -- 01, 02, 05, 07, 09, 13, 33, 41, 46, 52, 59 63 | |
| 15 | + | [03] = {10500, 10501, 10504, 10506, 10508, 10512, 10532, 10540, 10545, 10551, 10558, 10562}; | |
| 16 | + | -- 03, 12, 16, 17, 30, 44, 47, 55, 56, 58, 68 | |
| 17 | + | [04] = {10502, 10511, 10515, 10516, 10529, 10543, 10546, 10554, 10555, 10557, 10567}; | |
| 18 | + | -- 15, 21, 24, 25, 38, 45, 48, 49, 50, 66 | |
| 19 | + | [05] = {10514, 10520, 10523, 10524, 10537, 10544, 10547, 10548, 10549, 10565}; | |
| 20 | + | } | |
| 21 | + | local split = param:splitTrimmed(" ") | |
| 22 | + | local BOX_ID = tonumber(split[01]) | |
| 23 | + | local SaldoGold = PlayerGoldCoins(player, 00) | |
| 24 | + | if _DEBUG_MODE then | |
| 25 | + | print("[TALK - POWER BOX] " ..player:getName().. " - BoxID: " ..BOX_ID) | |
| 26 | + | end | |
| 27 | + | ||
| 28 | + | if _CHEATS.POWERBOX_GOLD_FREE == false then | |
| 29 | + | if SaldoGold < BOX_ITEMS[00][BOX_ID][01] then | |
| 30 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 31 | + | player:popupFYI("Voc� n�o tem dinheiro suficiente.") | |
| 32 | + | return false | |
| 33 | + | end | |
| 34 | + | end | |
| 35 | + | if player:getLevel() < BOX_ITEMS[00][BOX_ID][05] then | |
| 36 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 37 | + | player:popupFYI("Voc� n�o tem nivel suficiente.") | |
| 38 | + | return false | |
| 39 | + | end | |
| 40 | + | if _CHEATS.POWERBOX_TOKENS_FREE == false then | |
| 41 | + | if BOX_ITEMS[00][BOX_ID][04] == 01 then | |
| 42 | + | if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1) < BOX_ITEMS[00][BOX_ID][02] then | |
| 43 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 44 | + | player:popupFYI("Voc� n�o tem pontos suficiente.") | |
| 45 | + | return false | |
| 46 | + | end | |
| 47 | + | elseif BOX_ITEMS[00][BOX_ID][04] == 02 then | |
| 48 | + | if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_2) < BOX_ITEMS[00][BOX_ID][02] then | |
| 49 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 50 | + | player:popupFYI("Voc� n�o tem pontos suficiente.") | |
| 51 | + | return false | |
| 52 | + | end | |
| 53 | + | elseif BOX_ITEMS[00][BOX_ID][04] == 03 then | |
| 54 | + | if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_3) < BOX_ITEMS[00][BOX_ID][02] then | |
| 55 | + | player:getPosition():sendMagicEffect(CONST_ME_POFF) | |
| 56 | + | player:popupFYI("Voc� n�o tem pontos suficiente.") | |
| 57 | + | return false | |
| 58 | + | end | |
| 59 | + | end | |
| 60 | + | end | |
| 61 | + | ||
| 62 | + | local iid = BOX_ITEMS[BOX_ID][math.random(01, #BOX_ITEMS[BOX_ID])] | |
| 63 | + | local slo = 03 | |
| 64 | + | local rar = _ITEMS[iid].RARE | |
| 65 | + | local sta = 00 | |
| 66 | + | local qnt = 01 | |
| 67 | + | local ext = 00 | |
| 68 | + | ||
| 69 | + | if doBackpack(player, 00, slo, ext, 01) then | |
| 70 | + | --doBackpack(player, 03, slo, ext, 01, iid) -- Procurar | |
| 71 | + | if doBackpack(player, 01, slo, ext, 0, iid, rar, sta, qnt, true) then | |
| 72 | + | player:getPosition():sendMagicEffect(14) | |
| 73 | + | end | |
| 74 | + | ||
| 75 | + | if player:getStorageValue(_QUESTLOG[32].UID_01) == 2 then | |
| 76 | + | player:setStorageValue(_QUESTLOG[32].UID_01, 100) | |
| 77 | + | player:setStorageValue(_QUESTLOG[76].UID_01, 01) | |
| 78 | + | player:setStorageValue(_QUESTLOG[77].UID_01, 01) | |
| 79 | + | ||
| 80 | + | player:getPosition():sendMagicEffect(14) | |
| 81 | + | end | |
| 82 | + | else | |
| 83 | + | player:popupFYI("Sua Backpack esta cheia.") | |
| 84 | + | player:getPosition():sendMagicEffect(03) | |
| 85 | + | return false | |
| 86 | + | end | |
| 87 | + | ||
| 88 | + | if _CHEATS.POWERBOX_GOLD_FREE == false then | |
| 89 | + | PlayerGoldCoins(player, 01, BOX_ITEMS[00][BOX_ID][01]) | |
| 90 | + | --player:setStorageValue(_SYSTEM.GOLD_COIN, player:getStorageValue(_SYSTEM.GOLD_COIN) - BOX_ITEMS[00][BOX_ID][01]) | |
| 91 | + | end | |
| 92 | + | if _CHEATS.POWERBOX_TOKENS_FREE == false then | |
| 93 | + | if BOX_ITEMS[00][BOX_ID][04] == 01 then | |
| 94 | + | player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_1, player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1) - BOX_ITEMS[00][BOX_ID][02]) | |
| 95 | + | elseif BOX_ITEMS[00][BOX_ID][04] == 02 then | |
| 96 | + | player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_2, player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_2) - BOX_ITEMS[00][BOX_ID][02]) | |
| 97 | + | elseif BOX_ITEMS[00][BOX_ID][04] == 03 then | |
| 98 | + | player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_3, player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_3) - BOX_ITEMS[00][BOX_ID][02]) | |
| 99 | + | end | |
| 100 | + | end | |
| 101 | + | ||
| 102 | + | -- DESAFIO | |
| 103 | + | if player:getStorageValue(_DESAFIOS[00].DESAFIO_ID) > 00 then | |
| 104 | + | if BOX_ID == 01 then | |
| 105 | + | onPlayerDesafios(player, 49, 01) | |
| 106 | + | elseif BOX_ID == 02 then | |
| 107 | + | onPlayerDesafios(player, 50, 01) | |
| 108 | + | elseif BOX_ID == 03 then | |
| 109 | + | onPlayerDesafios(player, 51, 01) | |
| 110 | + | elseif BOX_ID == 04 then | |
| 111 | + | onPlayerDesafios(player, 52, 01) | |
| 112 | + | elseif BOX_ID == 05 then | |
| 113 | + | onPlayerDesafios(player, 53, 01) | |
| 114 | + | end | |
| 115 | + | end | |
| 116 | + | doBackpack(player, 11) | |
| 117 | + | return false | |
| 118 | + | end |
| @@ -0,0 +1,475 @@ | |||
| 1 | + | local MembersIds = { | |
| 2 | + | [01] = 00, -- Membro 01 | |
| 3 | + | [02] = 00, -- Membro 02 | |
| 4 | + | } | |
| 5 | + | ||
| 6 | + | function getPlayerGUIDByName(name) | |
| 7 | + | local player = Player(name) | |
| 8 | + | if player then | |
| 9 | + | return player:getGuid() | |
| 10 | + | end | |
| 11 | + | ||
| 12 | + | local resultId = db.storeQuery("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) | |
| 13 | + | if resultId ~= false then | |
| 14 | + | local guid = result.getDataInt(resultId, "id") | |
| 15 | + | result.free(resultId) | |
| 16 | + | return guid | |
| 17 | + | end | |
| 18 | + | return 0 | |
| 19 | + | end | |
| 20 | + | function getMemberTime(id, guid) | |
| 21 | + | local resultx = db.storeQuery("SELECT `player_id` FROM `player_storage` WHERE `key` = " .. _SISTEMA.TIME_STORAGE .. " AND `value` = " .. guid) | |
| 22 | + | MembersIds[01] = 00 | |
| 23 | + | MembersIds[02] = 00 | |
| 24 | + | local i = 0 | |
| 25 | + | local players = Game.getPlayers() | |
| 26 | + | ||
| 27 | + | if id == 01 then -- ENCONTRA OS MEMBROS DO TIME. | |
| 28 | + | for _, targetPlayer in ipairs(players) do | |
| 29 | + | if targetPlayer:getStorageValue(_SISTEMA.TIME_STORAGE) == guid then | |
| 30 | + | if targetPlayer:getGuid() ~= guid then | |
| 31 | + | if MembersIds[01] ~= targetPlayer:getGuid() and MembersIds[02] ~= targetPlayer:getGuid() then | |
| 32 | + | i = i + 1 | |
| 33 | + | if MembersIds[i] then | |
| 34 | + | MembersIds[i] = targetPlayer:getGuid() | |
| 35 | + | end | |
| 36 | + | end | |
| 37 | + | end | |
| 38 | + | end | |
| 39 | + | end | |
| 40 | + | ||
| 41 | + | if resultx then | |
| 42 | + | repeat | |
| 43 | + | local tid = Player(result.getDataInt(resultx, 'player_id')) | |
| 44 | + | if tid then | |
| 45 | + | if tid:getGuid() ~= guid and tid:getStorageValue(_SISTEMA.TIME_STORAGE) == guid then | |
| 46 | + | if MembersIds[01] ~= tid:getGuid() and MembersIds[02] ~= tid:getGuid() then | |
| 47 | + | i = i + 1 | |
| 48 | + | if MembersIds[i] then | |
| 49 | + | MembersIds[i] = tid:getGuid() | |
| 50 | + | end | |
| 51 | + | end | |
| 52 | + | end | |
| 53 | + | else | |
| 54 | + | if result.getDataInt(resultx, 'player_id') ~= guid then | |
| 55 | + | if MembersIds[01] ~= result.getDataInt(resultx, 'player_id') and MembersIds[02] ~= result.getDataInt(resultx, 'player_id') then | |
| 56 | + | i = i + 1 | |
| 57 | + | if MembersIds[i] then | |
| 58 | + | MembersIds[i] = result.getDataInt(resultx, 'player_id') | |
| 59 | + | end | |
| 60 | + | end | |
| 61 | + | end | |
| 62 | + | end | |
| 63 | + | until not result.next(resultx) | |
| 64 | + | result.free(resultx) | |
| 65 | + | end | |
| 66 | + | ||
| 67 | + | if i > 00 then | |
| 68 | + | return true | |
| 69 | + | else | |
| 70 | + | return false | |
| 71 | + | end | |
| 72 | + | end | |
| 73 | + | return false | |
| 74 | + | end | |
| 75 | + | function onSay(player, words, param) | |
| 76 | + | local split = param:splitTrimmed(",") | |
| 77 | + | ||
| 78 | + | --[[ CHECANDO OS MEMBROS DO SEU PR�PRIO TIME ]]-- | |
| 79 | + | if split[01] == nil then | |
| 80 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 81 | + | local _cid = player:getStorageValue(_SISTEMA.TIME_STORAGE) | |
| 82 | + | local leader, member1, member2 = getPlayerNameByGUID(_cid), "<empty>", "<empty>" | |
| 83 | + | if getMemberTime(01, _cid) then | |
| 84 | + | if MembersIds[01] > 00 then | |
| 85 | + | member1 = getPlayerNameByGUID(MembersIds[01]) | |
| 86 | + | if MembersIds[02] > 00 then | |
| 87 | + | member2 = getPlayerNameByGUID(MembersIds[02]) | |
| 88 | + | end | |
| 89 | + | end | |
| 90 | + | ||
| 91 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "TIME CRIADO POR [ " ..leader.. " ]\n> " ..member1.. "\n> " ..member2) | |
| 92 | + | return false | |
| 93 | + | else | |
| 94 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "TIME CRIADO POR [ " ..leader.. " ]\n> " ..member1.. "\n> " ..member2) | |
| 95 | + | return false | |
| 96 | + | end | |
| 97 | + | else | |
| 98 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voc� n�o participa de nenhum time. Crie seu pr�prio time usando o comando !team create .") | |
| 99 | + | return false | |
| 100 | + | end | |
| 101 | + | ||
| 102 | + | return false | |
| 103 | + | end | |
| 104 | + | ||
| 105 | + | --[[ CRIANDO SEU PR�PRIO TIME ]]-- | |
| 106 | + | if split[01] == "create" then | |
| 107 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) < 01 then | |
| 108 | + | player:setStorageValue(_SISTEMA.TIME_STORAGE, player:getGuid()) | |
| 109 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� acaba de criar seu pr�prio time!\nConvide at� 02 membros usando o comando !team invite nickname .") | |
| 110 | + | return false | |
| 111 | + | else | |
| 112 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o pode criar um time enquanto j� participa de um.") | |
| 113 | + | return false | |
| 114 | + | end | |
| 115 | + | ||
| 116 | + | return false | |
| 117 | + | end | |
| 118 | + | ||
| 119 | + | --[[ DELETANDO SEU PR�PRIO TIME ]]-- | |
| 120 | + | if split[01] == "delete" then | |
| 121 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 122 | + | local _cid = player:getStorageValue(_SISTEMA.TIME_STORAGE) | |
| 123 | + | if _cid == player:getGuid() then | |
| 124 | + | if getMemberTime(01, _cid) then | |
| 125 | + | if MembersIds[01] > 00 then | |
| 126 | + | local memberName = getPlayerNameByGUID(MembersIds[01]) | |
| 127 | + | local memberCid = Player(memberName) | |
| 128 | + | if memberCid then | |
| 129 | + | memberCid:setStorageValue(_SISTEMA.TIME_STORAGE, nil) | |
| 130 | + | memberCid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O lider desfez esse time. Voc� foi removido.") | |
| 131 | + | else | |
| 132 | + | db.asyncQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. MembersIds[01] .. " AND `key` = " .. _SISTEMA.TIME_STORAGE .. " AND `value` = " .. _cid .. ";") | |
| 133 | + | end | |
| 134 | + | ||
| 135 | + | if MembersIds[02] > 00 then | |
| 136 | + | local memberName = getPlayerNameByGUID(MembersIds[02]) | |
| 137 | + | local memberCid = Player(memberName) | |
| 138 | + | if memberCid then | |
| 139 | + | memberCid:setStorageValue(_SISTEMA.TIME_STORAGE, nil) | |
| 140 | + | memberCid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O lider desse desfez esse time. Voc� foi removido.") | |
| 141 | + | else | |
| 142 | + | db.asyncQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. MembersIds[02] .. " AND `key` = " .. _SISTEMA.TIME_STORAGE .. " AND `value` = " .. _cid .. ";") | |
| 143 | + | end | |
| 144 | + | end | |
| 145 | + | end | |
| 146 | + | ||
| 147 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Os jogadores foram removidos da equipe. Voc� deletou seu time com sucesso.") | |
| 148 | + | else | |
| 149 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� deletou seu time com sucesso.") | |
| 150 | + | end | |
| 151 | + | ||
| 152 | + | player:setStorageValue(_SISTEMA.TIME_STORAGE, nil) | |
| 153 | + | return false | |
| 154 | + | else | |
| 155 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Somente o lider desse time pode usar esse comando.") | |
| 156 | + | return false | |
| 157 | + | end | |
| 158 | + | else | |
| 159 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando.") | |
| 160 | + | return false | |
| 161 | + | end | |
| 162 | + | ||
| 163 | + | return false | |
| 164 | + | end | |
| 165 | + | ||
| 166 | + | --[[ CONVIDANDO OUTROS JOGADORES PARA SEU TIME ]]-- | |
| 167 | + | if split[01] == "invite" then | |
| 168 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 169 | + | local _cid = player:getStorageValue(_SISTEMA.TIME_STORAGE) | |
| 170 | + | if _cid == player:getGuid() then | |
| 171 | + | if split[02] ~= nil then | |
| 172 | + | local tid = Player(split[02]) | |
| 173 | + | if(not tid) then | |
| 174 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Jogador n�o encontrado ou offline.") | |
| 175 | + | return false | |
| 176 | + | else | |
| 177 | + | if player:getStorageValue(_SISTEMA.INVITE_TIME_DELAY) < 01 then | |
| 178 | + | getMemberTime(01, _cid) | |
| 179 | + | if MembersIds[02] == 00 then | |
| 180 | + | _tid = getPlayerGUIDByName(split[02]) | |
| 181 | + | if _tid == player:getGuid() then | |
| 182 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o pode enviar um convite para si mesmo.") | |
| 183 | + | return false | |
| 184 | + | end | |
| 185 | + | if tid:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 186 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O jogador alvo j� est� em um time.") | |
| 187 | + | return false | |
| 188 | + | else | |
| 189 | + | if tid:getStorageValue(_SISTEMA.INVITE_TIME_MAIN) < 01 then | |
| 190 | + | player:setStorageValue(_SISTEMA.INVITE_TIME_DELAY, _SISTEMA.INVITE_SECONDS_TIMER) | |
| 191 | + | tid:setStorageValue(_SISTEMA.INVITE_TIME_SECONDS, _SISTEMA.INVITE_SECONDS_TIMER) | |
| 192 | + | tid:setStorageValue(_SISTEMA.INVITE_TIME_MAIN, _cid) | |
| 193 | + | ||
| 194 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� enviou um convite para " ..tid:getName().. ". Aguarde sua resposta.") | |
| 195 | + | else | |
| 196 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Este jogador possui um convite em aberto. Aguarde.") | |
| 197 | + | return false | |
| 198 | + | end | |
| 199 | + | end | |
| 200 | + | else | |
| 201 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O limite � de 03 jogadores por time.") | |
| 202 | + | return false | |
| 203 | + | end | |
| 204 | + | else | |
| 205 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Aguarde um retorno do convite que voc� j� enviou.") | |
| 206 | + | return false | |
| 207 | + | end | |
| 208 | + | end | |
| 209 | + | else | |
| 210 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Falta par�metros. Digite o nome do jogador para enviar o convite.") | |
| 211 | + | return false | |
| 212 | + | end | |
| 213 | + | else | |
| 214 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Somente o lider desse time pode usar esse comando.") | |
| 215 | + | return false | |
| 216 | + | end | |
| 217 | + | else | |
| 218 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando.") | |
| 219 | + | return false | |
| 220 | + | end | |
| 221 | + | end | |
| 222 | + | ||
| 223 | + | --[[ ACEITANDO PARTICIPAR DE UM TIME ]]-- | |
| 224 | + | if split[01] == "accept" then | |
| 225 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) < 01 then | |
| 226 | + | if player:getStorageValue(_SISTEMA.INVITE_TIME_MAIN) > 00 then | |
| 227 | + | player:setStorageValue(_SISTEMA.TIME_STORAGE, player:getStorageValue(_SISTEMA.INVITE_TIME_MAIN)) | |
| 228 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� aceitou o convite e agora faz parte do time do jogador " ..getPlayerNameByGUID(player:getStorageValue(_SISTEMA.INVITE_TIME_MAIN)).. ".") | |
| 229 | + | local _cid = Player(getPlayerNameByGUID(player:getStorageValue(_SISTEMA.INVITE_TIME_MAIN))) | |
| 230 | + | if _cid then | |
| 231 | + | _cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O jogador " ..player:getName().. " aceitou seu convite e agora faz parte do seu time.") | |
| 232 | + | end | |
| 233 | + | player:setStorageValue(_SISTEMA.INVITE_TIME_MAIN, nil) | |
| 234 | + | player:setStorageValue(_SISTEMA.INVITE_TIME_SECONDS, nil) | |
| 235 | + | return false | |
| 236 | + | else | |
| 237 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando no momento.") | |
| 238 | + | return false | |
| 239 | + | end | |
| 240 | + | else | |
| 241 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� j� participa de um time.") | |
| 242 | + | return false | |
| 243 | + | end | |
| 244 | + | end | |
| 245 | + | ||
| 246 | + | --[[ SAINDO DE UM TIME ]]-- | |
| 247 | + | if split[01] == "exit" then | |
| 248 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 249 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) ~= player:getGuid() then | |
| 250 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� n�o pertence mais ao time do jogador " ..getPlayerNameByGUID(player:getStorageValue(_SISTEMA.TIME_STORAGE)).. ".") | |
| 251 | + | player:setStorageValue(_SISTEMA.TIME_STORAGE, nil) | |
| 252 | + | return false | |
| 253 | + | else | |
| 254 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Somente membros do time podem usar esse comando. Lider deve usar o comando !team delete para excluir o grupo por completo.") | |
| 255 | + | return false | |
| 256 | + | end | |
| 257 | + | else | |
| 258 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� precisa estar participando de um time para poder usar esse comando.") | |
| 259 | + | return false | |
| 260 | + | end | |
| 261 | + | end | |
| 262 | + | ||
| 263 | + | --[[ REMOVENDO UM JOGADOR DO SEU TIME ]]-- | |
| 264 | + | if split[01] == "remove" then | |
| 265 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 266 | + | local _cid = player:getStorageValue(_SISTEMA.TIME_STORAGE) | |
| 267 | + | if _cid == player:getGuid() then | |
| 268 | + | if split[02] ~= nil then | |
| 269 | + | local tid = Player(split[02]) | |
| 270 | + | if(not tid) then | |
| 271 | + | if getPlayerGUIDByName(split[02]) > 00 then | |
| 272 | + | tid = getPlayerGUIDByName(split[02]) | |
| 273 | + | db.asyncQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. tid .. " AND `key` = " .. _SISTEMA.TIME_STORAGE .. " AND `value` = " .. _cid .. ";") | |
| 274 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� removeu o jogador " ..split[02].. " do seu time.") | |
| 275 | + | return false | |
| 276 | + | else | |
| 277 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Jogador com o nome '" ..split[02].. "' n�o foi encontrado.") | |
| 278 | + | return false | |
| 279 | + | end | |
| 280 | + | else | |
| 281 | + | tid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� foi expulso do time pelo lider " ..getPlayerNameByGUID(player:getStorageValue(_SISTEMA.TIME_STORAGE)).. ".") | |
| 282 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Voc� removeu o jogador " ..split[02].. " do seu time.") | |
| 283 | + | tid:setStorageValue(_SISTEMA.TIME_STORAGE, nil) | |
| 284 | + | return false | |
| 285 | + | end | |
| 286 | + | else | |
| 287 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Falta par�metros. Digite o nome do jogador para remover do seu time.") | |
| 288 | + | return false | |
| 289 | + | end | |
| 290 | + | else | |
| 291 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Somente o lider do time pode usar esse comando.") | |
| 292 | + | return false | |
| 293 | + | end | |
| 294 | + | else | |
| 295 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando.") | |
| 296 | + | return false | |
| 297 | + | end | |
| 298 | + | end | |
| 299 | + | ||
| 300 | + | --[[ VERIFICA O RANK POR VIT�RIA DE TODO O SERVIDOR ]]-- | |
| 301 | + | if split[01] == "rank" then | |
| 302 | + | local str = "[ RANK POR VIT�RIAS ]\n\n" | |
| 303 | + | local i = 1 | |
| 304 | + | local Rank = db.storeQuery('SELECT * FROM `players` ORDER BY `' .. _SISTEMA.DB_VICTORY .. '` DESC LIMIT ' .. _SISTEMA.TOP_RANK .. ';') | |
| 305 | + | if Rank then | |
| 306 | + | repeat | |
| 307 | + | local number = "" | |
| 308 | + | if i < 10 then | |
| 309 | + | number = "0" ..i | |
| 310 | + | else | |
| 311 | + | number = i | |
| 312 | + | end | |
| 313 | + | ||
| 314 | + | local RankName = "" | |
| 315 | + | for X = 01, #_SISTEMA.RANKS do | |
| 316 | + | if result.getDataInt(Rank, _SISTEMA.DB_VICTORY) >= _SISTEMA.RANKS[X].VALUE then | |
| 317 | + | RankName = _SISTEMA.RANKS[X].NAME | |
| 318 | + | break | |
| 319 | + | end | |
| 320 | + | end | |
| 321 | + | str = str.. "[" ..number.. "] - " ..result.getDataString(Rank, "name").. " (" ..RankName.. " | " ..result.getDataInt(Rank, _SISTEMA.DB_VICTORY).. " vit�rias)\n" | |
| 322 | + | i = i + 1 | |
| 323 | + | until not result.next(Rank) | |
| 324 | + | result.free() | |
| 325 | + | end | |
| 326 | + | ||
| 327 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, str) | |
| 328 | + | return false | |
| 329 | + | end | |
| 330 | + | ||
| 331 | + | --[[ COMANDO PARA INICIAR/ACEITAR/REJEITAR UMA BATALHA ]]-- | |
| 332 | + | if split[01] == "fight" then | |
| 333 | + | if player:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 334 | + | local _cid = player:getStorageValue(_SISTEMA.TIME_STORAGE) | |
| 335 | + | if _cid == player:getGuid() then | |
| 336 | + | if split[02] ~= nil then | |
| 337 | + | if split[02] == "war" then | |
| 338 | + | if split[03] ~= nil then | |
| 339 | + | local tid = Player(split[03]) | |
| 340 | + | if(not tid) then | |
| 341 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Jogador n�o encontrado ou offline.") | |
| 342 | + | return false | |
| 343 | + | else | |
| 344 | + | if tid:getStorageValue(_SISTEMA.INVITE_WAR_MAIN) < 01 then | |
| 345 | + | if tid:getStorageValue(_SISTEMA.TIME_STORAGE) > 00 then | |
| 346 | + | if tid:getStorageValue(_SISTEMA.TIME_STORAGE) == tid:getGuid() then | |
| 347 | + | tid:setStorageValue(_SISTEMA.INVITE_WAR_SECONDS, _SISTEMA.WAR_SECONDS_TIMER) | |
| 348 | + | tid:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, _cid) | |
| 349 | + | player:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, _cid) | |
| 350 | + | ||
| 351 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voc� enviou um convite para batalhar com o time do jogador " ..tid:getName().. ". Aguarde sua resposta.") | |
| 352 | + | return false | |
| 353 | + | else | |
| 354 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O jogador precisa ser o lider do time para receber o convite.") | |
| 355 | + | return false | |
| 356 | + | end | |
| 357 | + | else | |
| 358 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O jogador precisa estar em um time para receber o convite.") | |
| 359 | + | return false | |
| 360 | + | end | |
| 361 | + | else | |
| 362 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O time advers�rio j� possui um convite para uma batalha. Aguarde sua resposta.") | |
| 363 | + | return false | |
| 364 | + | end | |
| 365 | + | end | |
| 366 | + | else | |
| 367 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Falta par�metros. Digite o nome do jogador lider do time que deseja enfrentar.") | |
| 368 | + | return false | |
| 369 | + | end | |
| 370 | + | elseif split[02] == "accept" then | |
| 371 | + | if player:getStorageValue(_SISTEMA.INVITE_WAR_MAIN) > 00 then | |
| 372 | + | local tid = Player(getPlayerNameByGUID(player:getStorageValue(_SISTEMA.INVITE_WAR_MAIN))) | |
| 373 | + | local TotalMyTime = 00 | |
| 374 | + | local TotalAdTime = 00 | |
| 375 | + | local players = Game.getPlayers() | |
| 376 | + | ||
| 377 | + | for _, targetPlayer in ipairs(players) do | |
| 378 | + | if targetPlayer:getStorageValue(_SISTEMA.TIME_STORAGE) == player:getGuid() then | |
| 379 | + | TotalMyTime = TotalMyTime + 01 | |
| 380 | + | elseif targetPlayer:getStorageValue(_SISTEMA.TIME_STORAGE) == player:getStorageValue(_SISTEMA.INVITE_WAR_MAIN) then | |
| 381 | + | TotalAdTime = TotalAdTime + 01 | |
| 382 | + | end | |
| 383 | + | end | |
| 384 | + | ||
| 385 | + | if TotalMyTime == 03 then | |
| 386 | + | if TotalAdTime == 03 then | |
| 387 | + | local checkArea = 0 | |
| 388 | + | local from = _SISTEMA.ARENA[01] | |
| 389 | + | local to = _SISTEMA.ARENA[02] | |
| 390 | + | for A = from.x, to.x do | |
| 391 | + | for B = from.y, to.y do | |
| 392 | + | for C = from.z, to.z do | |
| 393 | + | local tile = Tile(A, B, C) | |
| 394 | + | local creature = tile:getTopCreature() | |
| 395 | + | if creature and creature:isPlayer() then | |
| 396 | + | checkArea = 1 | |
| 397 | + | break | |
| 398 | + | end | |
| 399 | + | end | |
| 400 | + | end | |
| 401 | + | end | |
| 402 | + | ||
| 403 | + | if checkArea == 01 then | |
| 404 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "A arena de batalha est� ocupada. Convite para a batalha cancelado.") | |
| 405 | + | tid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "A arena de batalha est� ocupada. Convite para a batalha cancelado.") | |
| 406 | + | tid:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 407 | + | player:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 408 | + | return false | |
| 409 | + | else | |
| 410 | + | for _, targetPlayer in ipairs(players) do | |
| 411 | + | if targetPlayer:getStorageValue(_SISTEMA.TIME_STORAGE) == player:getGuid() then | |
| 412 | + | targetPlayer:teleportTo(_SISTEMA.ARENA[03]) | |
| 413 | + | targetPlayer:getPosition():sendMagicEffect(03) | |
| 414 | + | targetPlayer:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Elimine o time advers�rio para subir de Rank") | |
| 415 | + | targetPlayer:setStorageValue(_SISTEMA.TIME_WAR_STORAGE, 01) | |
| 416 | + | elseif targetPlayer:getStorageValue(_SISTEMA.TIME_STORAGE) == player:getStorageValue(_SISTEMA.INVITE_WAR_MAIN) then | |
| 417 | + | targetPlayer:teleportTo(_SISTEMA.ARENA[04]) | |
| 418 | + | targetPlayer:getPosition():sendMagicEffect(03) | |
| 419 | + | targetPlayer:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Elimine o time advers�rio para subir de Rank") | |
| 420 | + | targetPlayer:setStorageValue(_SISTEMA.TIME_WAR_STORAGE, 02) | |
| 421 | + | end | |
| 422 | + | end | |
| 423 | + | ||
| 424 | + | Game.setStorageValue(_SISTEMA.FIGHT_PLACAR[01].GLOBAL_PLACAR, 00) | |
| 425 | + | Game.setStorageValue(_SISTEMA.FIGHT_PLACAR[02].GLOBAL_PLACAR, 00) | |
| 426 | + | return false | |
| 427 | + | end | |
| 428 | + | else | |
| 429 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O time advers�rio n�o est� totalmente online. Convite para a batalha foi cancelado.") | |
| 430 | + | tid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O seu time n�o est� totalmente online. Convite para a batalha foi cancelado.") | |
| 431 | + | tid:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 432 | + | player:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 433 | + | return false | |
| 434 | + | end | |
| 435 | + | else | |
| 436 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O seu time n�o est� totalmente online. Convite para a batalha foi cancelado.") | |
| 437 | + | tid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O time advers�rio n�o est� totalmente online. Convite para a batalha foi cancelado.") | |
| 438 | + | player:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 439 | + | tid:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 440 | + | return false | |
| 441 | + | end | |
| 442 | + | else | |
| 443 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando.") | |
| 444 | + | return false | |
| 445 | + | end | |
| 446 | + | elseif split[02] == "reject" then | |
| 447 | + | if player:getStorageValue(_SISTEMA.INVITE_WAR_MAIN) > 00 then | |
| 448 | + | local tid = Player(getPlayerNameByGUID(player:getStorageValue(_SISTEMA.INVITE_WAR_MAIN))) | |
| 449 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "O time advers�rio rejeitou o convite para a batalha.") | |
| 450 | + | tid:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� rejeitou o convite para a batalha.") | |
| 451 | + | tid:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 452 | + | player:setStorageValue(_SISTEMA.INVITE_WAR_MAIN, nil) | |
| 453 | + | ||
| 454 | + | return false | |
| 455 | + | else | |
| 456 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando.") | |
| 457 | + | return false | |
| 458 | + | end | |
| 459 | + | end | |
| 460 | + | else | |
| 461 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Falta par�metros. Digite ' war nickname ' para desagiar o time advers�rio.") | |
| 462 | + | return false | |
| 463 | + | end | |
| 464 | + | else | |
| 465 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Somente o lider do time pode usar esse comando.") | |
| 466 | + | return false | |
| 467 | + | end | |
| 468 | + | else | |
| 469 | + | player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Voc� n�o tem permiss�o para usar esse comando.") | |
| 470 | + | return false | |
| 471 | + | end | |
| 472 | + | end | |
| 473 | + | ||
| 474 | + | return false | |
| 475 | + | end |