compat.lua

main 4926 lines · 233 KB Raw
Alex Alex Commit Server upload 18/10/2026 23:38
1
2table.contains = function(array, value)
3 for _, targetColumn in pairs(array) do
4 if targetColumn == value then
5 return true
6 end
7 end
8 return false
9end
10
11_G.contains = table.contains
12
13string.trim = function(str)
14 return str:gsub('^%s*(.-)%s*$', '%1')
15end
16
17string.splitTrimmed = function(str, sep)
18 local res = {}
19 for v in str:gmatch('([^' .. sep .. ']+)') do
20 res[#res + 1] = v:trim()
21 end
22 return res
23end
24
25local stringMeta = getmetatable('')
26if stringMeta and stringMeta.__index then
27 stringMeta.__index.splitTrimmed = string.splitTrimmed
28 stringMeta.__index.trim = string.trim
29end
30
31TRUE = true
32FALSE = false
33
34result.getDataInt = result.getNumber
35result.getDataLong = result.getNumber
36result.getDataString = result.getString
37result.getDataStream = result.getStream
38
39LUA_ERROR = false
40LUA_NO_ERROR = true
41
42STACKPOS_GROUND = 0
43STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE = 1
44STACKPOS_SECOND_ITEM_ABOVE_GROUNDTILE = 2
45STACKPOS_THIRD_ITEM_ABOVE_GROUNDTILE = 3
46STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
47STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5
48STACKPOS_TOP_CREATURE = 253
49STACKPOS_TOP_FIELD = 254
50STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255
51
52THING_TYPE_PLAYER = CREATURETYPE_PLAYER + 1
53THING_TYPE_MONSTER = CREATURETYPE_MONSTER + 1
54THING_TYPE_NPC = CREATURETYPE_NPC + 1
55
56COMBAT_POISONDAMAGE = COMBAT_EARTHDAMAGE
57CONDITION_EXHAUST = CONDITION_EXHAUST_WEAPON
58TALKTYPE_ORANGE_1 = TALKTYPE_MONSTER_SAY
59TALKTYPE_ORANGE_2 = TALKTYPE_MONSTER_YELL
60
61NORTH = DIRECTION_NORTH
62EAST = DIRECTION_EAST
63SOUTH = DIRECTION_SOUTH
64WEST = DIRECTION_WEST
65SOUTHWEST = DIRECTION_SOUTHWEST
66SOUTHEAST = DIRECTION_SOUTHEAST
67NORTHWEST = DIRECTION_NORTHWEST
68NORTHEAST = DIRECTION_NORTHEAST
69
70do
71 local function CreatureIndex(self, key)
72 local methods = getmetatable(self)
73 if key == "uid" then
74 return methods.getId(self)
75 elseif key == "type" then
76 local creatureType = 0
77 if methods.isPlayer(self) then
78 creatureType = THING_TYPE_PLAYER
79 elseif methods.isMonster(self) then
80 creatureType = THING_TYPE_MONSTER
81 elseif methods.isNpc(self) then
82 creatureType = THING_TYPE_NPC
83 end
84 return creatureType
85 elseif key == "itemid" then
86 return 1
87 elseif key == "actionid" then
88 return 0
89 end
90 return methods[key]
91 end
92 rawgetmetatable("Player").__index = CreatureIndex
93 rawgetmetatable("Monster").__index = CreatureIndex
94 rawgetmetatable("Npc").__index = CreatureIndex
95end
96
97do
98 local function ItemIndex(self, key)
99 local methods = getmetatable(self)
100 if key == "itemid" then
101 return methods.getId(self)
102 elseif key == "actionid" then
103 return methods.getActionId(self)
104 elseif key == "uid" then
105 return methods.getUniqueId(self)
106 elseif key == "type" then
107 return methods.getSubType(self)
108 end
109 return methods[key]
110 end
111 rawgetmetatable("Item").__index = ItemIndex
112 rawgetmetatable("Container").__index = ItemIndex
113 rawgetmetatable("Teleport").__index = ItemIndex
114end
115
116do
117 local function ActionNewIndex(self, key, value)
118 if key == "onUse" then
119 self:onUse(value)
120 return
121 end
122 rawset(self, key, value)
123 end
124 rawgetmetatable("Action").__newindex = ActionNewIndex
125end
126
127do
128 local function TalkActionNewIndex(self, key, value)
129 if key == "onSay" then
130 self:onSay(value)
131 return
132 end
133 rawset(self, key, value)
134 end
135 rawgetmetatable("TalkAction").__newindex = TalkActionNewIndex
136end
137
138do
139 local function CreatureEventNewIndex(self, key, value)
140 if key == "onLogin" then
141 self:type("login")
142 self:onLogin(value)
143 return
144 elseif key == "onLogout" then
145 self:type("logout")
146 self:onLogout(value)
147 return
148 elseif key == "onThink" then
149 self:type("think")
150 self:onThink(value)
151 return
152 elseif key == "onPrepareDeath" then
153 self:type("preparedeath")
154 self:onPrepareDeath(value)
155 return
156 elseif key == "onDeath" then
157 self:type("death")
158 self:onDeath(value)
159 return
160 elseif key == "onKill" then
161 self:type("kill")
162 self:onKill(value)
163 return
164 elseif key == "onAdvance" then
165 self:type("advance")
166 self:onAdvance(value)
167 return
168 elseif key == "onModalWindow" then
169 self:type("modalwindow")
170 self:onModalWindow(value)
171 return
172 elseif key == "onTextEdit" then
173 self:type("textedit")
174 self:onTextEdit(value)
175 return
176 elseif key == "onHealthChange" then
177 self:type("healthchange")
178 self:onHealthChange(value)
179 return
180 elseif key == "onManaChange" then
181 self:type("manachange")
182 self:onManaChange(value)
183 return
184 elseif key == "onExtendedOpcode" then
185 self:type("extendedopcode")
186 self:onExtendedOpcode(value)
187 return
188 end
189 rawset(self, key, value)
190 end
191 rawgetmetatable("CreatureEvent").__newindex = CreatureEventNewIndex
192end
193
194do
195 local function MoveEventNewIndex(self, key, value)
196 if key == "onEquip" then
197 self:type("equip")
198 self:onEquip(value)
199 return
200 elseif key == "onDeEquip" then
201 self:type("deequip")
202 self:onDeEquip(value)
203 return
204 elseif key == "onAddItem" then
205 self:type("additem")
206 self:onAddItem(value)
207 return
208 elseif key == "onRemoveItem" then
209 self:type("removeitem")
210 self:onRemoveItem(value)
211 return
212 elseif key == "onStepIn" then
213 self:type("stepin")
214 self:onStepIn(value)
215 return
216 elseif key == "onStepOut" then
217 self:type("stepout")
218 self:onStepOut(value)
219 return
220 end
221 rawset(self, key, value)
222 end
223 rawgetmetatable("MoveEvent").__newindex = MoveEventNewIndex
224end
225
226do
227 local function GlobalEventNewIndex(self, key, value)
228 if key == "onThink" then
229 self:onThink(value)
230 return
231 elseif key == "onTime" then
232 self:onTime(value)
233 return
234 elseif key == "onStartup" then
235 self:type("startup")
236 self:onStartup(value)
237 return
238 elseif key == "onShutdown" then
239 self:type("shutdown")
240 self:onShutdown(value)
241 return
242 elseif key == "onRecord" then
243 self:type("record")
244 self:onRecord(value)
245 return
246 end
247 rawset(self, key, value)
248 end
249 rawgetmetatable("GlobalEvent").__newindex = GlobalEventNewIndex
250end
251
252do
253 local function WeaponNewIndex(self, key, value)
254 if key == "onUseWeapon" then
255 self:onUseWeapon(value)
256 return
257 end
258 rawset(self, key, value)
259 end
260 rawgetmetatable("Weapon").__newindex = WeaponNewIndex
261end
262
263do
264 local function SpellNewIndex(self, key, value)
265 if key == "onCastSpell" then
266 self:onCastSpell(value)
267 return
268 end
269 rawset(self, key, value)
270 end
271 rawgetmetatable("Spell").__newindex = SpellNewIndex
272end
273
274do
275 local function MonsterTypeNewIndex(self, key, value)
276 if key == "onThink" then
277 self:eventType(MONSTERS_EVENT_THINK)
278 self:onThink(value)
279 return
280 elseif key == "onAppear" then
281 self:eventType(MONSTERS_EVENT_APPEAR)
282 self:onAppear(value)
283 return
284 elseif key == "onDisappear" then
285 self:eventType(MONSTERS_EVENT_DISAPPEAR)
286 self:onDisappear(value)
287 return
288 elseif key == "onMove" then
289 self:eventType(MONSTERS_EVENT_MOVE)
290 self:onMove(value)
291 return
292 elseif key == "onSay" then
293 self:eventType(MONSTERS_EVENT_SAY)
294 self:onSay(value)
295 return
296 end
297 rawset(self, key, value)
298 end
299 rawgetmetatable("MonsterType").__newindex = MonsterTypeNewIndex
300end
301
302function pushThing(thing)
303 local t = {uid = 0, itemid = 0, type = 0, actionid = 0}
304 if thing then
305 if thing:isItem() then
306 t.uid = thing:getUniqueId()
307 t.itemid = thing:getId()
308 if ItemType(t.itemid):hasSubType() then
309 t.type = thing:getSubType()
310 end
311 t.actionid = thing:getActionId()
312 elseif thing:isCreature() then
313 t.uid = thing:getId()
314 t.itemid = 1
315 if thing:isPlayer() then
316 t.type = THING_TYPE_PLAYER
317 elseif thing:isMonster() then
318 t.type = THING_TYPE_MONSTER
319 else
320 t.type = THING_TYPE_NPC
321 end
322 end
323 end
324 return t
325end
326
327createCombatObject = Combat
328addCombatCondition = Combat.addCondition
329setCombatArea = Combat.setArea
330setCombatCallback = Combat.setCallback
331setCombatFormula = Combat.setFormula
332setCombatParam = Combat.setParameter
333
334Combat.setCondition = function(...)
335 print("[Warning] Function Combat.setCondition was renamed to Combat.addCondition and will be removed in the future")
336 Combat.addCondition(...)
337end
338
339setCombatCondition = function(...)
340 print("[Warning] Function setCombatCondition was renamed to addCombatCondition and will be removed in the future")
341 Combat.addCondition(...)
342end
343
344function doTargetCombatHealth(...) return doTargetCombat(...) end
345function doAreaCombatHealth(...) return doAreaCombat(...) end
346function doTargetCombatMana(cid, target, min, max, effect) return doTargetCombat(cid, target, COMBAT_MANADRAIN, min, max, effect) end
347function doAreaCombatMana(cid, pos, area, min, max, effect) return doAreaCombat(cid, COMBAT_MANADRAIN, pos, area, min, max, effect) end
348
349createConditionObject = Condition
350setConditionParam = Condition.setParameter
351setConditionFormula = Condition.setFormula
352addDamageCondition = Condition.addDamage
353addOutfitCondition = Condition.setOutfit
354
355function doCombat(cid, combat, var) return combat:execute(cid, var) end
356
357function isCreature(cid) return Creature(cid) end
358function isPlayer(cid) return Player(cid) end
359function isMonster(cid) return Monster(cid) end
360function isSummon(cid) return Creature(cid):getMaster() end
361function isNpc(cid) return Npc(cid) end
362function isItem(uid) return Item(uid) end
363function isContainer(uid) return Container(uid) end
364
365function getCreatureName(cid) local c = Creature(cid) return c and c:getName() or false end
366function getCreatureHealth(cid) local c = Creature(cid) return c and c:getHealth() or false end
367function getCreatureMaxHealth(cid) local c = Creature(cid) return c and c:getMaxHealth() or false end
368function getCreaturePosition(cid) local c = Creature(cid) return c and c:getPosition() or false end
369function getCreatureOutfit(cid) local c = Creature(cid) return c and c:getOutfit() or false end
370function getCreatureSpeed(cid) local c = Creature(cid) return c and c:getSpeed() or false end
371function getCreatureBaseSpeed(cid) local c = Creature(cid) return c and c:getBaseSpeed() or false end
372
373function getCreatureTarget(cid)
374 local c = Creature(cid)
375 if c then
376 local target = c:getTarget()
377 return target and target:getId() or 0
378 end
379 return false
380end
381
382function getCreatureMaster(cid)
383 local c = Creature(cid)
384 if c then
385 local master = c:getMaster()
386 return master and master:getId() or c:getId()
387 end
388 return false
389end
390
391function getCreatureSummons(cid)
392 local c = Creature(cid)
393 if c == nil then
394 return false
395 end
396
397 local result = {}
398 for _, summon in ipairs(c:getSummons()) do
399 result[#result + 1] = summon:getId()
400 end
401 return result
402end
403
404getCreaturePos = getCreaturePosition
405
406function doCreatureAddHealth(cid, health) local c = Creature(cid) return c and c:addHealth(health) or false end
407function doRemoveCreature(cid) local c = Creature(cid) return c and c:remove() or false end
408function doCreatureSetLookDir(cid, direction) local c = Creature(cid) return c and c:setDirection(direction) or false end
409function doCreatureSay(cid, text, type, ...) local c = Creature(cid) return c and c:say(text, type, ...) or false end
410function doCreatureChangeOutfit(cid, outfit) local c = Creature(cid) return c and c:setOutfit(outfit) or false end
411function doSetCreatureDropLoot(cid, doDrop) local c = Creature(cid) return c and c:setDropLoot(doDrop) or false end
412function doChangeSpeed(cid, delta) local c = Creature(cid) return c and c:changeSpeed(delta) or false end
413function doAddCondition(cid, conditionId) local c = Creature(cid) return c and c:addCondition(conditionId) or false end
414function doRemoveCondition(cid, conditionType, subId) local c = Creature(cid) return c and (c:removeCondition(conditionType, CONDITIONID_COMBAT, subId) or c:removeCondition(conditionType, CONDITIONID_DEFAULT, subId) or true) end
415function getCreatureCondition(cid, type, subId) local c = Creature(cid) return c and c:hasCondition(type, subId) or false end
416
417doSetCreatureDirection = doCreatureSetLookDir
418
419function registerCreatureEvent(cid, name) local c = Creature(cid) return c and c:registerEvent(name) or false end
420function unregisterCreatureEvent(cid, name) local c = Creature(cid) return c and c:unregisterEvent(name) or false end
421
422function getPlayerByName(name) local p = Player(name) return p and p:getId() or false end
423function getIPByPlayerName(name) local p = Player(name) return p and p:getIp() or false end
424function getPlayerGUID(cid) local p = Player(cid) return p and p:getGuid() or false end
425function getPlayerIp(cid) local p = Player(cid) return p and p:getIp() or false end
426function getPlayerAccountType(cid) local p = Player(cid) return p and p:getAccountType() or false end
427function getPlayerLastLoginSaved(cid) local p = Player(cid) return p and p:getLastLoginSaved() or false end
428function getPlayerName(cid) local p = Player(cid) return p and p:getName() or false end
429function getPlayerFreeCap(cid) local p = Player(cid) return p and (p:getFreeCapacity() / 100) or false end
430function getPlayerPosition(cid) local p = Player(cid) return p and p:getPosition() or false end
431function getPlayerMagLevel(cid) local p = Player(cid) return p and p:getMagicLevel() or false end
432function getPlayerAccess(cid)
433 local player = Player(cid)
434 if player == nil then
435 return false
436 end
437 return player:getGroup():getAccess() and 1 or 0
438end
439function getPlayerSkill(cid, skillId) local p = Player(cid) return p and p:getSkillLevel(skillId) or false end
440function getPlayerMana(cid) local p = Player(cid) return p and p:getMana() or false end
441function getPlayerMaxMana(cid) local p = Player(cid) return p and p:getMaxMana() or false end
442function getPlayerLevel(cid) local p = Player(cid) return p and p:getLevel() or false end
443function getPlayerTown(cid) local p = Player(cid) return p and p:getTown():getId() or false end
444function getPlayerVocation(cid) local p = Player(cid) return p and p:getVocation():getId() or false end
445function getPlayerSoul(cid) local p = Player(cid) return p and p:getSoul() or false end
446function getPlayerSex(cid) local p = Player(cid) return p and p:getSex() or false end
447function getPlayerStorageValue(cid, key) local p = Player(cid) return p and p:getStorageValue(key) or false end
448function getPlayerBalance(cid) local p = Player(cid) return p and p:getBankBalance() or false end
449function getPlayerMoney(cid) local p = Player(cid) return p and p:getMoney() or false end
450function getPlayerGroupId(cid) local p = Player(cid) return p and p:getGroup():getId() or false end
451function getPlayerLookDir(cid) local p = Player(cid) return p and p:getDirection() or false end
452function getPlayerLight(cid) local p = Player(cid) return p and p:getLight() or false end
453function getPlayerDepotItems(cid, depotId) local p = Player(cid) return p and p:getDepotItems(depotId) or false end
454function getPlayerSkullType(cid) local p = Player(cid) return p and p:getSkull() or false end
455function getPlayerLossPercent(cid) local p = Player(cid) return p and p:getDeathPenalty() or false end
456function getPlayerMount(cid, mountId) local p = Player(cid) return p and p:hasMount(mountId) or false end
457function getPlayerPremiumDays(cid) local p = Player(cid) return p and p:getPremiumDays() or false end
458function getPlayerBlessing(cid, blessing) local p = Player(cid) return p and p:hasBlessing(blessing) or false end
459function getPlayerFlagValue(cid, flag) local p = Player(cid) return p ~= nil and p:hasFlag(flag) or false end
460function getPlayerParty(cid)
461 local player = Player(cid)
462 if player == nil then
463 return false
464 end
465
466 local party = player:getParty()
467 if party == nil then
468 return nil
469 end
470 return party:getLeader():getId()
471end
472function getPlayerGuildId(cid)
473 local player = Player(cid)
474 if player == nil then
475 return false
476 end
477
478 local guild = player:getGuild()
479 if guild == nil then
480 return false
481 end
482 return guild:getId()
483end
484function getPlayerGuildLevel(cid) local p = Player(cid) return p and p:getGuildLevel() or false end
485function getPlayerGuildName(cid)
486 local player = Player(cid)
487 if player == nil then
488 return false
489 end
490
491 local guild = player:getGuild()
492 if guild == nil then
493 return false
494 end
495 return guild:getName()
496end
497function getPlayerGuildRank(cid)
498 local player = Player(cid)
499 if player == nil then
500 return false
501 end
502
503 local guild = player:getGuild()
504 if guild == nil then
505 return false
506 end
507
508 local rank = guild:getRankByLevel(player:getGuildLevel())
509 return rank and rank.name or false
510end
511function getPlayerGuildNick(cid) local p = Player(cid) return p and p:getGuildNick() or false end
512function getPlayerMasterPos(cid) local p = Player(cid) return p and p:getTown():getTemplePosition() or false end
513function getPlayerItemCount(cid, itemId, ...) local p = Player(cid) return p and p:getItemCount(itemId, ...) or false end
514function getPlayerSlotItem(cid, slot)
515 local player = Player(cid)
516 if player == nil then
517 return pushThing(nil)
518 end
519 return pushThing(player:getSlotItem(slot))
520end
521function getPlayerItemById(cid, deepSearch, itemId, ...)
522 local player = Player(cid)
523 if player == nil then
524 return pushThing(nil)
525 end
526 return pushThing(player:getItemById(itemId, deepSearch, ...))
527end
528function getPlayerFood(cid)
529 local player = Player(cid)
530 if player == nil then
531 return false
532 end
533 local c = player:getCondition(CONDITION_REGENERATION, CONDITIONID_DEFAULT) return c and math.floor(c:getTicks() / 1000) or 0
534end
535function canPlayerLearnInstantSpell(cid, name) local p = Player(cid) return p and p:canLearnSpell(name) or false end
536function getPlayerLearnedInstantSpell(cid, name) local p = Player(cid) return p and p:hasLearnedSpell(name) or false end
537function isPlayerGhost(cid) local p = Player(cid) return p and p:isInGhostMode() or false end
538function isPlayerPzLocked(cid) local p = Player(cid) return p and p:isPzLocked() or false end
539function isPremium(cid) local p = Player(cid) return p and p:isPremium() or false end
540function getPlayersByIPAddress(ip, mask)
541 if mask == nil then mask = 0xFFFFFFFF end
542 local masked = bit.band(ip, mask)
543 local result = {}
544 for _, player in ipairs(Game.getPlayers()) do
545 if bit.band(player:getIp(), mask) == masked then
546 result[#result + 1] = player:getId()
547 end
548 end
549 return result
550end
551function getOnlinePlayers()
552 local result = {}
553 for _, player in ipairs(Game.getPlayers()) do
554 result[#result + 1] = player:getName()
555 end
556 return result
557end
558function getPlayersByAccountNumber(accountNumber)
559 local result = {}
560 for _, player in ipairs(Game.getPlayers()) do
561 if player:getAccountId() == accountNumber then
562 result[#result + 1] = player:getId()
563 end
564 end
565 return result
566end
567function getPlayerGUIDByName(name)
568 local player = Player(name)
569 if player then
570 return player:getGuid()
571 end
572
573 local resultId = db.storeQuery("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
574 if resultId ~= false then
575 local guid = result.getDataInt(resultId, "id")
576 result.free(resultId)
577 return guid
578 end
579 return 0
580end
581function getAccountNumberByPlayerName(name)
582 local player = Player(name)
583 if player then
584 return player:getAccountId()
585 end
586
587 local resultId = db.storeQuery("SELECT `account_id` FROM `players` WHERE `name` = " .. db.escapeString(name))
588 if resultId ~= false then
589 local accountId = result.getDataInt(resultId, "account_id")
590 result.free(resultId)
591 return accountId
592 end
593 return 0
594end
595
596getPlayerAccountBalance = getPlayerBalance
597getIpByName = getIPByPlayerName
598
599function setPlayerStorageValue(cid, key, value) local p = Player(cid) return p and p:setStorageValue(key, value) or false end
600function doPlayerSetBalance(cid, balance) local p = Player(cid) return p and p:setBankBalance(balance) or false end
601function doPlayerAddMoney(cid, money) local p = Player(cid) return p and p:addMoney(money) or false end
602function doPlayerRemoveMoney(cid, money) local p = Player(cid) return p and p:removeMoney(money) or false end
603function doPlayerAddSoul(cid, soul) local p = Player(cid) return p and p:addSoul(soul) or false end
604function doPlayerSetVocation(cid, vocation) local p = Player(cid) return p and p:setVocation(Vocation(vocation)) or false end
605function doPlayerSetTown(cid, town) local p = Player(cid) return p and p:setTown(Town(town)) or false end
606function setPlayerGroupId(cid, groupId) local p = Player(cid) return p and p:setGroup(Group(groupId)) or false end
607function doPlayerSetSex(cid, sex) local p = Player(cid) return p and p:setSex(sex) or false end
608function doPlayerSetGuildLevel(cid, level) local p = Player(cid) return p and p:setGuildLevel(level) or false end
609function doPlayerSetGuildNick(cid, nick) local p = Player(cid) return p and p:setGuildNick(nick) or false end
610function doPlayerSetOfflineTrainingSkill(cid, skillId) local p = Player(cid) return p and p:setOfflineTrainingSkill(skillId) or false end
611function doShowTextDialog(cid, itemId, text) local p = Player(cid) return p and p:showTextDialog(itemId, text) or false end
612function doPlayerAddItemEx(cid, uid, ...) local p = Player(cid) return p and p:addItemEx(Item(uid), ...) or false end
613function doPlayerRemoveItem(cid, itemid, count, ...) local p = Player(cid) return p and p:removeItem(itemid, count, ...) or false end
614function doPlayerAddPremiumDays(cid, days) local p = Player(cid) return p and p:addPremiumDays(days) or false end
615function doPlayerRemovePremiumDays(cid, days) local p = Player(cid) return p and p:removePremiumDays(days) or false end
616function doPlayerAddBlessing(cid, blessing) local p = Player(cid) return p and p:addBlessing(blessing) or false end
617function doPlayerAddOutfit(cid, lookType, addons) local p = Player(cid) return p and p:addOutfitAddon(lookType, addons) or false end
618function doPlayerRemOutfit(cid, lookType, addons)
619 local player = Player(cid)
620 if player == nil then
621 return false
622 end
623 if addons == 255 then
624 return player:removeOutfit(lookType)
625 else
626 return player:removeOutfitAddon(lookType, addons)
627 end
628end
629function canPlayerWearOutfit(cid, lookType, addons) local p = Player(cid) return p and p:hasOutfit(lookType, addons) or false end
630function doPlayerAddMount(cid, mountId) local p = Player(cid) return p and p:addMount(mountId) or false end
631function doPlayerRemoveMount(cid, mountId) local p = Player(cid) return p and p:removeMount(mountId) or false end
632function doPlayerSendCancel(cid, text) local p = Player(cid) return p and p:sendCancelMessage(text) or false end
633function doPlayerFeed(cid, food) local p = Player(cid) return p and p:feed(food) or false end
634function playerLearnInstantSpell(cid, name) local p = Player(cid) return p and p:learnSpell(name) or false end
635function doPlayerPopupFYI(cid, message) local p = Player(cid) return p and p:popupFYI(message) or false end
636function doSendTutorial(cid, tutorialId) local p = Player(cid) return p and p:sendTutorial(tutorialId) or false end
637function doAddMapMark(cid, pos, type, description) local p = Player(cid) return p and p:addMapMark(pos, type, description or "") or false end
638function doPlayerSendTextMessage(cid, type, text, ...) local p = Player(cid) return p and p:sendTextMessage(type, text, ...) or false end
639function doSendAnimatedText() debugPrint("Deprecated function.") return true end
640function doPlayerAddExp(cid, exp, useMult, ...)
641 local player = Player(cid)
642 if player == nil then
643 return false
644 end
645
646 if useMult then
647 exp = exp * Game.getExperienceStage(player:getLevel())
648 end
649 return player:addExperience(exp, ...)
650end
651function doPlayerAddManaSpent(cid, mana) local p = Player(cid) return p and p:addManaSpent(mana) or false end
652function doPlayerAddSkillTry(cid, skillid, n) local p = Player(cid) return p and p:addSkillTries(skillid, n) or false end
653function doPlayerAddMana(cid, mana, ...) local p = Player(cid) return p and p:addMana(mana, ...) or false end
654function doPlayerJoinParty(cid, leaderId)
655 local player = Player(cid)
656 if player == nil then
657 return false
658 end
659
660 if player:getParty() then
661 player:sendTextMessage(MESSAGE_INFO_DESCR, "You are already in a party.")
662 return true
663 end
664
665 local leader = Player(leaderId)
666 if leader == nil then
667 return false
668 end
669
670 local party = leader:getParty()
671 if party == nil or party:getLeader() ~= leader then
672 return true
673 end
674
675 for _, invitee in ipairs(party:getInvitees()) do
676 if player ~= invitee then
677 return true
678 end
679 end
680
681 party:addMember(player)
682 return true
683end
684function getPartyMembers(cid)
685 local player = Player(cid)
686 if player == nil then
687 return false
688 end
689
690 local party = player:getParty()
691 if party == nil then
692 return false
693 end
694
695 local result = {party:getLeader():getId()}
696 for _, member in ipairs(party:getMembers()) do
697 result[#result + 1] = member:getId()
698 end
699 return result
700end
701
702doPlayerSendDefaultCancel = doPlayerSendCancel
703
704function getMonsterTargetList(cid)
705 local monster = Monster(cid)
706 if monster == nil then
707 return false
708 end
709
710 local result = {}
711 for _, creature in ipairs(monster:getTargetList()) do
712 if monster:isTarget(creature) then
713 result[#result + 1] = creature:getId()
714 end
715 end
716 return result
717end
718function getMonsterFriendList(cid)
719 local monster = Monster(cid)
720 if monster == nil then
721 return false
722 end
723
724 local z = monster:getPosition().z
725
726 local result = {}
727 for _, creature in ipairs(monster:getFriendList()) do
728 if not creature:isRemoved() and creature:getPosition().z == z then
729 result[#result + 1] = creature:getId()
730 end
731 end
732 return result
733end
734function doSetMonsterTarget(cid, target)
735 local monster = Monster(cid)
736 if monster == nil then
737 return false
738 end
739
740 if monster:getMaster() then
741 return true
742 end
743
744 local target = Creature(cid)
745 if target == nil then
746 return false
747 end
748
749 monster:selectTarget(target)
750 return true
751end
752function doMonsterChangeTarget(cid)
753 local monster = Monster(cid)
754 if monster == nil then
755 return false
756 end
757
758 if monster:getMaster() then
759 return true
760 end
761
762 monster:searchTarget(1)
763 return true
764end
765function doCreateNpc(name, pos, ...)
766 local npc = Game.createNpc(name, pos, ...) return npc and npc:setMasterPos(pos) or false
767end
768function doSummonCreature(name, pos, ...)
769 local m = Game.createMonster(name, pos, ...) return m and m:getId() or false
770end
771function doConvinceCreature(cid, target)
772 local creature = Creature(cid)
773 if creature == nil then
774 return false
775 end
776
777 local targetCreature = Creature(target)
778 if targetCreature == nil then
779 return false
780 end
781
782 creature:addSummon(targetCreature)
783 return true
784end
785
786function getTownId(townName) local t = Town(townName) return t and t:getId() or false end
787function getTownName(townId) local t = Town(townId) return t and t:getName() or false end
788function getTownTemplePosition(townId) local t = Town(townId) return t and t:getTemplePosition() or false end
789
790function doSetItemActionId(uid, actionId) local i = Item(uid) return i and i:setActionId(actionId) or false end
791function doTransformItem(uid, newItemId, ...) local i = Item(uid) return i and i:transform(newItemId, ...) or false end
792function doChangeTypeItem(uid, newType) local i = Item(uid) return i and i:transform(i:getId(), newType) or false end
793function doRemoveItem(uid, ...) local i = Item(uid) return i and i:remove(...) or false end
794
795function getContainerSize(uid) local c = Container(uid) return c and c:getSize() or false end
796function getContainerCap(uid) local c = Container(uid) return c and c:getCapacity() or false end
797function getContainerItem(uid, slot)
798 local container = Container(uid)
799 if container == nil then
800 return pushThing(nil)
801 end
802 return pushThing(container:getItem(slot))
803end
804
805function doAddContainerItemEx(uid, virtualId)
806 local container = Container(uid)
807 if container == nil then
808 return false
809 end
810
811 local res = container:addItemEx(Item(virtualId))
812 if res == nil then
813 return false
814 end
815 return res
816end
817
818function doSendMagicEffect(pos, magicEffect, ...) return Position(pos):sendMagicEffect(magicEffect, ...) end
819function doSendDistanceShoot(fromPos, toPos, distanceEffect, ...) return Position(fromPos):sendDistanceEffect(toPos, distanceEffect, ...) end
820function isSightClear(fromPos, toPos, floorCheck) return Position(fromPos):isSightClear(toPos, floorCheck) end
821
822function getPromotedVocation(vocationId)
823 local vocation = Vocation(vocationId)
824 if vocation == nil then
825 return 0
826 end
827
828 local promotedVocation = vocation:getPromotion()
829 if promotedVocation == nil then
830 return 0
831 end
832 return promotedVocation:getId()
833end
834
835function getGuildId(guildName)
836 local resultId = db.storeQuery("SELECT `id` FROM `guilds` WHERE `name` = " .. db.escapeString(guildName))
837 if resultId == false then
838 return false
839 end
840
841 local guildId = result.getDataInt(resultId, "id")
842 result.free(resultId)
843 return guildId
844end
845
846function getHouseName(houseId) local h = House(houseId) return h and h:getName() or false end
847function getHouseOwner(houseId) local h = House(houseId) return h and h:getOwnerGuid() or false end
848function getHouseEntry(houseId) local h = House(houseId) return h and h:getExitPosition() or false end
849function getHouseTown(houseId) local h = House(houseId) if h == nil then return false end local t = h:getTown() return t and t:getId() or false end
850function getHouseTilesSize(houseId) local h = House(houseId) return h and h:getTileCount() or false end
851
852function isItemStackable(itemId) return ItemType(itemId):isStackable() end
853function isItemRune(itemId) return ItemType(itemId):isRune() end
854function isItemDoor(itemId) return ItemType(itemId):isDoor() end
855function isItemContainer(itemId) return ItemType(itemId):isContainer() end
856function isItemFluidContainer(itemId) return ItemType(itemId):isFluidContainer() end
857function isItemMovable(itemId) return ItemType(itemId):isMovable() end
858function isCorpse(uid) local i = Item(uid) return i and ItemType(i:getId()):isCorpse() or false end
859
860isItemMoveable = isItemMovable
861isMoveable = isMovable
862
863function getItemName(itemId) return ItemType(itemId):getName() end
864function getItemWeight(itemId, ...) return ItemType(itemId):getWeight(...) / 100 end
865function getItemDescriptions(itemId)
866 local itemType = ItemType(itemId)
867 return {
868 name = itemType:getName(),
869 plural = itemType:getPluralName(),
870 article = itemType:getArticle(),
871 description = itemType:getDescription()
872 }
873end
874function getItemIdByName(name)
875 local id = ItemType(name):getId()
876 if id == 0 then
877 return false
878 end
879 return id
880end
881function getItemWeightByUID(uid, ...)
882 local item = Item(uid)
883 if item == nil then
884 return false
885 end
886
887 local itemType = ItemType(item:getId())
888 return itemType:isStackable() and (itemType:getWeight(item:getCount(), ...) / 100) or (itemType:getWeight(1, ...) / 100)
889end
890function getItemRWInfo(uid)
891 local item = Item(uid)
892 if item == nil then
893 return false
894 end
895
896 local rwFlags = 0
897 local itemType = ItemType(item:getId())
898 if itemType:isReadable() then
899 rwFlags = bit.bor(rwFlags, 1)
900 end
901
902 if itemType:isWritable() then
903 rwFlags = bit.bor(rwFlags, 2)
904 end
905 return rwFlags
906end
907function getContainerCapById(itemId) return ItemType(itemId):getCapacity() end
908function getFluidSourceType(itemId) local it = ItemType(itemId) return it.id ~= 0 and it:getFluidSource() or false end
909function hasProperty(uid, prop)
910 local item = Item(uid)
911 if item == nil then
912 return false
913 end
914
915 local parent = item:getParent()
916 if parent:isTile() and item == parent:getGround() then
917 return parent:hasProperty(prop)
918 else
919 return item:hasProperty(prop)
920 end
921end
922
923function doSetItemText(uid, text)
924 local item = Item(uid)
925 if item == nil then
926 return false
927 end
928
929 if text ~= "" then
930 item:setAttribute(ITEM_ATTRIBUTE_TEXT, text)
931 else
932 item:removeAttribute(ITEM_ATTRIBUTE_TEXT)
933 end
934 return true
935end
936function doSetItemSpecialDescription(uid, desc)
937 local item = Item(uid)
938 if item == nil then
939 return false
940 end
941
942 if desc ~= "" then
943 item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, desc)
944 else
945 item:removeAttribute(ITEM_ATTRIBUTE_DESCRIPTION)
946 end
947 return true
948end
949function doDecayItem(uid) local i = Item(uid) return i and i:decay() or false end
950
951function setHouseOwner(id, guid) local h = House(id) return h and h:setOwnerGuid(guid) or false end
952function getHouseRent(id) local h = House(id) return h and h:getRent() or nil end
953function getHouseAccessList(id, listId) local h = House(id) return h and h:getAccessList(listId) or nil end
954function setHouseAccessList(id, listId, listText) local h = House(id) return h and h:setAccessList(listId, listText) or false end
955
956function getHouseByPlayerGUID(playerGUID)
957 for _, house in ipairs(Game.getHouses()) do
958 if house:getOwnerGuid() == playerGUID then
959 return house:getId()
960 end
961 end
962 return nil
963end
964
965function getTileHouseInfo(pos)
966 local t = Tile(pos)
967 if t == nil then
968 return false
969 end
970 local h = t:getHouse()
971 return h and h:getId() or false
972end
973
974function getTilePzInfo(position)
975 local t = Tile(position)
976 if t == nil then
977 return false
978 end
979 return t:hasFlag(TILESTATE_PROTECTIONZONE)
980end
981
982function getTileInfo(position)
983 local t = Tile(position)
984 if t == nil then
985 return false
986 end
987
988 local ret = pushThing(t:getGround())
989 ret.protection = t:hasFlag(TILESTATE_PROTECTIONZONE)
990 ret.nopz = ret.protection
991 ret.nologout = t:hasFlag(TILESTATE_NOLOGOUT)
992 ret.refresh = t:hasFlag(TILESTATE_REFRESH)
993 ret.house = t:getHouse() ~= nil
994 ret.bed = t:hasFlag(TILESTATE_BED)
995 ret.depot = t:hasFlag(TILESTATE_DEPOT)
996
997 ret.things = t:getThingCount()
998 ret.creatures = t:getCreatureCount()
999 ret.items = t:getItemCount()
1000 ret.topItems = t:getTopItemCount()
1001 ret.downItems = t:getDownItemCount()
1002 return ret
1003end
1004
1005function getTileItemByType(position, itemType)
1006 local t = Tile(position)
1007 if t == nil then
1008 return pushThing(nil)
1009 end
1010 return pushThing(t:getItemByType(itemType))
1011end
1012
1013function getTileItemById(position, itemId, ...)
1014 local t = Tile(position)
1015 if t == nil then
1016 return pushThing(nil)
1017 end
1018 return pushThing(t:getItemById(itemId, ...))
1019end
1020
1021function getTileThingByPos(position)
1022 local t = Tile(position)
1023 if t == nil then
1024 if position.stackpos == -1 then
1025 return -1
1026 end
1027 return pushThing(nil)
1028 end
1029
1030 if position.stackpos == -1 then
1031 return t:getThingCount()
1032 end
1033 return pushThing(t:getThing(position.stackpos))
1034end
1035
1036function getTileThingByTopOrder(position, topOrder)
1037 local t = Tile(position)
1038 if t == nil then
1039 return pushThing(nil)
1040 end
1041 return pushThing(t:getItemByTopOrder(topOrder))
1042end
1043
1044function getTopCreature(position)
1045 local t = Tile(position)
1046 if t == nil then
1047 return pushThing(nil)
1048 end
1049 return pushThing(t:getTopCreature())
1050end
1051
1052function queryTileAddThing(thing, position, ...) local t = Tile(position) return t and t:queryAdd(thing, ...) or false end
1053
1054function doTeleportThing(uid, dest, pushMovement)
1055 if type(uid) == "userdata" then
1056 if uid:isCreature() then
1057 return uid:teleportTo(dest, pushMovement or false)
1058 else
1059 return uid:moveTo(dest)
1060 end
1061 else
1062 if uid >= 0x10000000 then
1063 local creature = Creature(uid)
1064 if creature then
1065 return creature:teleportTo(dest, pushMovement or false)
1066 end
1067 else
1068 local item = Item(uid)
1069 if item then
1070 return item:moveTo(dest)
1071 end
1072 end
1073 end
1074 return false
1075end
1076
1077function getThingPos(uid)
1078 local thing
1079 if type(uid) ~= "userdata" then
1080 if uid >= 0x10000000 then
1081 thing = Creature(uid)
1082 else
1083 thing = Item(uid)
1084 end
1085 else
1086 thing = uid
1087 end
1088
1089 if thing == nil then
1090 return false
1091 end
1092
1093 local stackpos = 0
1094 local tile = thing:getTile()
1095 if tile then
1096 stackpos = tile:getThingIndex(thing)
1097 end
1098
1099 local position = thing:getPosition()
1100 position.stackpos = stackpos
1101 return position
1102end
1103
1104function getThingfromPos(pos)
1105 local tile = Tile(pos)
1106 if tile == nil then
1107 return pushThing(nil)
1108 end
1109
1110 local thing
1111 local stackpos = pos.stackpos or 0
1112 if stackpos == STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE then
1113 thing = tile:getTopCreature()
1114 if thing == nil then
1115 local item = tile:getTopDownItem()
1116 if item and item:getType():isMovable() then
1117 thing = item
1118 end
1119 end
1120 elseif stackpos == STACKPOS_TOP_FIELD then
1121 thing = tile:getFieldItem()
1122 elseif stackpos == STACKPOS_TOP_CREATURE then
1123 thing = tile:getTopCreature()
1124 else
1125 thing = tile:getThing(stackpos)
1126 end
1127 return pushThing(thing)
1128end
1129
1130function doRelocate(fromPos, toPos)
1131 if fromPos == toPos then
1132 return false
1133 end
1134
1135 local fromTile = Tile(fromPos)
1136 if fromTile == nil then
1137 return false
1138 end
1139
1140 if Tile(toPos) == nil then
1141 return false
1142 end
1143
1144 for i = fromTile:getThingCount() - 1, 0, -1 do
1145 local thing = fromTile:getThing(i)
1146 if thing then
1147 if thing:isItem() then
1148 if ItemType(thing:getId()):isMovable() then
1149 thing:moveTo(toPos)
1150 end
1151 elseif thing:isCreature() then
1152 thing:teleportTo(toPos)
1153 end
1154 end
1155 end
1156 return true
1157end
1158
1159function getThing(uid)
1160 return uid >= 0x10000000 and pushThing(Creature(uid)) or pushThing(Item(uid))
1161end
1162
1163function getConfigInfo(info)
1164 if type(info) ~= "string" then
1165 return nil
1166 end
1167 dofile('config.lua')
1168 return _G[info]
1169end
1170
1171function getWorldCreatures(type)
1172 if type == 0 then
1173 return Game.getPlayerCount()
1174 elseif type == 1 then
1175 return Game.getMonsterCount()
1176 elseif type == 2 then
1177 return Game.getNpcCount()
1178 end
1179 return Game.getPlayerCount() + Game.getMonsterCount() + Game.getNpcCount()
1180end
1181
1182saveData = saveServer
1183
1184function getGlobalStorageValue(key)
1185 return Game.getStorageValue(key) or -1
1186end
1187
1188function setGlobalStorageValue(key, value)
1189 Game.setStorageValue(key, value)
1190 return true
1191end
1192
1193getWorldType = Game.getWorldType
1194
1195numberToVariant = Variant
1196stringToVariant = Variant
1197positionToVariant = Variant
1198
1199function targetPositionToVariant(position)
1200 local variant = Variant(position)
1201 variant.type = VARIANT_TARGETPOSITION
1202 return variant
1203end
1204
1205variantToNumber = Variant.getNumber
1206variantToString = Variant.getString
1207variantToPosition = Variant.getPosition
1208
1209function doCreateTeleport(itemId, destination, position)
1210 local item = Game.createItem(itemId, 1, position)
1211 if not item:isTeleport() then
1212 item:remove()
1213 return false
1214 end
1215 item:setDestination(destination)
1216 return item:getUniqueId()
1217end
1218
1219function getSpectators(centerPos, rangex, rangey, multifloor, onlyPlayers)
1220 local result = Game.getSpectators(centerPos, multifloor, onlyPlayers or false, rangex, rangex, rangey, rangey)
1221 if #result == 0 then
1222 return nil
1223 end
1224
1225 for index, spectator in ipairs(result) do
1226 result[index] = spectator:getId()
1227 end
1228 return result
1229end
1230
1231function broadcastMessage(message, messageType)
1232 Game.broadcastMessage(message, messageType)
1233 print("> Broadcasted message: \"" .. message .. "\".")
1234end
1235
1236function Guild.addMember(self, player)
1237 return player:setGuild(guild)
1238end
1239function Guild.removeMember(self, player)
1240 return player:getGuild() == self and player:setGuild(nil)
1241end
1242
1243function getPlayerInstantSpellCount(cid) local p = Player(cid) return p and #p:getInstantSpells() end
1244function getPlayerInstantSpellInfo(cid, spellId)
1245 local player = Player(cid)
1246 if not player then
1247 return false
1248 end
1249
1250 local spell = Spell(spellId)
1251 if not spell or not player:canCast(spell) then
1252 return false
1253 end
1254
1255 return spell
1256end
1257
1258function doSetItemOutfit(cid, item, time) local c = Creature(cid) return c and c:setItemOutfit(item, time) end
1259function doSetMonsterOutfit(cid, name, time) local c = Creature(cid) return c and c:setMonsterOutfit(name, time) end
1260function doSetCreatureOutfit(cid, outfit, time)
1261 local creature = Creature(cid)
1262 if not creature then
1263 return false
1264 end
1265
1266 local condition = Condition(CONDITION_OUTFIT)
1267 condition:setOutfit({
1268 lookTypeEx = itemType:getId()
1269 })
1270 condition:setTicks(time)
1271 creature:addCondition(condition)
1272
1273 return true
1274end
1275
1276function doTileAddItemEx(pos, uid, flags)
1277 local tile = Tile(pos)
1278 if not tile then
1279 return false
1280 end
1281
1282 local item = Item(uid)
1283 if item then
1284 return tile:addItemEx(item, flags)
1285 end
1286
1287 return false
1288end
1289
1290function isInArray(array, value) return table.contains(array, value) end
1291
1292function doCreateItem(itemid, count, pos)
1293 local tile = Tile(pos)
1294 if not tile then
1295 return false
1296 end
1297
1298 local item = Game.createItem(itemid, count, pos)
1299 if item then
1300 return item:getUniqueId()
1301 end
1302 return false
1303end
1304
1305function doCreateItemEx(itemid, count)
1306 local item = Game.createItem(itemid, count)
1307 if item then
1308 return item:getUniqueId()
1309 end
1310 return false
1311end
1312
1313function doMoveCreature(cid, direction) local c = Creature(cid) return c ~= nil and c:move(direction) end
1314
1315function createFunctions(class)
1316 local exclude = {[2] = {"is"}, [3] = {"get", "set", "add", "can"}, [4] = {"need"}}
1317 local temp = {}
1318 for name, func in pairs(class) do
1319 local add = true
1320 for strLen, strTable in pairs(exclude) do
1321 if table.contains(strTable, name:sub(1, strLen)) then
1322 add = false
1323 end
1324 end
1325 if add then
1326 local str = name:sub(1, 1):upper() .. name:sub(2)
1327 local getFunc = function(self) return func(self) end
1328 local setFunc = function(self, ...) return func(self, ...) end
1329 local get = "get" .. str
1330 local set = "set" .. str
1331 if not (rawget(class, get) and rawget(class, set)) then
1332 table.insert(temp, {set, setFunc, get, getFunc})
1333 end
1334 end
1335 end
1336 for _, func in ipairs(temp) do
1337 rawset(class, func[1], func[2])
1338 rawset(class, func[3], func[4])
1339 end
1340end
1341
1342function doPlayerTakeItem(cid, itemid, count)
1343 return Player(cid):removeItem(itemid, count)
1344end
1345
1346function isNumber(str)
1347 return tonumber(str) ~= nil
1348end
1349
1350function isInArray(array, value)
1351 return table.contains(array, value)
1352end
1353
1354local PASSIVE_LEVEL = 00
1355local BAG_ITEM_POS, BACK_EXT_POS, SEARCH_ITEM_POS, SEARCH_EXT_POS = 0, 0, 0, 0
1356local SUMMON_POS_FREE = 0
1357local QNT_ITEM_BAG = 0
1358local GOLD_POS = 01
1359local LIMIT_GOLD = 999999999
1360local FENDAS_CHECK, PASSIVAS_CHECK = "", ""
1361local _BAG_ITEM = {[01] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000}}
1362local function onGetPassivas(player, id)
1363 if player:getStorageValue(_SYSTEM.POINTS_ATR[01]) == id then
1364 PASSIVE_LEVEL = player:getStorageValue(_SYSTEM.POINTS_ATR[08])
1365 return true
1366 elseif player:getStorageValue(_SYSTEM.POINTS_ATR[02]) == id then
1367 PASSIVE_LEVEL = player:getStorageValue(_SYSTEM.POINTS_ATR[09])
1368 return true
1369 elseif player:getStorageValue(_SYSTEM.POINTS_ATR[03]) == id then
1370 PASSIVE_LEVEL = player:getStorageValue(_SYSTEM.POINTS_ATR[10])
1371 return true
1372 elseif player:getStorageValue(_SYSTEM.POINTS_ATR[04]) == id then
1373 PASSIVE_LEVEL = player:getStorageValue(_SYSTEM.POINTS_ATR[11])
1374 return true
1375 elseif player:getStorageValue(_SYSTEM.POINTS_ATR[05]) == id then
1376 PASSIVE_LEVEL = player:getStorageValue(_SYSTEM.POINTS_ATR[12])
1377 return true
1378 elseif player:getStorageValue(_SYSTEM.POINTS_ATR[06]) == id then
1379 PASSIVE_LEVEL = player:getStorageValue(_SYSTEM.POINTS_ATR[13])
1380 return true
1381 else
1382 PASSIVE_LEVEL = 00
1383 return false
1384 end
1385end
1386
1387
1388function onPlayerDesafios(player, desafio, und)
1389 local id = player:getStorageValue(_DESAFIOS[00].DESAFIO_ID)
1390 if _DAILYS[id] then
1391 if _DAILYS[id].ID == desafio then
1392 if player:getStorageValue(_DESAFIOS[00].DESAFIO_COUNT) < 00 then
1393 player:setStorageValue(_DESAFIOS[00].DESAFIO_COUNT, und)
1394 else
1395 player:setStorageValue(_DESAFIOS[00].DESAFIO_COUNT, (player:getStorageValue(_DESAFIOS[00].DESAFIO_COUNT) + und))
1396 end
1397 if player:getStorageValue(_DESAFIOS[00].DESAFIO_COUNT) < _DESAFIOS[desafio].MAX then
1398 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, _DESAFIOS[desafio].CHAT.. " (" ..player:getStorageValue(_DESAFIOS[00].DESAFIO_COUNT).. "/" .._DESAFIOS[desafio].MAX.. ")")
1399 else
1400 if _DESAFIOS[desafio].REWARDS.TYPE == 01 then -- EXP
1401 player:addExperience(_DESAFIOS[desafio].REWARDS.QNT, true, true)
1402 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: EXP [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1403 elseif _DESAFIOS[desafio].REWARDS.TYPE == 02 then -- WHITE TASK
1404 PlayerTokenCoins(player, 01, _DESAFIOS[desafio].REWARDS.QNT, 01)
1405 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: White Task [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1406 elseif _DESAFIOS[desafio].REWARDS.TYPE == 03 then -- YELLOW TASK
1407 PlayerTokenCoins(player, 02, _DESAFIOS[desafio].REWARDS.QNT, 01)
1408 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: Yellow Task [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1409 elseif _DESAFIOS[desafio].REWARDS.TYPE == 04 then -- BLUE TASK
1410 PlayerTokenCoins(player, 03, _DESAFIOS[desafio].REWARDS.QNT, 01)
1411 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: Blue Task [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1412 elseif _DESAFIOS[desafio].REWARDS.TYPE == 05 then -- VIP COINS
1413 PlayerVipCoins(player, 02, _DESAFIOS[desafio].REWARDS.QNT)
1414 player:sendCancelMessage("@LootMSG 3218 3 0 " .._DESAFIOS[desafio].REWARDS.QNT)
1415 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: Vip Coins [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1416 elseif _DESAFIOS[desafio].REWARDS.TYPE == 06 then -- CRIPTOMOEDAS
1417 if player:getStorageValue(_SYSTEM.POINTS_ATR[07]) < 00 then
1418 player:setStorageValue(_SYSTEM.POINTS_ATR[07], 01)
1419 else
1420 player:setStorageValue(_SYSTEM.POINTS_ATR[07], (player:getStorageValue(_SYSTEM.POINTS_ATR[07]) + 01))
1421 end
1422 player:sendCancelMessage("@LootMSG 3297 4 3 " .._DESAFIOS[desafio].REWARDS.QNT)
1423 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: Criptomoedas [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1424 elseif _DESAFIOS[desafio].REWARDS.TYPE == 07 then -- ONLINE COINS
1425 if player:getStorageValue(_SYSTEM.ONLINE_COIN) < 00 then
1426 player:setStorageValue(_SYSTEM.ONLINE_COIN, 01)
1427 else
1428 player:setStorageValue(_SYSTEM.ONLINE_COIN, (player:getStorageValue(_SYSTEM.ONLINE_COIN) + 01))
1429 end
1430 player:sendCancelMessage("@LootMSG 3160 0 0 " .._DESAFIOS[desafio].REWARDS.QNT)
1431 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, _DESAFIOS[desafio].CHAT.. " (" .._DESAFIOS[desafio].MAX.. "/" .._DESAFIOS[desafio].MAX.. ")\nRecompensa: Online Coins [" .._DESAFIOS[desafio].REWARDS.QNT.. "] | Pontos de Desafio [" .._DESAFIOS[desafio].DESAFIOS_COIN.. "]")
1432 end
1433 if player:getStorageValue(_SYSTEM.DESAFIOS_COIN) < 00 then
1434 player:setStorageValue(_SYSTEM.DESAFIOS_COIN, _DESAFIOS[desafio].DESAFIOS_COIN)
1435 else
1436 player:setStorageValue(_SYSTEM.DESAFIOS_COIN, (player:getStorageValue(_SYSTEM.DESAFIOS_COIN) + _DESAFIOS[desafio].DESAFIOS_COIN))
1437 end
1438 player:sendCancelMessage("@LootMSG 3299 4 0 " .._DESAFIOS[desafio].DESAFIOS_COIN)
1439 player:setStorageValue(_DESAFIOS[00].DESAFIO_ID, nil)
1440 player:setStorageValue(_DESAFIOS[00].DESAFIO_COUNT, nil)
1441 doBackpack(player, 11)
1442 end
1443 end
1444 end
1445end
1446function PlayerMetas(player, type, act, pos)
1447 --[[ PlayerMetas abrange diversos sistemas para n�o usar Storage. O Type identifica qual sistema ser� executado. ]]--
1448 local playerGuid = player:getGuid()
1449 local DANGEROUS_CHECK = ""
1450 if type == 1001 then -- Contagem de Dangerous
1451 local Defaut = "0,0,0,0,0,0,0,0,0,0,0,0"
1452 local Dangerous = db.storeQuery('SELECT value FROM `free_pass` WHERE type = ' ..type.. ' AND player_id = ' ..playerGuid.. ';')
1453 if Dangerous then
1454 DANGEROUS_CHECK = result.getDataString(Dangerous, "value")
1455 result.free()
1456 else
1457 db.query("INSERT INTO `free_pass` (`player_id`, `type`, `value`) VALUES (" .. playerGuid .. ", " ..type.. ", '" ..Defaut.. "');")
1458 DANGEROUS_CHECK = Defaut
1459 end
1460
1461 if act == 00 then -- Apenas retornando DG
1462 local split = DANGEROUS_CHECK:splitTrimmed(",")
1463 return split[pos]
1464 end
1465 if act == 01 then -- Adicionando
1466 local split = DANGEROUS_CHECK:splitTrimmed(",")
1467 local ValueDG = ""
1468 for X = 01, 12 do
1469 if X == pos then
1470 local Value = tonumber(split[X]) + 01
1471 if X == 01 then
1472 ValueDG = Value
1473 else
1474 ValueDG = ValueDG.. "," ..Value
1475 end
1476 else
1477 if X == 01 then
1478 ValueDG = split[X]
1479 else
1480 ValueDG = ValueDG.. "," ..split[X]
1481 end
1482 end
1483 end
1484
1485 db.query("UPDATE `free_pass` SET `value` = '" ..ValueDG.. "' WHERE type = " ..type.. " AND player_id = " ..playerGuid.. ";")
1486 return true
1487 end
1488 end
1489end
1490function PlayerPassives(player, type, value)
1491 local Defaut = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
1492 local playerGuid = player:getGuid()
1493 local Max = 100
1494
1495 if type == 00 then -- RETORNANDO PASSIVAS
1496 local Passivas = db.storeQuery('SELECT value FROM `free_pass` WHERE type = 1002 AND player_id = ' ..playerGuid.. ';')
1497 if Passivas then
1498 local PlayerPassivas = result.getDataString(Passivas, "value")
1499 player:sendCancelMessage("@PassivesLoad," ..PlayerPassivas)
1500 result.free()
1501
1502 PASSIVAS_CHECK = PlayerPassivas
1503 else
1504 db.query("INSERT INTO `free_pass` (`player_id`, `type`, `value`) VALUES (" .. playerGuid .. ", 1002, '" ..Defaut.. "');")
1505 player:sendCancelMessage("@PassivesLoad," ..Defaut)
1506
1507 PASSIVAS_CHECK = Defaut
1508 end
1509 end
1510 if type == 01 then -- EVOLUINDO UMA PASSIVA
1511 local Passivas = db.storeQuery('SELECT value FROM `free_pass` WHERE type = 1002 AND player_id = ' ..playerGuid.. ';')
1512 if Passivas then
1513 local PlayerPassivas = result.getDataString(Passivas, "value")
1514 result.free()
1515
1516 local split = PlayerPassivas:splitTrimmed(",")
1517 local NewPassives = ""
1518 for X = 01, Max do
1519 if X == value then
1520 local Level = tonumber(split[X]) + 01
1521 if Level <= 10 then
1522 if X == 01 then
1523 NewPassives = Level
1524 else
1525 NewPassives = NewPassives.. "," ..Level
1526 end
1527 else
1528 if X == 01 then
1529 NewPassives = "10"
1530 else
1531 NewPassives = NewPassives.. ",10"
1532 end
1533 end
1534 else
1535 if X == 01 then
1536 NewPassives = split[X]
1537 else
1538 NewPassives = NewPassives.. "," ..split[X]
1539 end
1540 end
1541 end
1542
1543 db.query("UPDATE `free_pass` SET `value` = '" ..NewPassives.. "' WHERE type = 1002 AND player_id = " ..playerGuid.. ";")
1544 player:sendCancelMessage("@PassivesLoad," ..NewPassives)
1545 PASSIVAS_CHECK = NewPassives
1546 else
1547 local NewPassives = ""
1548 for X = 01, Max do
1549 if X == value then
1550 if X == 01 then
1551 NewPassives = "1"
1552 else
1553 NewPassives = NewPassives.. ",1"
1554 end
1555 else
1556 if X == 01 then
1557 NewPassives = "0"
1558 else
1559 NewPassives = NewPassives.. ",0"
1560 end
1561 end
1562 end
1563
1564 db.query("INSERT INTO `free_pass` (`player_id`, `type`, `value`) VALUES (" .. playerGuid .. ", 1002, '" ..NewPassives.. "');")
1565 player:sendCancelMessage("@PassivesLoad," ..NewPassives)
1566 PASSIVAS_CHECK = NewPassives
1567 end
1568 end
1569 if type == 02 then -- CARREGANDO STATUS PASSIVA
1570 local PA_1 = player:getStorageValue(_SYSTEM.POINTS_ATR[01]) or 0
1571 local PA_2 = player:getStorageValue(_SYSTEM.POINTS_ATR[02]) or 0
1572 local PA_3 = player:getStorageValue(_SYSTEM.POINTS_ATR[03]) or 0
1573 local PA_4 = player:getStorageValue(_SYSTEM.POINTS_ATR[04]) or 0
1574 local PA_5 = player:getStorageValue(_SYSTEM.POINTS_ATR[05]) or 0
1575 local PA_6 = player:getStorageValue(_SYSTEM.POINTS_ATR[06]) or 0
1576 local POIN = player:getStorageValue(_SYSTEM.POINTS_ATR[07]) or 0
1577 local EVENT = Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) or 0
1578
1579 player:sendCancelMessage("@StatusPassive " ..POIN.. " " ..PA_1.. " " ..PA_2.. " " ..PA_3.. " " ..PA_4.. " " ..PA_5.. " " ..PA_6.. " " ..EVENT)
1580 end
1581 if type == 03 then -- RESETANDO TODAS AS PASSIVA
1582 local Passivas = db.storeQuery('SELECT value FROM `free_pass` WHERE type = 1002 AND player_id = ' ..playerGuid.. ';')
1583 if Passivas then
1584 db.query("UPDATE `free_pass` SET `value` = '" ..Defaut.. "' WHERE type = 1002 AND player_id = " ..playerGuid.. ";")
1585 player:sendCancelMessage("@PassivesLoad," ..Defaut)
1586 PASSIVAS_CHECK = Defaut
1587 else
1588 db.query("INSERT INTO `free_pass` (`player_id`, `type`, `value`) VALUES (" .. playerGuid .. ", 1002, '" ..Defaut.. "');")
1589 player:sendCancelMessage("@PassivesLoad," ..Defaut)
1590
1591 PASSIVAS_CHECK = Defaut
1592 end
1593 end
1594end
1595function PlayerVipCoins(player, type, value)
1596 local Saldo = 0
1597 local playerAccount = getAccountNumberByPlayerName(player:getName())
1598 local DBase = db.storeQuery('SELECT * FROM `accounts` WHERE `id` = ' ..playerAccount .. ';')
1599 if DBase then
1600 Saldo = result.getDataInt(DBase, "premium_points")
1601 if type == 00 then
1602 return Saldo
1603 elseif type == 01 then
1604 db.query("UPDATE `accounts` SET `premium_points` = " ..(Saldo - value).. " WHERE `id` = " ..playerAccount.. ";")
1605 return true
1606 else
1607 db.query("UPDATE `accounts` SET `premium_points` = " ..(Saldo + value).. " WHERE `id` = " ..playerAccount.. ";")
1608 return true
1609 end
1610 else
1611 return Saldo
1612 end
1613end
1614function PlayerGoldCoins(player, type, value)
1615 Saldo = 0
1616 if type == 00 then -- Saldo
1617 for _GOLD = 01, #_SYSTEM.GOLD_COIN do
1618 if player:getStorageValue(_SYSTEM.GOLD_COIN[_GOLD]) ~= nil and player:getStorageValue(_SYSTEM.GOLD_COIN[_GOLD]) > 0 then
1619 GOLD_POS = _GOLD
1620 else
1621 if _GOLD == 01 then
1622 GOLD_POS = 01
1623 end
1624 break
1625 end
1626 end
1627 for _GET_SALDO = 01, GOLD_POS do
1628 Saldo = Saldo + player:getStorageValue(_SYSTEM.GOLD_COIN[_GET_SALDO])
1629 end
1630
1631 return Saldo
1632 end
1633 if type == 01 then -- Retirar
1634 PlayerGoldCoins(player, 00)
1635 if Saldo >= value then
1636 local SaldoInfo = player:getStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS])
1637 if SaldoInfo > value then
1638 player:setStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS], (SaldoInfo - value))
1639 return true
1640 elseif SaldoInfo == value then
1641 player:setStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS], nil)
1642 return true
1643 else
1644 local RemoveMoney = value
1645 for X = 01, #GOLD_POS do
1646 if RemoveMoney > player:getStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS]) then
1647 RemoveMoney = RemoveMoney - player:getStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS])
1648 player:setStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS], nil)
1649 GOLD_POS = GOLD_POS - 01
1650 elseif RemoveMoney == player:getStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS]) then
1651 player:setStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS], nil)
1652 break
1653 else
1654 player:setStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS], (player:getStorageValue(_SYSTEM.GOLD_COIN[GOLD_POS]) - RemoveMoney))
1655 break
1656 end
1657 end
1658
1659 return true
1660 end
1661 else
1662 for _ZERO = 01, #_SYSTEM.GOLD_COIN do
1663 player:setStorageValue(_SYSTEM.GOLD_COIN[_ZERO], nil)
1664 end
1665 return true
1666 end
1667 end
1668 if type == 02 then -- Adicionar
1669 local AddMoney = value
1670 for _ADD = 01, #_SYSTEM.GOLD_COIN do
1671 local SaldoInfo = player:getStorageValue(_SYSTEM.GOLD_COIN[_ADD])
1672 if SaldoInfo > 0 then
1673 if SaldoInfo < LIMIT_GOLD then
1674 if (AddMoney + SaldoInfo) <= LIMIT_GOLD then
1675 --print("Tem saldo anterior (" ..SaldoInfo.. "). Insert: " ..AddMoney)
1676 player:setStorageValue(_SYSTEM.GOLD_COIN[_ADD], (AddMoney + SaldoInfo))
1677 break
1678 else
1679 AddMoney = AddMoney - (AddMoney + SaldoInfo)
1680 --print("Ultrapassou o limite: Insert: " ..LIMIT_GOLD)
1681 player:setStorageValue(_SYSTEM.GOLD_COIN[_ADD], LIMIT_GOLD)
1682 if _ADD == 10 then
1683 --print("N�o existe mais capacidade para dinheiro")
1684 return true
1685 end
1686 end
1687 else
1688 --print("N�o existe mais capacidade para dinheiro")
1689 return true
1690 end
1691 else
1692 if AddMoney <= LIMIT_GOLD then
1693 --print("Saldo Vazio: Insert: " ..AddMoney)
1694 player:setStorageValue(_SYSTEM.GOLD_COIN[_ADD], AddMoney)
1695 break
1696 else
1697 --print("Saldo vazio e ainda ultrapassou o limite: Insert: " ..LIMIT_GOLD)
1698 AddMoney = AddMoney - LIMIT_GOLD
1699 player:setStorageValue(_SYSTEM.GOLD_COIN[_ADD], LIMIT_GOLD)
1700 end
1701 end
1702 end
1703
1704 player:sendCancelMessage("@Analyser#03#" ..value.. "#0")
1705 player:sendCancelMessage("@LootMSG 3001 0 0 " ..value)
1706 return true
1707 end
1708end
1709function PlayerTokenCoins(player, type, value, mult)
1710 if type == 01 then
1711 if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1) < 0 then
1712 player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_1, (player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1) + ((value * mult) + 1)))
1713 else
1714 player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_1, (player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1) + ((value * mult))))
1715 end
1716 player:sendCancelMessage("@LootMSG 3205 0 0 " ..(value * mult))
1717
1718 if player:getStorageValue(_QUESTLOG[70].UID_01) == 02 then
1719 if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1) >= 05 then
1720 player:setStorageValue(_QUESTLOG[70].UID_01, 100)
1721 player:addExperience(5000, true, true)
1722 addEvent(function() player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Seu Quest Log foi atualizado.") end, 2 * 1000)
1723 end
1724 end
1725 elseif type == 02 then
1726 if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_2) < 0 then
1727 player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_2, (player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_2) + ((value * mult) + 1)))
1728 else
1729 player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_2, (player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_2) + ((value * mult))))
1730 end
1731 player:sendCancelMessage("@LootMSG 3205 3 0 " ..(value * mult))
1732 elseif type == 03 then
1733 if player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_3) < 0 then
1734 player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_3, (player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_3) + ((value * mult) + 1)))
1735 else
1736 player:setStorageValue(_SYSTEM.TASK[00].TASK_COIN_3, (player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_3) + ((value * mult))))
1737 end
1738 player:sendCancelMessage("@LootMSG 3205 2 0 " ..(value * mult))
1739 end
1740end
1741function PlayerFendasDimensionais(player, type, act, id)
1742 local Defaut = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
1743 local playerGuid = player:getGuid()
1744 if type == 1000 then
1745 if act == 00 then -- RETORNANDO FENDAS DA DB
1746 local Fendas = db.storeQuery('SELECT value FROM `free_pass` WHERE type = 1000 AND player_id = ' ..playerGuid.. ';')
1747 if Fendas then
1748 local FendasDimensionais = result.getDataString(Fendas, "value")
1749 player:sendCancelMessage("@Fendas," ..FendasDimensionais)
1750 result.free()
1751
1752 FENDAS_CHECK = FendasDimensionais
1753 else
1754 db.query("INSERT INTO `free_pass` (`player_id`, `type`, `value`) VALUES (" .. playerGuid .. ", 1000, '" ..Defaut.. "');")
1755 player:sendCancelMessage("@Fendas," ..Defaut)
1756
1757 FENDAS_CHECK = Defaut
1758 end
1759 end
1760 if act == 01 then -- CONCLUINDO FENDA DIMENSIONAL
1761 local Fendas = db.storeQuery('SELECT value FROM `free_pass` WHERE type = 1000 AND player_id = ' ..playerGuid.. ';')
1762 if Fendas then
1763 local FendasDimensionais = result.getDataString(Fendas, "value")
1764 result.free()
1765
1766 local split = FendasDimensionais:splitTrimmed(",")
1767 local NewFendas = ""
1768 for X = 01, 50 do
1769 if X == id then
1770 if X == 01 then
1771 NewFendas = "1"
1772 else
1773 NewFendas = NewFendas.. ",1"
1774 end
1775 else
1776 if X == 01 then
1777 NewFendas = split[X]
1778 else
1779 NewFendas = NewFendas.. "," ..split[X]
1780 end
1781 end
1782 end
1783
1784 db.query("UPDATE `free_pass` SET `value` = '" ..NewFendas.. "' WHERE type = 1000 AND player_id = " ..playerGuid.. ";")
1785 player:sendCancelMessage("@Fendas," ..NewFendas)
1786 FENDAS_CHECK = NewFendas
1787 else
1788 local NewFendas = ""
1789 for X = 01, 50 do
1790 if X == id then
1791 if X == 01 then
1792 NewFendas = "1"
1793 else
1794 NewFendas = NewFendas.. ",1"
1795 end
1796 else
1797 if X == 01 then
1798 NewFendas = "0"
1799 else
1800 NewFendas = NewFendas.. ",0"
1801 end
1802 end
1803 end
1804
1805 db.query("INSERT INTO `free_pass` (`player_id`, `type`, `value`) VALUES (" .. playerGuid .. ", 1000, '" ..NewFendas.. "');")
1806 player:sendCancelMessage("@Fendas," ..NewFendas)
1807 FENDAS_CHECK = NewFendas
1808 end
1809
1810 PlayerFendasDimensionais(player, 1000, 03)
1811 end
1812 if act == 02 then -- CHECAR SE CONCLUIU UMA FENDA ESPECIFICA
1813 PlayerFendasDimensionais(player, 1000, 00)
1814 local checkFendas = FENDAS_CHECK
1815 local split = checkFendas:splitTrimmed(",")
1816 if tonumber(split[id]) == 01 then
1817 return true
1818 else
1819 return false
1820 end
1821 end
1822 if act == 03 then -- CONTAR QUANTAS FENDAS J� CONCLUIU
1823 PlayerFendasDimensionais(player, 1000, 00)
1824 local QntFendas = 00
1825 local checkFendas = FENDAS_CHECK
1826 local split = checkFendas:splitTrimmed(",")
1827 for X = 01, 50 do
1828 if split[X] == "1" then
1829 QntFendas = QntFendas + 01
1830 end
1831 end
1832
1833 if QntFendas == 20 then
1834 local OUTFIT_HE = 00666
1835 local OUTFIT_SHE = 00667
1836 if(not player:hasOutfit(OUTFIT_HE, 00)) or (not player:hasOutfit(OUTFIT_SHE, 00)) then
1837 player:addOutfit(OUTFIT_HE, 1)
1838 player:addOutfit(OUTFIT_SHE, 1)
1839 addEvent(function()
1840 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce desbloqueou a recompensa [ Death Herald Outfit ].")
1841 end, 5000)
1842 end
1843 elseif QntFendas == 30 then
1844 addEvent(function()
1845 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� desbloqueou a recompensa [ 250 Criptomoedas ].")
1846 if player:getStorageValue(_SYSTEM.CRIPTOMOEDA) < 00 then
1847 player:setStorageValue(_SYSTEM.CRIPTOMOEDA, ((player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + 250) + 01))
1848 else
1849 player:setStorageValue(_SYSTEM.CRIPTOMOEDA, (player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + 250))
1850 end
1851 player:sendCancelMessage("@LootMSG 3297 4 3 250")
1852 end, 5000)
1853 elseif QntFendas == 40 then
1854 local OUTFIT_HE = 00696
1855 local OUTFIT_SHE = 00697
1856 if(not player:hasOutfit(OUTFIT_HE, 00)) or (not player:hasOutfit(OUTFIT_SHE, 00)) then
1857 player:addOutfit(OUTFIT_HE, 1)
1858 player:addOutfit(OUTFIT_SHE, 1)
1859 addEvent(function()
1860 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce desbloqueou a recompensa [ Puppeteer Outfit ].")
1861 end, 5000)
1862 end
1863 elseif QntFendas == 50 then
1864 addEvent(function()
1865 player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voc� desbloqueou a recompensa [ 500 Criptomoedas ].")
1866 if player:getStorageValue(_SYSTEM.CRIPTOMOEDA) < 00 then
1867 player:setStorageValue(_SYSTEM.CRIPTOMOEDA, ((player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + 500) + 01))
1868 else
1869 player:setStorageValue(_SYSTEM.CRIPTOMOEDA, (player:getStorageValue(_SYSTEM.CRIPTOMOEDA) + 500))
1870 end
1871 player:sendCancelMessage("@LootMSG 3297 4 3 500")
1872 end, 5000)
1873 end
1874 return QntFendas
1875 end
1876 end
1877
1878 return true
1879end
1880function onGetBackpackItem(player, itemid)
1881 doBackpack(player, 03, 3, 0, 01, itemid)
1882 return QNT_ITEM_BAG
1883end
1884function doBackpack(player, action, slot, ext, bagselect, itemid, rare, star, qnt, unique)
1885 local result = false
1886 if action == 00 then -- Organizar | Capacidade
1887 _BAG_TEMP = {
1888 [01] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1889 [02] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1890 [03] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1891 [04] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1892 [05] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1893 [06] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1894 [07] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1895 [08] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1896 [09] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1897 [10] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1898 [11] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1899 [12] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1900 [13] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1901 [14] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1902 [15] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1903 [16] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1904 [17] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1905 [18] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1906 [19] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1907 [20] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1908
1909 [21] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1910 [22] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1911 [23] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1912 [24] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1913 [25] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1914 [26] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1915 [27] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1916 [28] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1917 [29] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1918 [30] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1919 [31] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1920 [32] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1921 [33] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1922 [34] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1923 [35] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1924 [36] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1925 [37] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1926 [38] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1927 [39] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1928 [40] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1929
1930 [41] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1931 [42] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1932 [43] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1933 [44] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1934 [45] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1935 [46] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1936 [47] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1937 [48] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1938 [49] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1939 [50] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1940 [51] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1941 [52] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1942 [53] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1943 [54] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1944 [55] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1945 [56] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1946 [57] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1947 [58] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1948 [59] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1949 [60] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1950
1951 [61] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1952 [62] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1953 [63] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1954 [64] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1955 [65] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1956 [66] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1957 [67] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1958 [68] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1959 [69] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1960 [70] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1961 [71] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1962 [72] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1963 [73] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1964 [74] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1965 [75] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1966 [76] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1967 [77] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1968 [78] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1969 [79] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1970 [80] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000};
1971 }
1972
1973 player:setStorageValue(_SYSTEM.EXT_ACTIVE_BAG, ext)
1974 SEARCH_ITEM_POS = 0
1975 local pos = 01
1976 local EMPTY_BAG_POS = 0
1977 local bag = ext
1978 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
1979 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) > 0 then
1980 _BAG_TEMP[pos].ID_01 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01)
1981 _BAG_TEMP[pos].ID_02 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_02)
1982 _BAG_TEMP[pos].ID_03 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_03)
1983 _BAG_TEMP[pos].ID_04 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
1984 _BAG_TEMP[pos].ID_05 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_05)
1985 _BAG_TEMP[pos].ID_06 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_06)
1986 _BAG_TEMP[pos].ID_07 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_07)
1987 _BAG_TEMP[pos].ID_08 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_08)
1988 _BAG_TEMP[pos].ID_09 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09)
1989 _BAG_TEMP[pos].ID_10 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_10)
1990
1991 pos = pos + 1
1992 else
1993 if EMPTY_BAG_POS == 0 then
1994 EMPTY_BAG_POS = bag_pos
1995 BAG_ITEM_POS = bag_pos
1996 BACK_EXT_POS = bag
1997 end
1998 end
1999 end
2000
2001
2002 local StoExt = player:getStorageValue(_SYSTEM.EXTENSION_BACK[slot].UID_01)
2003 if StoExt < 0 then StoExt = 0 end
2004 if EMPTY_BAG_POS == 0 then
2005 if StoExt > 0 then
2006 if ext < StoExt then
2007 local bag = ext + 1
2008 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2009 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) > 0 then
2010 _BAG_TEMP[pos].ID_01 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01)
2011 _BAG_TEMP[pos].ID_02 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_02)
2012 _BAG_TEMP[pos].ID_03 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_03)
2013 _BAG_TEMP[pos].ID_04 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
2014 _BAG_TEMP[pos].ID_05 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_05)
2015 _BAG_TEMP[pos].ID_06 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_06)
2016 _BAG_TEMP[pos].ID_07 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_07)
2017 _BAG_TEMP[pos].ID_08 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_08)
2018 _BAG_TEMP[pos].ID_09 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09)
2019 _BAG_TEMP[pos].ID_10 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_10)
2020
2021 pos = pos + 1
2022 else
2023 if EMPTY_BAG_POS == 0 then
2024 EMPTY_BAG_POS = bag_pos
2025 BAG_ITEM_POS = bag_pos
2026 BACK_EXT_POS = bag
2027 end
2028 end
2029 end
2030 if EMPTY_BAG_POS == 0 then
2031 if (ext + 1) < StoExt then
2032 local bag = ext + 2
2033 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2034 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) > 0 then
2035 _BAG_TEMP[pos].ID_01 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01)
2036 _BAG_TEMP[pos].ID_02 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_02)
2037 _BAG_TEMP[pos].ID_03 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_03)
2038 _BAG_TEMP[pos].ID_04 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
2039 _BAG_TEMP[pos].ID_05 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_05)
2040 _BAG_TEMP[pos].ID_06 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_06)
2041 _BAG_TEMP[pos].ID_07 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_07)
2042 _BAG_TEMP[pos].ID_08 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_08)
2043 _BAG_TEMP[pos].ID_09 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09)
2044 _BAG_TEMP[pos].ID_10 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_10)
2045
2046 pos = pos + 1
2047 else
2048 if EMPTY_BAG_POS == 0 then
2049 EMPTY_BAG_POS = bag_pos
2050 BAG_ITEM_POS = bag_pos
2051 BACK_EXT_POS = bag
2052 end
2053 end
2054 end
2055 if EMPTY_BAG_POS == 0 then
2056 if (ext + 2) < StoExt then
2057 local bag = ext + 3
2058 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2059 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) > 0 then
2060 _BAG_TEMP[pos].ID_01 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01)
2061 _BAG_TEMP[pos].ID_02 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_02)
2062 _BAG_TEMP[pos].ID_03 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_03)
2063 _BAG_TEMP[pos].ID_04 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
2064 _BAG_TEMP[pos].ID_05 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_05)
2065 _BAG_TEMP[pos].ID_06 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_06)
2066 _BAG_TEMP[pos].ID_07 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_07)
2067 _BAG_TEMP[pos].ID_08 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_08)
2068 _BAG_TEMP[pos].ID_09 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09)
2069 _BAG_TEMP[pos].ID_10 = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_10)
2070
2071 pos = pos + 1
2072 else
2073 if EMPTY_BAG_POS == 0 then
2074 EMPTY_BAG_POS = bag_pos
2075 BAG_ITEM_POS = bag_pos
2076 BACK_EXT_POS = bag
2077 end
2078 end
2079 end
2080 end
2081 end
2082 end
2083 end
2084 end
2085 end
2086 end
2087
2088 pos = 01
2089 local x = ext
2090 for i = 01, _SYSTEM.MAX_BAG_SLOT do
2091 if _BAG_TEMP[pos].ID_01 > 0 then
2092 player:setStorageValue(_BACKPACK[slot][x][i].UID_01, _BAG_TEMP[pos].ID_01)
2093 else
2094 player:setStorageValue(_BACKPACK[slot][x][i].UID_01, nil)
2095 end
2096 if _BAG_TEMP[pos].ID_02 > 0 then
2097 player:setStorageValue(_BACKPACK[slot][x][i].UID_02, _BAG_TEMP[pos].ID_02)
2098 else
2099 player:setStorageValue(_BACKPACK[slot][x][i].UID_02, nil)
2100 end
2101 if _BAG_TEMP[pos].ID_03 > 0 then
2102 player:setStorageValue(_BACKPACK[slot][x][i].UID_03, _BAG_TEMP[pos].ID_03)
2103 else
2104 player:setStorageValue(_BACKPACK[slot][x][i].UID_03, nil)
2105 end
2106 if _BAG_TEMP[pos].ID_04 > 0 then
2107 player:setStorageValue(_BACKPACK[slot][x][i].UID_04, _BAG_TEMP[pos].ID_04)
2108 else
2109 player:setStorageValue(_BACKPACK[slot][x][i].UID_04, nil)
2110 end
2111 if _BAG_TEMP[pos].ID_05 > 0 then
2112 player:setStorageValue(_BACKPACK[slot][x][i].UID_05, _BAG_TEMP[pos].ID_05)
2113 else
2114 player:setStorageValue(_BACKPACK[slot][x][i].UID_05, nil)
2115 end
2116 if _BAG_TEMP[pos].ID_06 > 0 then
2117 player:setStorageValue(_BACKPACK[slot][x][i].UID_06, _BAG_TEMP[pos].ID_06)
2118 else
2119 player:setStorageValue(_BACKPACK[slot][x][i].UID_06, nil)
2120 end
2121 if _BAG_TEMP[pos].ID_07 > 0 then
2122 player:setStorageValue(_BACKPACK[slot][x][i].UID_07, _BAG_TEMP[pos].ID_07)
2123 else
2124 player:setStorageValue(_BACKPACK[slot][x][i].UID_07, nil)
2125 end
2126 if _BAG_TEMP[pos].ID_08 > 0 then
2127 player:setStorageValue(_BACKPACK[slot][x][i].UID_08, _BAG_TEMP[pos].ID_08)
2128 else
2129 player:setStorageValue(_BACKPACK[slot][x][i].UID_08, nil)
2130 end
2131 if _BAG_TEMP[pos].ID_09 > 0 then
2132 player:setStorageValue(_BACKPACK[slot][x][i].UID_09, _BAG_TEMP[pos].ID_09)
2133 else
2134 player:setStorageValue(_BACKPACK[slot][x][i].UID_09, nil)
2135 end
2136 if _BAG_TEMP[pos].ID_10 > 0 then
2137 player:setStorageValue(_BACKPACK[slot][x][i].UID_10, _BAG_TEMP[pos].ID_10)
2138 else
2139 player:setStorageValue(_BACKPACK[slot][x][i].UID_10, nil)
2140 end
2141
2142 pos = pos + 1
2143 end
2144
2145 for y = 01, _SYSTEM.MAX_BAG_SLOT do
2146 player:sendCancelMessage("@loadBackpack " ..slot.. " " .._BAG_TEMP[y].ID_01.. " " .._BAG_TEMP[y].ID_02.. " " .._BAG_TEMP[y].ID_03.. " " .._BAG_TEMP[y].ID_04.. " " .._BAG_TEMP[y].ID_05.. " " .._BAG_TEMP[y].ID_06.. " ".._BAG_TEMP[y].ID_07.. " " .._BAG_TEMP[y].ID_08.. " " .._BAG_TEMP[y].ID_09.. " " .._BAG_TEMP[y].ID_10.. " " ..y)
2147 end
2148 if EMPTY_BAG_POS > 0 then
2149 result = true
2150 else
2151 result = false
2152 end
2153 end
2154 if action == 01 then -- Adicionar
2155 if player:getStorageValue(_SYSTEM.PLAYER_TRADE_ACT) > 00 then
2156 return result
2157 end
2158 if itemid > 0 then
2159 if qnt == nil then qnt = 01 end
2160 if SEARCH_ITEM_POS > 0 then
2161 local atual = player:getStorageValue(_BACKPACK[slot][SEARCH_EXT_POS][SEARCH_ITEM_POS].UID_04)
2162 player:setStorageValue(_BACKPACK[slot][SEARCH_EXT_POS][SEARCH_ITEM_POS].UID_04, (atual + qnt))
2163 player:sendCancelMessage("@LootMSG " ..itemid.. " " ..rare.. " " ..star.. " " ..qnt)
2164 SEARCH_ITEM_POS = 0
2165 result = true
2166 else
2167 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_01, itemid)
2168 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_02, rare)
2169 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_03, star)
2170 if unique then
2171 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_09, 01)
2172 end
2173 if slot == 4 then
2174 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_10, 100)
2175 end
2176 if slot == 1 or slot == 2 or slot == 4 or slot == 5 or slot == 6 or slot == 7 or slot == 8 or slot == 9 then
2177 local BonusExtrasIds = {}
2178 if slot == 4 then
2179 if _ITEMS[itemid].GUN_TYPE == 01 then
2180 BonusExtrasIds = {
2181 01, 03, 06, 07, 08, 09,
2182 11, 12, 13, 14, 15, 16, 17, 18, 19,
2183 21, 22, 23, 24, 25, 26, 27, 28, 29,
2184 31, 32, 33, 34, 35, 36, 37, 38, 39,
2185 41, 42, 43, 44
2186 }
2187 elseif _ITEMS[itemid].GUN_TYPE == 02 then
2188 BonusExtrasIds = {
2189 01, 02, 06, 07, 08, 09,
2190 11, 12, 13, 14, 15, 16, 17, 18, 19,
2191 21, 22, 23, 24, 25, 26, 27, 28, 29,
2192 31, 32, 33, 34, 35, 36, 37, 38, 39,
2193 41, 42, 43, 44
2194 }
2195 elseif _ITEMS[itemid].GUN_TYPE == 03 then
2196 BonusExtrasIds = {
2197 01, 05, 06, 07, 08, 09,
2198 11, 12, 13, 14, 15, 16, 17, 18, 19,
2199 21, 22, 23, 24, 25, 26, 27, 28, 29,
2200 31, 32, 33, 34, 35, 36, 37, 38, 39,
2201 41, 42, 43, 44
2202 }
2203 else
2204 BonusExtrasIds = {
2205 01, 04, 06, 07, 08, 09,
2206 11, 12, 13, 14, 15, 16, 17, 18, 19,
2207 21, 22, 23, 24, 25, 26, 27, 28, 29,
2208 31, 32, 33, 34, 35, 36, 37, 38, 39,
2209 41, 42, 43, 44
2210 }
2211 end
2212 else
2213 BonusExtrasIds = {
2214 01, 02, 03, 04, 05, 06, 07, 08, 09,
2215 11, 12, 13, 14, 15, 16, 17, 18, 19,
2216 21, 22, 23, 24, 25, 26, 27, 28, 29,
2217 31, 32, 33, 34, 35, 36, 37, 38,
2218 42, 43, 44
2219 }
2220 end
2221
2222 local QntExtras = math.random(00, 03)
2223 if QntExtras > 00 then
2224 if QntExtras == 01 then
2225 local chooseExtras = BonusExtrasIds[math.random(01, #BonusExtrasIds)]
2226 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, chooseExtras)
2227 elseif QntExtras == 02 then
2228 local chooseString = tostring(BonusExtrasIds[math.random(01, #BonusExtrasIds)].. "0" ..BonusExtrasIds[math.random(01, #BonusExtrasIds)])
2229 local chooseExtras = tonumber(chooseString)
2230 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, chooseExtras)
2231 elseif QntExtras == 03 then
2232 local chooseString = tostring(BonusExtrasIds[math.random(01, #BonusExtrasIds)].. "0" ..BonusExtrasIds[math.random(01, #BonusExtrasIds)].. "0" ..BonusExtrasIds[math.random(01, #BonusExtrasIds)])
2233 local chooseExtras = tonumber(chooseString)
2234 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, chooseExtras)
2235 end
2236 else
2237 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, nil)
2238 end
2239 --player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, tonumber(os.date("%d", os.time()).. "" ..os.date("%m", os.time()).. "" ..os.date("%y", os.time())))
2240 end
2241 if slot == 3 or slot == 0 then
2242 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_04, qnt)
2243 player:sendCancelMessage("@LootMSG " ..itemid.. " " ..rare.. " " ..star.. " " ..qnt)
2244 else
2245 player:sendCancelMessage("@LootMSG " ..itemid.. " " ..rare.. " " ..star.. " 1")
2246 end
2247 SEARCH_ITEM_POS = 0
2248 result = true
2249 end
2250 else
2251 local path = _BAG_ITEM
2252 if path[01].ID_01 > 0 then
2253 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_01, path[01].ID_01)
2254 else
2255 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_01, nil)
2256 end
2257 if path[01].ID_02 > 0 then
2258 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_02, path[01].ID_02)
2259 else
2260 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_02, nil)
2261 end
2262 if path[01].ID_03 > 0 then
2263 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_03, path[01].ID_03)
2264 else
2265 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_03, nil)
2266 end
2267 if path[01].ID_04 > 0 then
2268 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_04, path[01].ID_04)
2269 else
2270 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_04, nil)
2271 end
2272 if path[01].ID_05 > 0 then
2273 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_05, path[01].ID_05)
2274 else
2275 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_05, nil)
2276 end
2277 if path[01].ID_06 > 0 then
2278 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_06, path[01].ID_06)
2279 else
2280 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_06, nil)
2281 end
2282 if path[01].ID_07 > 0 then
2283 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_07, path[01].ID_07)
2284 else
2285 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_07, nil)
2286 end
2287 if path[01].ID_08 > 0 then
2288 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, path[01].ID_08)
2289 else
2290 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_08, nil)
2291 end
2292 if path[01].ID_09 > 0 then
2293 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_09, path[01].ID_09)
2294 else
2295 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_09, nil)
2296 end
2297 if path[01].ID_10 > 0 then
2298 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_10, path[01].ID_10)
2299 else
2300 player:setStorageValue(_BACKPACK[slot][BACK_EXT_POS][BAG_ITEM_POS].UID_10, nil)
2301 end
2302
2303 SEARCH_ITEM_POS = 0
2304 result = true
2305 end
2306 end
2307 if action == 02 then -- Excluir
2308 if itemid ~= nil then
2309 if itemid > 1 then
2310 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_04, itemid - 1)
2311 result = true
2312 else
2313 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_01, nil)
2314 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_02, nil)
2315 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_03, nil)
2316 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_04, nil)
2317 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_05, nil)
2318 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_06, nil)
2319 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_07, nil)
2320 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_08, nil)
2321 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_09, nil)
2322 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_10, nil)
2323 result = true
2324 end
2325 else
2326 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_01, nil)
2327 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_02, nil)
2328 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_03, nil)
2329 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_04, nil)
2330 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_05, nil)
2331 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_06, nil)
2332 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_07, nil)
2333 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_08, nil)
2334 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_09, nil)
2335 player:setStorageValue(_BACKPACK[slot][ext][bagselect].UID_10, nil)
2336 result = true
2337 end
2338 end
2339 if action == 03 then -- Procurar
2340 SEARCH_ITEM_POS = 0
2341 QNT_ITEM_BAG = 0
2342 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2343 if player:getStorageValue(_BACKPACK[slot][00][bag_pos].UID_01) == itemid then
2344 if player:getStorageValue(_BACKPACK[slot][00][bag_pos].UID_09) < 01 then
2345 SEARCH_ITEM_POS = bag_pos
2346 SEARCH_EXT_POS = 00
2347 QNT_ITEM_BAG = player:getStorageValue(_BACKPACK[slot][00][bag_pos].UID_04)
2348 result = true
2349 break
2350 end
2351 end
2352 end
2353
2354 local StoExt = player:getStorageValue(_SYSTEM.EXTENSION_BACK[slot].UID_01)
2355 if StoExt < 0 then StoExt = 0 end
2356 if SEARCH_ITEM_POS == 0 then
2357 if StoExt > 0 then
2358 if ext < StoExt then
2359 local bag = ext + 1
2360 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2361 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) == itemid then
2362 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09) < 01 then
2363 SEARCH_ITEM_POS = bag_pos
2364 SEARCH_EXT_POS = bag
2365 QNT_ITEM_BAG = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
2366 result = true
2367 break
2368 end
2369 end
2370 end
2371 if SEARCH_ITEM_POS == 0 then
2372 if (ext + 1) < StoExt then
2373 local bag = ext + 2
2374 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2375 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) == itemid then
2376 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09) < 01 then
2377 SEARCH_ITEM_POS = bag_pos
2378 SEARCH_EXT_POS = bag
2379 QNT_ITEM_BAG = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
2380 result = true
2381 break
2382 end
2383 end
2384 end
2385 if SEARCH_ITEM_POS == 0 then
2386 if (ext + 2) < StoExt then
2387 local bag = ext + 3
2388 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2389 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) == itemid then
2390 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_09) < 01 then
2391 SEARCH_ITEM_POS = bag_pos
2392 SEARCH_EXT_POS = bag
2393 QNT_ITEM_BAG = player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_04)
2394 result = true
2395 break
2396 end
2397 end
2398 end
2399 end
2400 end
2401 end
2402 end
2403 end
2404 end
2405 end
2406 end
2407 if action == 04 then -- Retornar Busca (Qnt Item)
2408 return QNT_ITEM_BAG
2409 end
2410 if action == 05 then -- Retornar Busca (Pos Bag)
2411 return SEARCH_ITEM_POS
2412 end
2413 if action == 06 then -- Retornar Busca (Ext Bag Pos)
2414 return SEARCH_EXT_POS
2415 end
2416 if action == 07 then -- Retornar Qnt Espa�os Vazio
2417 QNT_EMPTY_BAG = 0
2418 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2419 if player:getStorageValue(_BACKPACK[slot][00][bag_pos].UID_01) <= 0000 then
2420 QNT_EMPTY_BAG = QNT_EMPTY_BAG + 1
2421 end
2422 end
2423
2424 local StoExt = player:getStorageValue(_SYSTEM.EXTENSION_BACK[slot].UID_01)
2425 if StoExt < 0 then StoExt = 0 end
2426 if StoExt > 0 then
2427 if StoExt < 2 then
2428 local bag = 01
2429 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2430 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) <= 0000 then
2431 QNT_EMPTY_BAG = QNT_EMPTY_BAG + 1
2432 end
2433 end
2434 end
2435
2436 if StoExt < 3 then
2437 local bag = 02
2438 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2439 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) <= 0000 then
2440 QNT_EMPTY_BAG = QNT_EMPTY_BAG + 1
2441 end
2442 end
2443 end
2444
2445 if StoExt < 4 then
2446 local bag = 03
2447 for bag_pos = 01, _SYSTEM.MAX_BAG_SLOT do
2448 if player:getStorageValue(_BACKPACK[slot][bag][bag_pos].UID_01) <= 0000 then
2449 QNT_EMPTY_BAG = QNT_EMPTY_BAG + 1
2450 end
2451 end
2452 end
2453 end
2454
2455 return QNT_EMPTY_BAG
2456 end
2457 if action == 08 then -- Retornar Ultimo Espa�o Vazio
2458 return BAG_ITEM_POS
2459 end
2460 if action == 09 then -- Retornar Ext do Ultimo Espa�o Vazio
2461 return BACK_EXT_POS
2462 end
2463 if action == 10 then -- Atualizar Invent�rio em tempo real
2464 player:sendCancelMessage("@ReloadBackpack " ..slot)
2465 end
2466 if action == 11 then -- Atualizar Dinheiro e outros em tempo real
2467 local G = PlayerGoldCoins(player, 00)
2468 local O = player:getStorageValue(_SYSTEM.ONLINE_COIN)
2469 local V = PlayerVipCoins(player, 00)
2470 local R = player:getStorageValue(_SYSTEM.TASK[00].RANK)
2471 local E = player:getStorageValue(_SYSTEM.TASK[00].EXP)
2472 local C1 = player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_1)
2473 local C2 = player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_2)
2474 local C3 = player:getStorageValue(_SYSTEM.TASK[00].TASK_COIN_3)
2475 local A = player:getStorageValue(_SYSTEM.TASK[00].TASK_ATIVA)
2476 local Q = player:getStorageValue(_SYSTEM.TASK[00].QNT_ATIVA)
2477 local P = player:getStorageValue(_SYSTEM.PVP_POINTS)
2478 local C = player:getStorageValue(_SYSTEM.CRIPTOMOEDA)
2479
2480 if O < 0 then
2481 player:setStorageValue(_SYSTEM.ONLINE_COIN, 0)
2482 O = 0
2483 end
2484 if V < 0 then
2485 V = 0
2486 end
2487 if P < 0 then
2488 player:setStorageValue(_SYSTEM.PVP_POINTS, 0)
2489 P = 0
2490 end
2491 if C < 0 then
2492 C = 0
2493 end
2494 player:sendCancelMessage("@LoadGold " ..G.. " " ..O)
2495 player:sendCancelMessage("@LoadCoinMenu " ..G.. " " ..O.. " " ..V.. " " ..R.. " " ..E.. " " ..C1.. " " ..C2.. " " ..C3.. " " ..A.. " " ..Q.. " " ..P.. " " ..C)
2496 end
2497 if action == 12 then -- Atualizar Quests
2498 for X = 01, #_QUESTLOG do
2499 if _QUESTLOG[X].Type == "NORMAL" then
2500 player:sendCancelMessage("@QuestAbertas " .._QUESTLOG[X].Type.. " " ..X.. " " ..player:getStorageValue(_QUESTLOG[X].UID_01))
2501 elseif _QUESTLOG[X].Type == "HUNT" then
2502 player:sendCancelMessage("@QuestAbertas " .._QUESTLOG[X].Type.. " " ..X.. " " ..player:getStorageValue(_QUESTLOG[X].UID_01).. " " ..player:getStorageValue(_QUESTLOG[X].Value[01]).. " " .._QUESTLOG[X].Value[02])
2503 else
2504 player:sendCancelMessage("@QuestAbertas " .._QUESTLOG[X].Type.. " " ..X.. " " ..player:getStorageValue(_QUESTLOG[X].UID_01).. " " ..onGetBackpackItem(player, _QUESTLOG[X].Value[01]).. " " .._QUESTLOG[X].Value[02])
2505 end
2506 end
2507 end
2508 if action == 13 then -- Organizar Backpack
2509 if player:getStorageValue(_SYSTEM.PLAYER_TRADE_ACT) > 00 then
2510 return result
2511 end
2512 _BAG_TEMP = {
2513 [01] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2514 [02] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2515 [03] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2516 [04] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2517 [05] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2518 [06] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2519 [07] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2520 [08] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2521 [09] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2522 [10] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2523 [11] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2524 [12] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2525 [13] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2526 [14] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2527 [15] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2528 [16] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2529 [17] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2530 [18] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2531 [19] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2532 [20] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2533
2534 [21] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2535 [22] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2536 [23] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2537 [24] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2538 [25] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2539 [26] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2540 [27] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2541 [28] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2542 [29] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2543 [30] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2544 [31] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2545 [32] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2546 [33] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2547 [34] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2548 [35] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2549 [36] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2550 [37] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2551 [38] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2552 [39] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2553 [40] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2554
2555 [41] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2556 [42] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2557 [43] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2558 [44] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2559 [45] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2560 [46] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2561 [47] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2562 [48] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2563 [49] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2564 [50] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2565 [51] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2566 [52] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2567 [53] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2568 [54] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2569 [55] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2570 [56] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2571 [57] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2572 [58] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2573 [59] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2574 [60] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2575
2576 [61] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2577 [62] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2578 [63] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2579 [64] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2580 [65] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2581 [66] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2582 [67] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2583 [68] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2584 [69] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2585 [70] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2586 [71] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2587 [72] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2588 [73] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2589 [74] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2590 [75] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2591 [76] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2592 [77] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2593 [78] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2594 [79] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2595 [80] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000, VALUE = 00};
2596 }
2597 _BAG_TEMPO_POS = 01
2598 if ext == 01 then -- Organizar por Raridade
2599 for RARE_ID = 00, 04 do
2600 for EXT = 00, 03 do
2601 for BAG_POS = 01, 20 do
2602 if player:getStorageValue(_BACKPACK[slot][EXT][01].UID_01) > 00 then
2603 if player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01) > 00 then
2604 if player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02) == RARE_ID then
2605 _BAG_TEMP[_BAG_TEMPO_POS].ID_01 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)
2606 _BAG_TEMP[_BAG_TEMPO_POS].ID_02 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02)
2607 _BAG_TEMP[_BAG_TEMPO_POS].ID_03 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03)
2608 _BAG_TEMP[_BAG_TEMPO_POS].ID_04 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04)
2609 _BAG_TEMP[_BAG_TEMPO_POS].ID_05 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05)
2610 _BAG_TEMP[_BAG_TEMPO_POS].ID_06 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06)
2611 _BAG_TEMP[_BAG_TEMPO_POS].ID_07 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07)
2612 _BAG_TEMP[_BAG_TEMPO_POS].ID_08 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08)
2613 _BAG_TEMP[_BAG_TEMPO_POS].ID_09 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09)
2614 _BAG_TEMP[_BAG_TEMPO_POS].ID_10 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10)
2615
2616 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
2617 end
2618 else
2619 break
2620 end
2621 else
2622 break
2623 end
2624 end
2625 end
2626 end
2627
2628 local BAG_POS = 01
2629 local EXT = 00
2630 for X = 01, #_BAG_TEMP do
2631 if X == 21 then
2632 BAG_POS = 01
2633 EXT = 01
2634 elseif X == 41 then
2635 BAG_POS = 01
2636 EXT = 02
2637 elseif X == 61 then
2638 BAG_POS = 01
2639 EXT = 03
2640 end
2641
2642 if _BAG_TEMP[X].ID_01 > 00 then
2643 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01, _BAG_TEMP[X].ID_01)
2644 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02, _BAG_TEMP[X].ID_02)
2645 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03, _BAG_TEMP[X].ID_03)
2646 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04, _BAG_TEMP[X].ID_04)
2647 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05, _BAG_TEMP[X].ID_05)
2648 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06, _BAG_TEMP[X].ID_06)
2649 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07, _BAG_TEMP[X].ID_07)
2650 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08, _BAG_TEMP[X].ID_08)
2651 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09, _BAG_TEMP[X].ID_09)
2652 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10, _BAG_TEMP[X].ID_10)
2653 BAG_POS = BAG_POS + 01
2654 else
2655 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01, nil)
2656 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02, nil)
2657 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03, nil)
2658 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04, nil)
2659 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05, nil)
2660 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06, nil)
2661 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07, nil)
2662 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08, nil)
2663 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09, nil)
2664 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10, nil)
2665 end
2666 end
2667 for ORDER = 01, _SYSTEM.MAX_BAG_SLOT do
2668 player:sendCancelMessage("@loadBackpack " ..slot.. " " .._BAG_TEMP[ORDER].ID_01.. " " .._BAG_TEMP[ORDER].ID_02.. " " .._BAG_TEMP[ORDER].ID_03.. " " .._BAG_TEMP[ORDER].ID_04.. " " .._BAG_TEMP[ORDER].ID_05.. " " .._BAG_TEMP[ORDER].ID_06.. " ".._BAG_TEMP[ORDER].ID_07.. " " .._BAG_TEMP[ORDER].ID_08.. " " .._BAG_TEMP[ORDER].ID_09.. " " .._BAG_TEMP[ORDER].ID_10.. " " ..ORDER)
2669 end
2670
2671 return true
2672 elseif ext == 02 then -- Organizar por Level
2673 local LevelOrder = {}
2674 for EXT = 00, 03 do
2675 for BAG_POS = 01, 20 do
2676 if player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01) > 00 then
2677 if slot == 02 or slot == 04 or slot == 05 or slot == 06 or slot == 08 or slot == 09 then
2678 local REQUISITO_LEVEL = 00
2679 _BAG_TEMP[_BAG_TEMPO_POS].ID_01 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)
2680 _BAG_TEMP[_BAG_TEMPO_POS].ID_02 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02)
2681 _BAG_TEMP[_BAG_TEMPO_POS].ID_03 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03)
2682 _BAG_TEMP[_BAG_TEMPO_POS].ID_04 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04)
2683 _BAG_TEMP[_BAG_TEMPO_POS].ID_05 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05)
2684 _BAG_TEMP[_BAG_TEMPO_POS].ID_06 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06)
2685 _BAG_TEMP[_BAG_TEMPO_POS].ID_07 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07)
2686 _BAG_TEMP[_BAG_TEMPO_POS].ID_08 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08)
2687 _BAG_TEMP[_BAG_TEMPO_POS].ID_09 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09)
2688 _BAG_TEMP[_BAG_TEMPO_POS].ID_10 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10)
2689
2690 if slot == 04 then
2691 local GUN_BASE_LEVEL = _ITEMS[player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)].LEVEL
2692 local LEVEL_FOR_RARE = 05
2693 local LEVEL_FOR_LEVEL = 04
2694 local GUN_RARE = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02) or 0
2695 local GUN_LEVEL = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07) or 0
2696 local GUN_STAR = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03) or 0
2697
2698 if GUN_RARE < 00 then GUN_RARE = 00 end
2699 if GUN_LEVEL < 00 then GUN_LEVEL = 00 end
2700 if GUN_STAR < 00 then GUN_STAR = 00 end
2701 REQUISITO_LEVEL = GUN_BASE_LEVEL + (GUN_RARE * LEVEL_FOR_RARE) + (GUN_LEVEL * LEVEL_FOR_LEVEL) + ((GUN_STAR * 10) * LEVEL_FOR_LEVEL)
2702 else
2703 local LEVEL_EQUIP = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05) or 0
2704 local LEVEL_STAR = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03) or 0
2705 local LEVEL_DEF = 10000
2706
2707 if LEVEL_EQUIP < 0 then LEVEL_EQUIP = 0 end
2708 if LEVEL_STAR < 0 then LEVEL_STAR = 0 end
2709 if _ITEMS[player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)].DEF ~= nil then
2710 LEVEL_DEF = _ITEMS[player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)].DEF
2711 end
2712 REQUISITO_LEVEL = (LEVEL_DEF + LEVEL_EQUIP + (LEVEL_STAR * 10)) * 02
2713 end
2714
2715 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01, nil)
2716 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02, nil)
2717 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03, nil)
2718 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04, nil)
2719 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05, nil)
2720 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06, nil)
2721 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07, nil)
2722 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08, nil)
2723 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09, nil)
2724 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10, nil)
2725
2726 _BAG_TEMP[_BAG_TEMPO_POS].VALUE = REQUISITO_LEVEL
2727 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
2728 table.insert(LevelOrder, REQUISITO_LEVEL)
2729 else
2730 return false
2731 end
2732 else
2733 break
2734 end
2735 end
2736 end
2737
2738 table.sort(LevelOrder)
2739 local BAG_POS = 01
2740 local EXT = 00
2741 for LVL = 01, #LevelOrder do
2742 local LEVEL = LevelOrder[LVL]
2743 for POS = 01, #_BAG_TEMP do
2744 if _BAG_TEMP[POS].VALUE > 00 then
2745 if _BAG_TEMP[POS].VALUE == LEVEL then
2746 if LVL == 21 then
2747 BAG_POS = 01
2748 EXT = 01
2749 elseif LVL == 41 then
2750 BAG_POS = 01
2751 EXT = 02
2752 elseif LVL == 61 then
2753 BAG_POS = 01
2754 EXT = 03
2755 end
2756 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01, _BAG_TEMP[POS].ID_01)
2757 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02, _BAG_TEMP[POS].ID_02)
2758 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03, _BAG_TEMP[POS].ID_03)
2759 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04, _BAG_TEMP[POS].ID_04)
2760 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05, _BAG_TEMP[POS].ID_05)
2761 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06, _BAG_TEMP[POS].ID_06)
2762 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07, _BAG_TEMP[POS].ID_07)
2763 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08, _BAG_TEMP[POS].ID_08)
2764 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09, _BAG_TEMP[POS].ID_09)
2765 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10, _BAG_TEMP[POS].ID_10)
2766
2767 _BAG_TEMP[POS].ID_01 = 0000
2768 _BAG_TEMP[POS].ID_02 = 0000
2769 _BAG_TEMP[POS].ID_03 = 0000
2770 _BAG_TEMP[POS].ID_04 = 0000
2771 _BAG_TEMP[POS].ID_05 = 0000
2772 _BAG_TEMP[POS].ID_06 = 0000
2773 _BAG_TEMP[POS].ID_07 = 0000
2774 _BAG_TEMP[POS].ID_08 = 0000
2775 _BAG_TEMP[POS].ID_09 = 0000
2776 _BAG_TEMP[POS].ID_10 = 0000
2777 _BAG_TEMP[POS].VALUE = 0000
2778
2779 BAG_POS = BAG_POS + 01
2780 break
2781 end
2782 end
2783 end
2784 end
2785 for ORDER = 01, _SYSTEM.MAX_BAG_SLOT do
2786 local A = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_01)
2787 local B = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_02)
2788 local C = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_03)
2789 local D = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_04)
2790 local E = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_05)
2791 local F = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_06)
2792 local G = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_07)
2793 local H = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_08)
2794 local I = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_09)
2795 local J = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_10)
2796
2797 player:sendCancelMessage("@loadBackpack " ..slot.. " " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " "..G.. " " ..H.. " " ..I.. " " ..J.. " " ..ORDER)
2798 end
2799
2800 return true
2801 elseif ext == 03 then -- Organizar por Pre�o
2802 local PriceOrder = {}
2803 for EXT = 00, 03 do
2804 for BAG_POS = 01, 20 do
2805 if player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01) > 00 then
2806 local PriceUnd = 00
2807 _BAG_TEMP[_BAG_TEMPO_POS].ID_01 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)
2808 _BAG_TEMP[_BAG_TEMPO_POS].ID_02 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02)
2809 _BAG_TEMP[_BAG_TEMPO_POS].ID_03 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03)
2810 _BAG_TEMP[_BAG_TEMPO_POS].ID_04 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04)
2811 _BAG_TEMP[_BAG_TEMPO_POS].ID_05 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05)
2812 _BAG_TEMP[_BAG_TEMPO_POS].ID_06 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06)
2813 _BAG_TEMP[_BAG_TEMPO_POS].ID_07 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07)
2814 _BAG_TEMP[_BAG_TEMPO_POS].ID_08 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08)
2815 _BAG_TEMP[_BAG_TEMPO_POS].ID_09 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09)
2816 _BAG_TEMP[_BAG_TEMPO_POS].ID_10 = player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10)
2817
2818 if slot == 03 then
2819 _BAG_TEMP[_BAG_TEMPO_POS].VALUE = _ITEMS[player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)].PRICE * player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04)
2820 else
2821 _BAG_TEMP[_BAG_TEMPO_POS].VALUE = _ITEMS[player:getStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01)].PRICE
2822 end
2823
2824 PriceUnd = _BAG_TEMP[_BAG_TEMPO_POS].VALUE
2825 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01, nil)
2826 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02, nil)
2827 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03, nil)
2828 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04, nil)
2829 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05, nil)
2830 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06, nil)
2831 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07, nil)
2832 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08, nil)
2833 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09, nil)
2834 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10, nil)
2835
2836 table.insert(PriceOrder, PriceUnd)
2837 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
2838 else
2839 break
2840 end
2841 end
2842 end
2843
2844 table.sort(PriceOrder)
2845 local BAG_POS = 01
2846 local EXT = 00
2847 for PRICE_ITEM = 01, #PriceOrder do
2848 local PRICE = PriceOrder[PRICE_ITEM]
2849 for POS = 01, #_BAG_TEMP do
2850 if _BAG_TEMP[POS].VALUE > 00 then
2851 if _BAG_TEMP[POS].VALUE == PRICE then
2852 if PRICE_ITEM == 21 then
2853 BAG_POS = 01
2854 EXT = 01
2855 elseif PRICE_ITEM == 41 then
2856 BAG_POS = 01
2857 EXT = 02
2858 elseif PRICE_ITEM == 61 then
2859 BAG_POS = 01
2860 EXT = 03
2861 end
2862 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_01, _BAG_TEMP[POS].ID_01)
2863 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_02, _BAG_TEMP[POS].ID_02)
2864 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_03, _BAG_TEMP[POS].ID_03)
2865 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_04, _BAG_TEMP[POS].ID_04)
2866 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_05, _BAG_TEMP[POS].ID_05)
2867 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_06, _BAG_TEMP[POS].ID_06)
2868 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_07, _BAG_TEMP[POS].ID_07)
2869 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_08, _BAG_TEMP[POS].ID_08)
2870 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_09, _BAG_TEMP[POS].ID_09)
2871 player:setStorageValue(_BACKPACK[slot][EXT][BAG_POS].UID_10, _BAG_TEMP[POS].ID_10)
2872
2873 _BAG_TEMP[POS].ID_01 = 0000
2874 _BAG_TEMP[POS].ID_02 = 0000
2875 _BAG_TEMP[POS].ID_03 = 0000
2876 _BAG_TEMP[POS].ID_04 = 0000
2877 _BAG_TEMP[POS].ID_05 = 0000
2878 _BAG_TEMP[POS].ID_06 = 0000
2879 _BAG_TEMP[POS].ID_07 = 0000
2880 _BAG_TEMP[POS].ID_08 = 0000
2881 _BAG_TEMP[POS].ID_09 = 0000
2882 _BAG_TEMP[POS].ID_10 = 0000
2883 _BAG_TEMP[POS].VALUE = 0000
2884
2885 BAG_POS = BAG_POS + 01
2886 break
2887 end
2888 end
2889 end
2890 end
2891 for ORDER = 01, _SYSTEM.MAX_BAG_SLOT do
2892 local A = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_01)
2893 local B = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_02)
2894 local C = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_03)
2895 local D = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_04)
2896 local E = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_05)
2897 local F = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_06)
2898 local G = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_07)
2899 local H = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_08)
2900 local I = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_09)
2901 local J = player:getStorageValue(_BACKPACK[slot][00][ORDER].UID_10)
2902
2903 player:sendCancelMessage("@loadBackpack " ..slot.. " " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " "..G.. " " ..H.. " " ..I.. " " ..J.. " " ..ORDER)
2904 end
2905
2906 return true
2907 end
2908 end
2909
2910 return result
2911end
2912function onBonusExtra(type, value, id)
2913 local SPLIT = value:splitTrimmed("0")
2914 local BONUS = tonumber(SPLIT[type]) or 0
2915
2916 if _BONUS_EXTRA[BONUS] then
2917 if id == 01 then
2918 return BONUS
2919 else
2920 return _BONUS_EXTRA[BONUS].VALUE
2921 end
2922 else
2923 return 0
2924 end
2925end
2926function doInventario(player, action, slot, ext, bagselect)
2927 local result = false
2928 if action == 00 then -- Atualizar
2929 TEMP_BAG_ITEM = {[01] = {ID_01 = 0000, ID_02 = 0000, ID_03 = 0000, ID_04 = 0000, ID_05 = 0000, ID_06 = 0000, ID_07 = 0000, ID_08 = 0000, ID_09 = 0000, ID_10 = 0000}}
2930 local _slot = 0
2931
2932 -- INVENT�RIO
2933 for i = 01, 10 do
2934 if player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_01) > 0 then
2935 _slot = i -- WEAPONS EQUIP ITEMS
2936 TEMP_BAG_ITEM[01].ID_01 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_01) -- ID | ID | ID
2937 TEMP_BAG_ITEM[01].ID_02 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_02) -- RARE | RARE | RARE
2938 TEMP_BAG_ITEM[01].ID_03 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_03) -- STAR | STAR | STAR
2939 TEMP_BAG_ITEM[01].ID_04 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_04) -- SKILL 01 | | QNT
2940 TEMP_BAG_ITEM[01].ID_05 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_05) -- SKILL 02 | LEVEL |
2941 TEMP_BAG_ITEM[01].ID_06 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_06) -- SKILL 03 | ATR1 |
2942 TEMP_BAG_ITEM[01].ID_07 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_07) -- LEVEL | ATR2 |
2943 TEMP_BAG_ITEM[01].ID_08 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_08) -- DATA | DATA | DATA
2944 TEMP_BAG_ITEM[01].ID_09 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_09) -- UNIQUE ITEM | UNIQUE ITEM | UNIQUE ITEM
2945 TEMP_BAG_ITEM[01].ID_10 = player:getStorageValue(_SYSTEM.INVENTARIO[i].UID_10) -- AMMO
2946 else
2947 _slot = i
2948 TEMP_BAG_ITEM[01].ID_01 = 0
2949 TEMP_BAG_ITEM[01].ID_02 = 0
2950 TEMP_BAG_ITEM[01].ID_03 = 0
2951 TEMP_BAG_ITEM[01].ID_04 = 0
2952 TEMP_BAG_ITEM[01].ID_05 = 0
2953 TEMP_BAG_ITEM[01].ID_06 = 0
2954 TEMP_BAG_ITEM[01].ID_07 = 0
2955 TEMP_BAG_ITEM[01].ID_08 = 0
2956 TEMP_BAG_ITEM[01].ID_09 = 0
2957 TEMP_BAG_ITEM[01].ID_10 = 0
2958 end
2959
2960 player:sendCancelMessage("@ReloadInv " .._slot.. " " ..TEMP_BAG_ITEM[01].ID_01.. " " ..TEMP_BAG_ITEM[01].ID_02.. " " ..TEMP_BAG_ITEM[01].ID_03.. " " ..TEMP_BAG_ITEM[01].ID_04.. " " ..TEMP_BAG_ITEM[01].ID_05.. " " ..TEMP_BAG_ITEM[01].ID_06.. " "..TEMP_BAG_ITEM[01].ID_07.. " " ..TEMP_BAG_ITEM[01].ID_08.. " " ..TEMP_BAG_ITEM[01].ID_09.. " " ..TEMP_BAG_ITEM[01].ID_10)
2961 end
2962
2963 result = true
2964 end
2965 if action == 01 then -- Adicionar
2966 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_01) > 0 then
2967 _BAG_ITEM[01].ID_01 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_01)
2968 else
2969 _BAG_ITEM[01].ID_01 = 0
2970 end
2971 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_02) > 0 then
2972 _BAG_ITEM[01].ID_02 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_02)
2973 else
2974 _BAG_ITEM[01].ID_02 = 0
2975 end
2976 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_03) > 0 then
2977 _BAG_ITEM[01].ID_03 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_03)
2978 else
2979 _BAG_ITEM[01].ID_03 = 0
2980 end
2981 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_04) > 0 then
2982 _BAG_ITEM[01].ID_04 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_04)
2983 else
2984 _BAG_ITEM[01].ID_04 = 0
2985 end
2986 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_05) > 0 then
2987 _BAG_ITEM[01].ID_05 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_05)
2988 else
2989 _BAG_ITEM[01].ID_05 = 0
2990 end
2991 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_06) > 0 then
2992 _BAG_ITEM[01].ID_06 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_06)
2993 else
2994 _BAG_ITEM[01].ID_06 = 0
2995 end
2996 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_07) > 0 then
2997 _BAG_ITEM[01].ID_07 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_07)
2998 else
2999 _BAG_ITEM[01].ID_07 = 0
3000 end
3001 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_08) > 0 then
3002 _BAG_ITEM[01].ID_08 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_08)
3003 else
3004 _BAG_ITEM[01].ID_08 = 0
3005 end
3006 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_09) > 0 then
3007 _BAG_ITEM[01].ID_09 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_09)
3008 else
3009 _BAG_ITEM[01].ID_09 = 0
3010 end
3011 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_10) > 0 then
3012 _BAG_ITEM[01].ID_10 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_10)
3013 else
3014 _BAG_ITEM[01].ID_10 = 0
3015 end
3016
3017 local path = _BACKPACK[slot][ext][bagselect]
3018 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_01, player:getStorageValue(path.UID_01))
3019 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_02, player:getStorageValue(path.UID_02))
3020 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_03, player:getStorageValue(path.UID_03))
3021 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_04, player:getStorageValue(path.UID_04))
3022 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_05, player:getStorageValue(path.UID_05))
3023 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_06, player:getStorageValue(path.UID_06))
3024 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_07, player:getStorageValue(path.UID_07))
3025 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_08, player:getStorageValue(path.UID_08))
3026 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_09, player:getStorageValue(path.UID_09))
3027 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_10, player:getStorageValue(path.UID_10))
3028
3029 if _BAG_ITEM[01].ID_01 > 0 then
3030 local path = _BACKPACK[slot][ext][bagselect]
3031 player:setStorageValue(path.UID_01, _BAG_ITEM[01].ID_01)
3032 player:setStorageValue(path.UID_02, _BAG_ITEM[01].ID_02)
3033 player:setStorageValue(path.UID_03, _BAG_ITEM[01].ID_03)
3034 player:setStorageValue(path.UID_04, _BAG_ITEM[01].ID_04)
3035 player:setStorageValue(path.UID_05, _BAG_ITEM[01].ID_05)
3036 player:setStorageValue(path.UID_06, _BAG_ITEM[01].ID_06)
3037 player:setStorageValue(path.UID_07, _BAG_ITEM[01].ID_07)
3038 player:setStorageValue(path.UID_08, _BAG_ITEM[01].ID_08)
3039 player:setStorageValue(path.UID_09, _BAG_ITEM[01].ID_09)
3040 player:setStorageValue(path.UID_10, _BAG_ITEM[01].ID_10)
3041 else
3042 local path = _BACKPACK[slot][ext][bagselect]
3043 player:setStorageValue(path.UID_01, nil)
3044 player:setStorageValue(path.UID_02, nil)
3045 player:setStorageValue(path.UID_03, nil)
3046 player:setStorageValue(path.UID_04, nil)
3047 player:setStorageValue(path.UID_05, nil)
3048 player:setStorageValue(path.UID_06, nil)
3049 player:setStorageValue(path.UID_07, nil)
3050 player:setStorageValue(path.UID_08, nil)
3051 player:setStorageValue(path.UID_09, nil)
3052 player:setStorageValue(path.UID_10, nil)
3053 end
3054
3055 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_01) > 0 then
3056 _BAG_ITEM[01].ID_01 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_01)
3057 else
3058 _BAG_ITEM[01].ID_01 = 0
3059 end
3060 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_02) > 0 then
3061 _BAG_ITEM[01].ID_02 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_02)
3062 else
3063 _BAG_ITEM[01].ID_02 = 0
3064 end
3065 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_03) > 0 then
3066 _BAG_ITEM[01].ID_03 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_03)
3067 else
3068 _BAG_ITEM[01].ID_03 = 0
3069 end
3070 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_04) > 0 then
3071 _BAG_ITEM[01].ID_04 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_04)
3072 else
3073 _BAG_ITEM[01].ID_04 = 0
3074 end
3075 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_05) > 0 then
3076 _BAG_ITEM[01].ID_05 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_05)
3077 else
3078 _BAG_ITEM[01].ID_05 = 0
3079 end
3080 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_06) > 0 then
3081 _BAG_ITEM[01].ID_06 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_06)
3082 else
3083 _BAG_ITEM[01].ID_06 = 0
3084 end
3085 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_07) > 0 then
3086 _BAG_ITEM[01].ID_07 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_07)
3087 else
3088 _BAG_ITEM[01].ID_07 = 0
3089 end
3090 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_08) > 0 then
3091 _BAG_ITEM[01].ID_08 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_08)
3092 else
3093 _BAG_ITEM[01].ID_08 = 0
3094 end
3095 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_09) > 0 then
3096 _BAG_ITEM[01].ID_09 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_09)
3097 else
3098 _BAG_ITEM[01].ID_09 = 0
3099 end
3100 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_10) > 0 then
3101 _BAG_ITEM[01].ID_10 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_10)
3102 else
3103 _BAG_ITEM[01].ID_10 = 0
3104 end
3105
3106 player:sendCancelMessage("@EquiparItemInv " ..slot.. " " .._BAG_ITEM[01].ID_01.. " " .._BAG_ITEM[01].ID_02.. " " .._BAG_ITEM[01].ID_03.. " " .._BAG_ITEM[01].ID_04.. " " .._BAG_ITEM[01].ID_05.. " " .._BAG_ITEM[01].ID_06.. " ".._BAG_ITEM[01].ID_07.. " " .._BAG_ITEM[01].ID_08.. " " .._BAG_ITEM[01].ID_09.. " " .._BAG_ITEM[01].ID_10)
3107 doInventario(player, 07)
3108 result = true
3109 end
3110 if action == 02 then -- Remover
3111 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_01) > 0 then
3112 _BAG_ITEM[01].ID_01 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_01)
3113 else
3114 _BAG_ITEM[01].ID_01 = 0
3115 end
3116 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_02) > 0 then
3117 _BAG_ITEM[01].ID_02 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_02)
3118 else
3119 _BAG_ITEM[01].ID_02 = 0
3120 end
3121 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_03) > 0 then
3122 _BAG_ITEM[01].ID_03 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_03)
3123 else
3124 _BAG_ITEM[01].ID_03 = 0
3125 end
3126 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_04) > 0 then
3127 _BAG_ITEM[01].ID_04 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_04)
3128 else
3129 _BAG_ITEM[01].ID_04 = 0
3130 end
3131 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_05) > 0 then
3132 _BAG_ITEM[01].ID_05 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_05)
3133 else
3134 _BAG_ITEM[01].ID_05 = 0
3135 end
3136 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_06) > 0 then
3137 _BAG_ITEM[01].ID_06 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_06)
3138 else
3139 _BAG_ITEM[01].ID_06 = 0
3140 end
3141 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_07) > 0 then
3142 _BAG_ITEM[01].ID_07 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_07)
3143 else
3144 _BAG_ITEM[01].ID_07 = 0
3145 end
3146 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_08) > 0 then
3147 _BAG_ITEM[01].ID_08 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_08)
3148 else
3149 _BAG_ITEM[01].ID_08 = 0
3150 end
3151 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_09) > 0 then
3152 _BAG_ITEM[01].ID_09 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_09)
3153 else
3154 _BAG_ITEM[01].ID_09 = 0
3155 end
3156 if player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_10) > 0 then
3157 _BAG_ITEM[01].ID_10 = player:getStorageValue(_SYSTEM.INVENTARIO[slot].UID_10)
3158 else
3159 _BAG_ITEM[01].ID_10 = 0
3160 end
3161
3162 doBackpack(player, 01, slot, 0, 0, 0)
3163
3164 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_01, nil)
3165 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_02, nil)
3166 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_03, nil)
3167 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_04, nil)
3168 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_05, nil)
3169 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_06, nil)
3170 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_07, nil)
3171 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_08, nil)
3172 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_09, nil)
3173 player:setStorageValue(_SYSTEM.INVENTARIO[slot].UID_10, nil)
3174 doInventario(player, 07)
3175 result = true
3176 end
3177 if action == 03 then -- Load HUD
3178 doInventario(player, 00)
3179 player:sendCancelMessage("@LoadQuestMap")
3180 player:sendCancelMessage("@CureSkill " ..player:getStorageValue(_SYSTEM.SKILL_CURE[01]).. " " ..player:getStorageValue(_SYSTEM.SKILL_CURE[02]))
3181 player:sendCancelMessage("@LoadHotkey")
3182 local DESCONTRUIR_EVENT = 00
3183 if Game.getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[00].EVENT_ID) > 00 then
3184 if Game.getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[00].EVENT_ID) == 08 then
3185 DESCONTRUIR_EVENT = 01
3186 end
3187 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, eventMessage)
3188 end
3189 if player:getStorageValue(_DESAFIOS[00].DESAFIO_TYPE) == 02 then
3190 DESCONTRUIR_EVENT = 01
3191 end
3192 player:sendCancelMessage("@ToolsLoad " ..player:getStorageValue(_SYSTEM.TOOLS[01]).. " " ..player:getStorageValue(_SYSTEM.TOOLS[02]).. " " ..DESCONTRUIR_EVENT)
3193
3194
3195 local IDD_1 = player:getStorageValue(_SYSTEM.MAESTRIA[01])
3196 local IDD_2 = player:getStorageValue(_SYSTEM.ESPECIALISTA[01])
3197 local IDD_3 = player:getStorageValue(_SYSTEM.MAESTRIA[02])
3198 local IDD_4 = player:getStorageValue(_SYSTEM.ESPECIALISTA[02])
3199 player:sendCancelMessage("@MaestriaEsp " ..IDD_1.. " " ..IDD_2.. " " ..IDD_3.. " " ..IDD_4)
3200
3201 -- Reset GlobalStorage Dangerous
3202 local tile = Tile(player:getPosition()):hasFlag(TILESTATE_PVPZONE)
3203 if not tile then
3204 player:setTown(Town(01))
3205 for X = 01, #_SYSTEM.DANGEROUS do
3206 for Z = 01, #_SYSTEM.DANGEROUS[X] do
3207 if player:getStorageValue(_SYSTEM.DANGEROUS[X][Z].STORAGE) > 0 then
3208 --Game.setStorageValue(_SYSTEM.DANGEROUS[X][Z].STORAGE, nil)
3209 player:setStorageValue(_SYSTEM.DANGEROUS[X][Z].STORAGE, nil)
3210 player:setStorageValue(_SYSTEM.DANGEROUS[X][Z].RECOMPENSA[01], nil)
3211 end
3212 end
3213 end
3214 end
3215
3216 player:sendCancelMessage("@StarCliente")
3217
3218 local ExAmulet = player:getStorageValue(_SYSTEM.EXTENSION_BACK[001].UID_01)
3219 local ExHelmet = player:getStorageValue(_SYSTEM.EXTENSION_BACK[002].UID_01)
3220 local ExBackpack = player:getStorageValue(_SYSTEM.EXTENSION_BACK[003].UID_01)
3221 local ExWeapon = player:getStorageValue(_SYSTEM.EXTENSION_BACK[004].UID_01)
3222 local ExArmor = player:getStorageValue(_SYSTEM.EXTENSION_BACK[005].UID_01)
3223 local ExGlove = player:getStorageValue(_SYSTEM.EXTENSION_BACK[006].UID_01)
3224 local ExRing = player:getStorageValue(_SYSTEM.EXTENSION_BACK[007].UID_01)
3225 local ExLegs = player:getStorageValue(_SYSTEM.EXTENSION_BACK[008].UID_01)
3226 local ExBoots = player:getStorageValue(_SYSTEM.EXTENSION_BACK[009].UID_01)
3227
3228 player:sendCancelMessage("@reloadEx " ..ExAmulet.. " " ..ExHelmet.. " " ..ExBackpack.. " " ..ExWeapon.. " " ..ExArmor.. " " ..ExGlove.. " " ..ExRing.. " " ..ExLegs.. " " ..ExBoots)
3229
3230 local Kazemir = player:getStorageValue(_SYSTEM.NEXUS[001].UID_01)
3231 local Sunset = player:getStorageValue(_SYSTEM.NEXUS[002].UID_01)
3232 local Bonebrook = player:getStorageValue(_SYSTEM.NEXUS[003].UID_01)
3233 local Kimbolton = player:getStorageValue(_SYSTEM.NEXUS[004].UID_01)
3234 local Huampali = player:getStorageValue(_SYSTEM.NEXUS[005].UID_01)
3235 local Rivermine = player:getStorageValue(_SYSTEM.NEXUS[006].UID_01)
3236 local Kopec = player:getStorageValue(_SYSTEM.NEXUS[008].UID_01)
3237 local Hanva = player:getStorageValue(_SYSTEM.NEXUS[009].UID_01)
3238 local Sodon = player:getStorageValue(_SYSTEM.NEXUS[010].UID_01)
3239 player:sendCancelMessage("@Nexus " ..Kazemir.. " " ..Sunset.. " " ..Bonebrook.. " " ..Kimbolton.. " " ..Huampali.. " " ..Rivermine.. " 01 " ..Kopec.. " " ..Hanva.. " " ..Sodon)
3240
3241 doBackpack(player, 11)
3242 result = true
3243 end
3244 if action == 04 then -- Carrega Status do Invent�rio
3245 local ATK = 0 local DEF = 0 local ESQ = 0 local MAG = 0 local Penalidade = player:getStorageValue(_SYSTEM.PENALIDADES[02])
3246 local ExtraDEF = 00 local ExtraESQ = 00 local ExtraMAG = 00 local GoldDrTaxa = 0 local ExpCrit = 0
3247 local AtrCritico = 0 local AtrTaxa= 0 local AtrHpCrit = 0 local AtrDamage = 0 local HPCritTaxa = 0 local DropTaxa = 0
3248 local FIRE = 0 local ICE = 0 local ENERGY = 0 local EARTH = 0 local DEATH = 0
3249
3250 local VIDA = 0 local DEST = 0 local AMMO = 0 local DISP = 0 local HAB = 0 local CRIT = 0 local POINTS = 0
3251
3252 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[02].STORAGE) > 00 then
3253 DEF = DEF + 25
3254 end
3255 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[03].STORAGE) > 00 then
3256 ESQ = ESQ + 25
3257 end
3258 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[04].STORAGE) > 00 then
3259 FIRE = FIRE + 10
3260 end
3261 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[05].STORAGE) > 00 then
3262 ICE = ICE + 10
3263 end
3264 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[06].STORAGE) > 00 then
3265 ENERGY = ENERGY + 10
3266 end
3267 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[07].STORAGE) > 00 then
3268 EARTH = EARTH + 10
3269 end
3270 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[08].STORAGE) > 00 then
3271 DEATH = DEATH + 10
3272 end
3273 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[10].STORAGE) > 00 then
3274 DEF = DEF + 25
3275 ESQ = ESQ + 25
3276 FIRE = FIRE + 10
3277 ICE = ICE + 10
3278 ENERGY = ENERGY + 10
3279 EARTH = EARTH + 10
3280 DEATH = DEATH + 10
3281 end
3282 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[11].STORAGE) > 00 then
3283 if player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 01 then
3284 FIRE = FIRE + 50
3285 elseif player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 02 then
3286 ICE = ICE + 50
3287 elseif player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 03 then
3288 ENERGY = ENERGY + 50
3289 elseif player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 04 then
3290 EARTH = EARTH + 50
3291 else
3292 player:setStorageValue(_GLOBAL_RANDOM.BUFFS[11].STORAGE, nil)
3293 player:setStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE, nil)
3294 end
3295 end
3296 -- COLETANDO STATUS
3297 local _SLOTS = {
3298 [01] = {_SYSTEM.INVENTARIO[02].UID_01, _SYSTEM.INVENTARIO[02].UID_02, _SYSTEM.INVENTARIO[02].UID_03, _SYSTEM.INVENTARIO[02].UID_05, _SYSTEM.INVENTARIO[02].UID_06, _SYSTEM.INVENTARIO[02].UID_07};
3299 [02] = {_SYSTEM.INVENTARIO[05].UID_01, _SYSTEM.INVENTARIO[05].UID_02, _SYSTEM.INVENTARIO[05].UID_03, _SYSTEM.INVENTARIO[05].UID_05, _SYSTEM.INVENTARIO[05].UID_06, _SYSTEM.INVENTARIO[05].UID_07};
3300 [03] = {_SYSTEM.INVENTARIO[06].UID_01, _SYSTEM.INVENTARIO[06].UID_02, _SYSTEM.INVENTARIO[06].UID_03, _SYSTEM.INVENTARIO[06].UID_05, _SYSTEM.INVENTARIO[06].UID_06, _SYSTEM.INVENTARIO[06].UID_07};
3301 [04] = {_SYSTEM.INVENTARIO[08].UID_01, _SYSTEM.INVENTARIO[08].UID_02, _SYSTEM.INVENTARIO[08].UID_03, _SYSTEM.INVENTARIO[08].UID_05, _SYSTEM.INVENTARIO[08].UID_06, _SYSTEM.INVENTARIO[08].UID_07};
3302 [05] = {_SYSTEM.INVENTARIO[09].UID_01, _SYSTEM.INVENTARIO[09].UID_02, _SYSTEM.INVENTARIO[09].UID_03, _SYSTEM.INVENTARIO[09].UID_05, _SYSTEM.INVENTARIO[09].UID_06, _SYSTEM.INVENTARIO[09].UID_07};
3303 }
3304 for SLOT_ID = 01, 05 do
3305 local itemID = player:getStorageValue(_SLOTS[SLOT_ID][01])
3306 if itemID > 0 then
3307 local RareItem = 0 local StarItem = 0 local LevelItem = 0
3308 local ItemART1 = 0 local ItemART2 = 0
3309 if player:getStorageValue(_SLOTS[SLOT_ID][02]) > 0 then RareItem = player:getStorageValue(_SLOTS[SLOT_ID][02]) end
3310 if player:getStorageValue(_SLOTS[SLOT_ID][03]) > 0 then StarItem = player:getStorageValue(_SLOTS[SLOT_ID][03]) end
3311 if player:getStorageValue(_SLOTS[SLOT_ID][04]) > 0 then LevelItem = player:getStorageValue(_SLOTS[SLOT_ID][04]) end
3312 if player:getStorageValue(_SLOTS[SLOT_ID][05]) > 0 then ItemART1 = player:getStorageValue(_SLOTS[SLOT_ID][05]) end
3313 if player:getStorageValue(_SLOTS[SLOT_ID][06]) > 0 then ItemART2 = player:getStorageValue(_SLOTS[SLOT_ID][06]) end
3314 local itemRecLevel = (_ITEMS[itemID].DEF + LevelItem + (StarItem * 10)) * 2
3315
3316 if player:getLevel() >= itemRecLevel then
3317 if player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 05 then
3318 ExtraDEF = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3319 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 06 then
3320 ExtraESQ = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3321 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 07 then
3322 ExtraMAG = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3323 end
3324 if ItemART1 == 04 then ExtraDEF = ExtraDEF + 01 end
3325 if ItemART2 == 04 then ExtraDEF = ExtraDEF + 01 end
3326 if ItemART1 == 02 then AtrCritico = AtrCritico + 01 end
3327 if ItemART2 == 02 then AtrCritico = AtrCritico + 01 end
3328 if ItemART1 == 03 then AtrTaxa = AtrTaxa + 01 end
3329 if ItemART2 == 03 then AtrTaxa = AtrTaxa + 01 end
3330 if ItemART1 == 05 then AtrHpCrit = AtrHpCrit + 01 end
3331 if ItemART2 == 05 then AtrHpCrit = AtrHpCrit + 01 end
3332 if ItemART1 == 06 then AtrDamage = AtrDamage + 01 end
3333 if ItemART2 == 06 then AtrDamage = AtrDamage + 01 end
3334 if ItemART1 == 07 then HPCritTaxa = HPCritTaxa + 01 end
3335 if ItemART2 == 07 then HPCritTaxa = HPCritTaxa + 01 end
3336 if ItemART1 == 11 then ExpCrit = ExpCrit + 01 end
3337 if ItemART2 == 11 then ExpCrit = ExpCrit + 01 end
3338 if ItemART1 == 15 then DropTaxa = DropTaxa + 01 end
3339 if ItemART2 == 15 then DropTaxa = DropTaxa + 01 end
3340 if ItemART1 == 16 then GoldDrTaxa = GoldDrTaxa + 01 end
3341 if ItemART2 == 16 then GoldDrTaxa = GoldDrTaxa + 01 end
3342 if ItemART1 == 08 then
3343 local CriticalHealth = 70 * (player:getBaseMaxHealth() / 100)
3344 if player:getHealth() >= CriticalHealth then
3345 ExtraESQ = ExtraESQ + 01
3346 end
3347 end
3348 if ItemART2 == 08 then
3349 local CriticalHealth = 70 * (player:getBaseMaxHealth() / 100)
3350 if player:getHealth() >= CriticalHealth then
3351 ExtraESQ = ExtraESQ + 01
3352 end
3353 end
3354
3355 if ExtraDEF < 0 then ExtraDEF = 0 end
3356 if ExtraESQ < 0 then ExtraESQ = 0 end
3357 if ExtraMAG < 0 then ExtraMAG = 0 end
3358
3359 DEF = DEF + (_ITEMS[itemID].DEF + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3360 ESQ = ESQ + (_ITEMS[itemID].ESQ + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3361 if _ITEMS[itemID].MAG_TYPE then
3362 if _ITEMS[itemID].MAG_TYPE == "FIRE" then
3363 FIRE = FIRE + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3364 elseif _ITEMS[itemID].MAG_TYPE == "ICE" then
3365 ICE = ICE + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3366 elseif _ITEMS[itemID].MAG_TYPE == "ENERGY" then
3367 ENERGY = ENERGY + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3368 elseif _ITEMS[itemID].MAG_TYPE == "EARTH" then
3369 EARTH = EARTH + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3370 elseif _ITEMS[itemID].MAG_TYPE == "DEATH" then
3371 DEATH = DEATH + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + LevelItem
3372 end
3373 end
3374 end
3375 end
3376 end
3377
3378 if ExtraDEF > 0 then
3379 local AtrTotal = _ATRIBUTOS[04].PERCENT * ExtraDEF
3380 ExtraDEF = AtrTotal - ((ExtraDEF - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3381 end
3382 if AtrCritico > 0 then
3383 local AtrTotal = _ATRIBUTOS[02].PERCENT * AtrCritico
3384 AtrCritico = AtrTotal - ((AtrCritico - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3385 end
3386 if AtrTaxa > 0 then
3387 local AtrTotal = _ATRIBUTOS[03].PERCENT * AtrTaxa
3388 AtrTaxa = AtrTotal - ((AtrTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3389 end
3390 if AtrHpCrit > 0 then
3391 local AtrTotal = _ATRIBUTOS[05].PERCENT * AtrHpCrit
3392 AtrHpCrit = AtrTotal - ((AtrHpCrit - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3393 end
3394 if AtrDamage > 0 then
3395 local AtrTotal = _ATRIBUTOS[06].PERCENT * AtrDamage
3396 AtrDamage = AtrTotal - ((AtrDamage - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3397 end
3398 if HPCritTaxa > 0 then
3399 local AtrTotal = _ATRIBUTOS[07].PERCENT * HPCritTaxa
3400 HPCritTaxa = AtrTotal - ((HPCritTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3401 end
3402 if ExpCrit > 0 then
3403 local AtrTotal = _ATRIBUTOS[11].PERCENT * ExpCrit
3404 ExpCrit = AtrTotal - ((ExpCrit - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3405 end
3406 if DropTaxa > 0 then
3407 local AtrTotal = _ATRIBUTOS[15].PERCENT * DropTaxa
3408 DropTaxa = AtrTotal - ((DropTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3409 end
3410 if GoldDrTaxa > 0 then
3411 local AtrTotal = _ATRIBUTOS[16].PERCENT * GoldDrTaxa
3412 GoldDrTaxa = AtrTotal - ((GoldDrTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3413 end
3414 if ExtraESQ > 0 then
3415 local AtrTotal = _ATRIBUTOS[08].PERCENT * ExtraESQ
3416 ExtraESQ = AtrTotal - ((ExtraESQ - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3417 end
3418
3419 DEF = DEF + ExtraDEF ESQ = ESQ + ExtraESQ MAG = MAG + ExtraMAG
3420 AtrCritico = AtrCritico + 05 AtrTaxa = AtrTaxa + 05
3421
3422 if player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_01) > 0 then
3423 local RingID = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_01)
3424 local RingRA = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_02)
3425 local RingST = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_03)
3426 local RingLV = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_05)
3427 if RingID == 7006 then -- Aumenta seu Dano Cr�tico em + 50%.
3428 AtrCritico = AtrCritico + 50
3429 end
3430 if RingID == 7007 then -- Aumenta sua Taxa Cr�tica em + 10%.
3431 AtrTaxa = AtrTaxa + 10
3432 end
3433 if RingID == 7009 then -- Aumenta sua ESQ em + 20.
3434 ESQ = ESQ + 20
3435 end
3436 if RingID == 7010 then -- Aumenta sua resist�ncia contra danos do tipo DEATH em 10% ( + 05 por raridade ).
3437 if RingRA < 0 then RingRA = 0 end
3438 DEATH = DEATH + 10 + (05 * RingRA)
3439 end
3440 if RingID == 7011 then -- Aumenta sua resist�ncia contra danos do tipo ENERGY em 10% ( + 05 por raridade ).
3441 if RingRA < 0 then RingRA = 0 end
3442 ENERGY = ENERGY + 10 + (05 * RingRA)
3443 end
3444 if RingID == 7012 then -- Aumenta sua resist�ncia contra danos do tipo ICE em 10% ( + 05 por raridade ).
3445 if RingRA < 0 then RingRA = 0 end
3446 ICE = ICE + 10 + (05 * RingRA)
3447 end
3448 if RingID == 7013 then -- Aumenta sua resist�ncia contra danos do tipo FIRE em 10% ( + 05 por raridade ).
3449 if RingRA < 0 then RingRA = 0 end
3450 FIRE = FIRE + 10 + (05 * RingRA)
3451 end
3452 if RingID == 7014 then -- Aumenta sua resist�ncia contra danos do tipo EARTH em 10% ( + 05 por raridade ).
3453 if RingRA < 0 then RingRA = 0 end
3454 EARTH = EARTH + 10 + (05 * RingRA)
3455 end
3456 end
3457
3458 if Penalidade > 0 then
3459 Penalidade = 30 - player:getStorageValue(_SYSTEM.PENALIDADES[02])
3460 else
3461 Penalidade = 30
3462 end
3463 local PVPPoints = 0
3464 if player:getStorageValue(_SYSTEM.PVP_POINTS) > 0 then
3465 PVPPoints = player:getStorageValue(_SYSTEM.PVP_POINTS)
3466 end
3467 if player:getStorageValue(_SYSTEM.POINTS_ATR[01]) > 0 then
3468 VIDA = player:getStorageValue(_SYSTEM.POINTS_ATR[01])
3469 end
3470 if player:getStorageValue(_SYSTEM.POINTS_ATR[02]) > 0 then
3471 DEST = player:getStorageValue(_SYSTEM.POINTS_ATR[02])
3472 end
3473 if player:getStorageValue(_SYSTEM.POINTS_ATR[03]) > 0 then
3474 AMMO = player:getStorageValue(_SYSTEM.POINTS_ATR[03])
3475 end
3476 if player:getStorageValue(_SYSTEM.POINTS_ATR[04]) > 0 then
3477 DISP = player:getStorageValue(_SYSTEM.POINTS_ATR[04])
3478 end
3479 if player:getStorageValue(_SYSTEM.POINTS_ATR[05]) > 0 then
3480 HAB = player:getStorageValue(_SYSTEM.POINTS_ATR[05])
3481 end
3482 if player:getStorageValue(_SYSTEM.POINTS_ATR[06]) > 0 then
3483 CRIT = player:getStorageValue(_SYSTEM.POINTS_ATR[06])
3484 end
3485 if player:getStorageValue(_SYSTEM.POINTS_ATR[07]) > 0 then
3486 POINTS = player:getStorageValue(_SYSTEM.POINTS_ATR[07])
3487 end
3488 player:sendCancelMessage("@LoadStatus " ..player:getSpeed().. " " ..DEF.. " " ..ESQ.. " " ..MAG.. " " ..AtrTaxa.. " " ..AtrCritico.. " " ..Penalidade.. " " ..PVPPoints.. " " ..FIRE.. " " ..ICE.. " " ..ENERGY.. " " ..EARTH.. " " ..DEATH)
3489 player:sendCancelMessage("@AtriStatus " ..VIDA.. " " ..DEST.. " " ..AMMO.. " " ..DISP.. " " ..HAB.. " " ..CRIT.. " " ..POINTS)
3490
3491 local IDD_1 = player:getStorageValue(_SYSTEM.MAESTRIA[01])
3492 local IDD_2 = player:getStorageValue(_SYSTEM.ESPECIALISTA[01])
3493 local IDD_3 = player:getStorageValue(_SYSTEM.MAESTRIA[02])
3494 local IDD_4 = player:getStorageValue(_SYSTEM.ESPECIALISTA[02])
3495 player:sendCancelMessage("@MaestriaEsp " ..IDD_1.. " " ..IDD_2.. " " ..IDD_3.. " " ..IDD_4)
3496 PlayerPassives(player, 00)
3497 PlayerPassives(player, 02)
3498
3499 if player:getStorageValue(_QUESTLOG[206].UID_01) == 02 then
3500 player:sendCancelMessage("@TutorShow 48")
3501 player:sendCancelMessage("@@NewbieStart 49")
3502 end
3503 end
3504 if action == 05 then -- Carrega os Buffs
3505 local BUFF_1 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[01].STORAGE)
3506 local BUFF_2 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[02].STORAGE)
3507 local BUFF_3 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[03].STORAGE)
3508 local BUFF_4 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[04].STORAGE)
3509 local BUFF_5 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[05].STORAGE)
3510 local BUFF_6 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[06].STORAGE)
3511 local BUFF_7 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[07].STORAGE)
3512 local BUFF_8 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[08].STORAGE)
3513 local BUFF_9 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[09].STORAGE)
3514 local BUFF_10 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[10].STORAGE)
3515 local BUFF_11 = player:getStorageValue(_GLOBAL_RANDOM.BUFFS[11].STORAGE)
3516 local EVENT_4 = player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE)
3517
3518 player:sendCancelMessage("@BuffLoad " ..BUFF_1.. " " ..BUFF_2.. " " ..BUFF_3.. " " ..BUFF_4.. " " ..BUFF_5.. " " ..BUFF_6.. " " ..BUFF_7.. " " ..BUFF_8.. " " ..BUFF_9.. " " ..BUFF_10.. " " ..BUFF_11.. " " ..EVENT_4)
3519 end
3520 if action == 06 then -- Carrega os Pontos de Atributos
3521 local VIDA = 0 local DEST = 0 local AMMO = 0 local DISP = 0 local HAB = 0 local CRIT = 0 local POINTS = 0
3522
3523 if player:getStorageValue(_SYSTEM.POINTS_ATR[01]) > 0 then
3524 VIDA = player:getStorageValue(_SYSTEM.POINTS_ATR[01])
3525 end
3526 if player:getStorageValue(_SYSTEM.POINTS_ATR[02]) > 0 then
3527 DEST = player:getStorageValue(_SYSTEM.POINTS_ATR[02])
3528 end
3529 if player:getStorageValue(_SYSTEM.POINTS_ATR[03]) > 0 then
3530 AMMO = player:getStorageValue(_SYSTEM.POINTS_ATR[03])
3531 end
3532 if player:getStorageValue(_SYSTEM.POINTS_ATR[04]) > 0 then
3533 DISP = player:getStorageValue(_SYSTEM.POINTS_ATR[04])
3534 end
3535 if player:getStorageValue(_SYSTEM.POINTS_ATR[05]) > 0 then
3536 HAB = player:getStorageValue(_SYSTEM.POINTS_ATR[05])
3537 end
3538 if player:getStorageValue(_SYSTEM.POINTS_ATR[06]) > 0 then
3539 CRIT = player:getStorageValue(_SYSTEM.POINTS_ATR[06])
3540 end
3541 if player:getStorageValue(_SYSTEM.POINTS_ATR[07]) > 0 then
3542 POINTS = player:getStorageValue(_SYSTEM.POINTS_ATR[07])
3543 end
3544
3545 player:sendCancelMessage("@AtriStatus " ..VIDA.. " " ..DEST.. " " ..AMMO.. " " ..DISP.. " " ..HAB.. " " ..CRIT.. " " ..POINTS)
3546 end
3547 if action == 07 then -- Carrega Informa��es de Defesa/Ataque do Personagem
3548 local DEF = 0 local ESQ = 0
3549 local ExtraDEF = 00 local ExtraESQ = 00 local ExtraMAG = 00
3550 local CuraESQ = 00 local CancelInv = 00 local FearPara = 00
3551 local CanPara = 00 local DmgHalf = 00 local BombFire = 00
3552 local BombEnergy = 00 local BombIce = 00 local BombDeath = 00
3553 local BombEarth = 00 local BombHoly = 00 local BombPhysical = 00
3554 local SkillDmg = 00 local ValueESQ = 00 local ResPlayer = 00
3555 local FIRE = 0 local ICE = 0 local ENERGY = 0
3556 local DEST = 0 local EARTH = 0 local DEATH = 0
3557 local ExetaRes = 0 local AtrCritico = 0 local AtrTaxa = 0
3558 local AtrHpCrit = 0 local AtrDamage = 0 local HPCritTaxa = 0
3559 local ExpCrit = 0 local DropTaxa = 0 local GoldDrTaxa = 0
3560 local CriDistan = 0 local CriEXP = 0 local FreeRun = 0
3561
3562 -- COLETANDO STATUS
3563 local _SLOTS = {
3564 [01] = {_SYSTEM.INVENTARIO[02].UID_01, _SYSTEM.INVENTARIO[02].UID_02, _SYSTEM.INVENTARIO[02].UID_03, _SYSTEM.INVENTARIO[02].UID_05, _SYSTEM.INVENTARIO[02].UID_06, _SYSTEM.INVENTARIO[02].UID_07};
3565 [02] = {_SYSTEM.INVENTARIO[05].UID_01, _SYSTEM.INVENTARIO[05].UID_02, _SYSTEM.INVENTARIO[05].UID_03, _SYSTEM.INVENTARIO[05].UID_05, _SYSTEM.INVENTARIO[05].UID_06, _SYSTEM.INVENTARIO[05].UID_07};
3566 [03] = {_SYSTEM.INVENTARIO[06].UID_01, _SYSTEM.INVENTARIO[06].UID_02, _SYSTEM.INVENTARIO[06].UID_03, _SYSTEM.INVENTARIO[06].UID_05, _SYSTEM.INVENTARIO[06].UID_06, _SYSTEM.INVENTARIO[06].UID_07};
3567 [04] = {_SYSTEM.INVENTARIO[08].UID_01, _SYSTEM.INVENTARIO[08].UID_02, _SYSTEM.INVENTARIO[08].UID_03, _SYSTEM.INVENTARIO[08].UID_05, _SYSTEM.INVENTARIO[08].UID_06, _SYSTEM.INVENTARIO[08].UID_07};
3568 [05] = {_SYSTEM.INVENTARIO[09].UID_01, _SYSTEM.INVENTARIO[09].UID_02, _SYSTEM.INVENTARIO[09].UID_03, _SYSTEM.INVENTARIO[09].UID_05, _SYSTEM.INVENTARIO[09].UID_06, _SYSTEM.INVENTARIO[09].UID_07};
3569 }
3570 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[02].STORAGE) > 00 then
3571 DEF = DEF + 25
3572 end
3573 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[03].STORAGE) > 00 then
3574 ESQ = ESQ + 25
3575 end
3576 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[04].STORAGE) > 00 then
3577 FIRE = FIRE + 10
3578 end
3579 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[05].STORAGE) > 00 then
3580 ICE = ICE + 10
3581 end
3582 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[06].STORAGE) > 00 then
3583 ENERGY = ENERGY + 10
3584 end
3585 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[07].STORAGE) > 00 then
3586 EARTH = EARTH + 10
3587 end
3588 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[08].STORAGE) > 00 then
3589 DEATH = DEATH + 10
3590 end
3591 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[10].STORAGE) > 00 then
3592 DEF = DEF + 25
3593 ESQ = ESQ + 25
3594 FIRE = FIRE + 10
3595 ICE = ICE + 10
3596 ENERGY = ENERGY + 10
3597 EARTH = EARTH + 10
3598 DEATH = DEATH + 10
3599 end
3600 if player:getStorageValue(_GLOBAL_RANDOM.BUFFS[11].STORAGE) > 00 then
3601 if player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 01 then
3602 FIRE = FIRE + 50
3603 elseif player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 02 then
3604 ICE = ICE + 50
3605 elseif player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 03 then
3606 ENERGY = ENERGY + 50
3607 elseif player:getStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE) == 04 then
3608 EARTH = EARTH + 50
3609 else
3610 player:setStorageValue(_GLOBAL_RANDOM.BUFFS[11].STORAGE, nil)
3611 player:setStorageValue(_GLOBAL_RANDOM.EVENTOS_TABLE[04].BUFF_ELE, nil)
3612 end
3613 end
3614
3615 if player:getStorageValue(_SYSTEM.INVENTARIO[01].UID_01) > 0 then
3616 if player:getStorageValue(_SYSTEM.INVENTARIO[01].UID_01) == 1016 then
3617 if player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03]) > 00 then
3618 local RareAmulet = player:getStorageValue(_SYSTEM.INVENTARIO[01].UID_02)
3619 local StarAmulet = player:getStorageValue(_SYSTEM.INVENTARIO[01].UID_03)
3620 local LevelAmulet = player:getStorageValue(_SYSTEM.INVENTARIO[01].UID_05)
3621 local ProtectDef = 02
3622 if RareAmulet < 0 then RareAmulet = 0 end
3623 if StarAmulet < 0 then StarAmulet = 0 end
3624 if LevelAmulet < 0 then LevelAmulet = 0 end
3625
3626 ResPlayer = ResPlayer + (ProtectDef * (RareAmulet + 01) + ((StarAmulet + 01) * LevelAmulet))
3627 end
3628 end
3629 end
3630
3631 for SLOT_ID = 01, 05 do
3632 local itemID = player:getStorageValue(_SLOTS[SLOT_ID][01])
3633 if itemID > 0 then
3634 local RareItem = 0 local StarItem = 0 local LevelItem = 0
3635 local ItemART1 = 0 local ItemART2 = 0
3636 if player:getStorageValue(_SLOTS[SLOT_ID][02]) > 0 then RareItem = player:getStorageValue(_SLOTS[SLOT_ID][02]) end
3637 if player:getStorageValue(_SLOTS[SLOT_ID][03]) > 0 then StarItem = player:getStorageValue(_SLOTS[SLOT_ID][03]) end
3638 if player:getStorageValue(_SLOTS[SLOT_ID][04]) > 0 then LevelItem = player:getStorageValue(_SLOTS[SLOT_ID][04]) end
3639 if player:getStorageValue(_SLOTS[SLOT_ID][05]) > 0 then ItemART1 = player:getStorageValue(_SLOTS[SLOT_ID][05]) end
3640 if player:getStorageValue(_SLOTS[SLOT_ID][06]) > 0 then ItemART2 = player:getStorageValue(_SLOTS[SLOT_ID][06]) end
3641 local itemRecLevel = (_ITEMS[itemID].DEF + LevelItem + (StarItem * 10)) * 2
3642
3643 if player:getLevel() >= itemRecLevel then
3644 if player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 05 then
3645 ExtraDEF = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3646 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 06 then
3647 ExtraESQ = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3648 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 07 then
3649 ExtraMAG = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3650 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 16 then
3651 ResPlayer = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3652 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 18 then
3653 DEATH = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3654 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 19 then
3655 FIRE = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3656 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 20 then
3657 ICE = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3658 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 21 then
3659 ENERGY = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3660 elseif player:getStorageValue(_SYSTEM.AMULET_VALUES[00][02]) == 22 then
3661 EARTH = player:getStorageValue(_SYSTEM.AMULET_VALUES[00][03])
3662 end
3663 if ItemART1 == 01 then ExetaRes = 01 end
3664 if ItemART2 == 01 then ExetaRes = 01 end
3665 if ItemART1 == 02 then AtrCritico = AtrCritico + 01 end
3666 if ItemART2 == 02 then AtrCritico = AtrCritico + 01 end
3667 if ItemART1 == 03 then AtrTaxa = AtrTaxa + 01 end
3668 if ItemART2 == 03 then AtrTaxa = AtrTaxa + 01 end
3669 if ItemART1 == 05 then AtrHpCrit = AtrHpCrit + 01 end
3670 if ItemART2 == 05 then AtrHpCrit = AtrHpCrit + 01 end
3671 if ItemART1 == 06 then AtrDamage = AtrDamage + 01 end
3672 if ItemART2 == 06 then AtrDamage = AtrDamage + 01 end
3673 if ItemART1 == 07 then HPCritTaxa = HPCritTaxa + 01 end
3674 if ItemART2 == 07 then HPCritTaxa = HPCritTaxa + 01 end
3675 if ItemART1 == 11 then ExpCrit = ExpCrit + 01 end
3676 if ItemART1 == 13 then FreeRun = 01 end
3677 if ItemART2 == 13 then FreeRun = 01 end
3678 if ItemART1 == 15 then DropTaxa = DropTaxa + 01 end
3679 if ItemART1 == 15 then DropTaxa = DropTaxa + 01 end
3680 if ItemART2 == 15 then DropTaxa = DropTaxa + 01 end
3681 if ItemART1 == 16 then GoldDrTaxa = GoldDrTaxa + 01 end
3682 if ItemART2 == 16 then GoldDrTaxa = GoldDrTaxa + 01 end
3683 if ItemART1 == 20 then CriDistan = CriDistan + 01 end
3684 if ItemART2 == 20 then CriDistan = CriDistan + 01 end
3685 if ItemART1 == 32 then CriEXP = 01 end
3686 if ItemART2 == 32 then CriEXP = 01 end
3687
3688 if ItemART2 == 04 then ExtraDEF = ExtraDEF + 01 end
3689 if ItemART2 == 04 then ExtraDEF = ExtraDEF + 01 end
3690 if ItemART1 == 08 then
3691 local CriticalHealth = 70 * (player:getBaseMaxHealth() / 100)
3692 if player:getHealth() >= CriticalHealth then
3693 ExtraESQ = ExtraESQ + 01
3694 end
3695 end
3696 if ItemART2 == 08 then
3697 local CriticalHealth = 70 * (player:getBaseMaxHealth() / 100)
3698 if player:getHealth() >= CriticalHealth then
3699 ExtraESQ = ExtraESQ + 01
3700 end
3701 end
3702 if ItemART1 == 10 then CuraESQ = CuraESQ + 01 end
3703 if ItemART2 == 10 then CuraESQ = CuraESQ + 01 end
3704 if ItemART1 == 11 then CancelInv = 01 end
3705 if ItemART2 == 11 then CancelInv = 01 end
3706 if ItemART1 == 12 then FearPara = FearPara + 01 end
3707 if ItemART2 == 12 then FearPara = FearPara + 01 end
3708 if ItemART1 == 13 then CanPara = 01 end
3709 if ItemART2 == 13 then CanPara = 01 end
3710 if ItemART1 == 14 then DmgHalf = 01 end
3711 if ItemART2 == 14 then DmgHalf = 01 end
3712 if ItemART1 == 17 then BombFire = BombFire + 01 end
3713 if ItemART2 == 17 then BombFire = BombFire + 01 end
3714 if ItemART1 == 18 then BombEnergy = BombEnergy + 01 end
3715 if ItemART2 == 18 then BombEnergy = BombEnergy + 01 end
3716 if ItemART1 == 19 then BombIce = BombIce + 01 end
3717 if ItemART2 == 19 then BombIce = BombIce + 01 end
3718 if ItemART1 == 21 then BombDeath = BombDeath + 01 end
3719 if ItemART2 == 21 then BombDeath = BombDeath + 01 end
3720 if ItemART1 == 22 then BombEarth = BombEarth + 01 end
3721 if ItemART2 == 22 then BombEarth = BombEarth + 01 end
3722 if ItemART1 == 23 then BombHoly = BombHoly + 01 end
3723 if ItemART2 == 23 then BombHoly = BombHoly + 01 end
3724 if ItemART1 == 24 then BombPhysical = BombPhysical + 01 end
3725 if ItemART2 == 24 then BombPhysical = BombPhysical + 01 end
3726 if ItemART1 == 26 then SkillDmg = SkillDmg + 01 end
3727 if ItemART2 == 26 then SkillDmg = SkillDmg + 01 end
3728 if ItemART1 == 40 then ValueESQ = ValueESQ + 01 end
3729 if ItemART2 == 40 then ValueESQ = ValueESQ + 01 end
3730
3731 if ExtraDEF < 0 then ExtraDEF = 0 end
3732 if ExtraESQ < 0 then ExtraESQ = 0 end
3733 if ExtraMAG < 0 then ExtraMAG = 0 end
3734
3735 DEF = DEF + (_ITEMS[itemID].DEF + _RARIDADES[RareItem].Arm) + (StarItem * 10)
3736 ESQ = ESQ + (_ITEMS[itemID].ESQ + _RARIDADES[RareItem].Arm) + (StarItem * 10)
3737 if _ITEMS[itemID].MAG_TYPE then
3738 if _ITEMS[itemID].MAG_TYPE == "FIRE" then
3739 FIRE = FIRE + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + ExtraMAG
3740 elseif _ITEMS[itemID].MAG_TYPE == "ICE" then
3741 ICE = ICE + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + ExtraMAG
3742 elseif _ITEMS[itemID].MAG_TYPE == "ENERGY" then
3743 ENERGY = ENERGY + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + ExtraMAG
3744 elseif _ITEMS[itemID].MAG_TYPE == "EARTH" then
3745 EARTH = EARTH + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + ExtraMAG
3746 elseif _ITEMS[itemID].MAG_TYPE == "DEATH" then
3747 DEATH = DEATH + (_ITEMS[itemID].MAG + _RARIDADES[RareItem].Arm) + (StarItem * 10) + ExtraMAG
3748 end
3749 end
3750 end
3751 end
3752 end
3753 if ExtraDEF > 0 then
3754 local AtrTotal = _ATRIBUTOS[04].PERCENT * ExtraDEF
3755 ExtraDEF = AtrTotal - ((ExtraDEF - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3756 end
3757 if ExtraESQ > 0 then
3758 local AtrTotal = _ATRIBUTOS[08].PERCENT * ExtraESQ
3759 ExtraESQ = AtrTotal - ((ExtraESQ - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3760 end
3761 if CuraESQ > 0 then
3762 local AtrTotal = _ATRIBUTOS[10].PERCENT * CuraESQ
3763 CuraESQ = AtrTotal - ((CuraESQ - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3764 end
3765 if FearPara > 0 then
3766 local AtrTotal = _ATRIBUTOS[12].PERCENT * FearPara
3767 FearPara = AtrTotal - ((FearPara - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3768 end
3769 if BombFire > 0 then
3770 local AtrTotal = _ATRIBUTOS[17].PERCENT * BombFire
3771 BombFire = AtrTotal - ((BombFire - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3772 end
3773 if BombEnergy > 0 then
3774 local AtrTotal = _ATRIBUTOS[18].PERCENT * BombEnergy
3775 BombEnergy = AtrTotal - ((BombEnergy - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3776 end
3777 if BombIce > 0 then
3778 local AtrTotal = _ATRIBUTOS[19].PERCENT * BombIce
3779 BombIce = AtrTotal - ((BombIce - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3780 end
3781 if BombDeath > 0 then
3782 local AtrTotal = _ATRIBUTOS[21].PERCENT * BombDeath
3783 BombDeath = AtrTotal - ((BombDeath - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3784 end
3785 if BombEarth > 0 then
3786 local AtrTotal = _ATRIBUTOS[22].PERCENT * BombEarth
3787 BombEarth = AtrTotal - ((BombEarth - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3788 end
3789 if BombHoly > 0 then
3790 local AtrTotal = _ATRIBUTOS[23].PERCENT * BombHoly
3791 BombHoly = AtrTotal - ((BombHoly - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3792 end
3793 if BombPhysical > 0 then
3794 local AtrTotal = _ATRIBUTOS[23].PERCENT * BombPhysical
3795 BombPhysical = AtrTotal - ((BombPhysical - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3796 end
3797 if SkillDmg > 0 then
3798 local AtrTotal = _ATRIBUTOS[26].PERCENT * SkillDmg
3799 SkillDmg = AtrTotal - ((SkillDmg - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3800 end
3801 if ValueESQ > 0 then
3802 local AtrTotal = _ATRIBUTOS[40].PERCENT * ValueESQ
3803 ValueESQ = AtrTotal - ((ValueESQ - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3804 end
3805 if AtrCritico > 0 then
3806 local AtrTotal = _ATRIBUTOS[02].PERCENT * AtrCritico
3807 AtrCritico = AtrTotal - ((AtrCritico - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3808 end
3809 if AtrTaxa > 0 then
3810 local AtrTotal = _ATRIBUTOS[03].PERCENT * AtrTaxa
3811 AtrTaxa = AtrTotal - ((AtrTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3812 end
3813 if AtrHpCrit > 0 then
3814 local AtrTotal = _ATRIBUTOS[05].PERCENT * AtrHpCrit
3815 AtrHpCrit = AtrTotal - ((AtrHpCrit - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3816 end
3817 if AtrDamage > 0 then
3818 local AtrTotal = _ATRIBUTOS[06].PERCENT * AtrDamage
3819 AtrDamage = AtrTotal - ((AtrDamage - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3820 end
3821 if HPCritTaxa > 0 then
3822 local AtrTotal = _ATRIBUTOS[07].PERCENT * HPCritTaxa
3823 HPCritTaxa = AtrTotal - ((HPCritTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3824 end
3825 if ExpCrit > 0 then
3826 local AtrTotal = _ATRIBUTOS[11].PERCENT * ExpCrit
3827 ExpCrit = AtrTotal - ((ExpCrit - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3828 end
3829 if DropTaxa > 0 then
3830 local AtrTotal = _ATRIBUTOS[15].PERCENT * DropTaxa
3831 DropTaxa = AtrTotal - ((DropTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3832 end
3833 if GoldDrTaxa > 0 then
3834 local AtrTotal = _ATRIBUTOS[16].PERCENT * GoldDrTaxa
3835 GoldDrTaxa = AtrTotal - ((GoldDrTaxa - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3836 end
3837 if CriDistan > 0 then
3838 local AtrTotal = _ATRIBUTOS[20].PERCENT * CriDistan
3839 GoldDrTaxa = AtrTotal - ((CriDistan - 01) * _SYSTEM.ATR_SYSTEM_DIM)
3840 end
3841
3842 if player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_01) > 0 then
3843 local RingID = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_01)
3844 local RingRA = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_02)
3845 local RingST = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_03)
3846 local RingLV = player:getStorageValue(_SYSTEM.INVENTARIO[07].UID_05)
3847 if RingID == 7009 then -- Aumenta sua ESQ em + 20.
3848 ESQ = ESQ + 20
3849 end
3850 if RingID == 7010 then -- Aumenta sua resist�ncia contra danos do tipo DEATH em 10% ( + 05 por raridade ).
3851 if RingRA < 0 then RingRA = 0 end
3852 DEATH = DEATH + 10 + (05 * RingRA)
3853 end
3854 if RingID == 7011 then -- Aumenta sua resist�ncia contra danos do tipo ENERGY em 10% ( + 05 por raridade ).
3855 if RingRA < 0 then RingRA = 0 end
3856 ENERGY = ENERGY + 10 + (05 * RingRA)
3857 end
3858 if RingID == 7012 then -- Aumenta sua resist�ncia contra danos do tipo ICE em 10% ( + 05 por raridade ).
3859 if RingRA < 0 then RingRA = 0 end
3860 ICE = ICE + 10 + (05 * RingRA)
3861 end
3862 if RingID == 7013 then -- Aumenta sua resist�ncia contra danos do tipo FIRE em 10% ( + 05 por raridade ).
3863 if RingRA < 0 then RingRA = 0 end
3864 FIRE = FIRE + 10 + (05 * RingRA)
3865 end
3866 if RingID == 7014 then -- Aumenta sua resist�ncia contra danos do tipo EARTH em 10% ( + 05 por raridade ).
3867 if RingRA < 0 then RingRA = 0 end
3868 EARTH = EARTH + 10 + (05 * RingRA)
3869 end
3870 end
3871
3872 if ValueESQ > 0 then
3873 ESQ = ESQ + ValueESQ
3874 end
3875 if SkillDmg > 0 then
3876 player:setStorageValue(_SYSTEM.ATR_VALUES[04], SkillDmg)
3877 else
3878 player:setStorageValue(_SYSTEM.ATR_VALUES[04], nil)
3879 end
3880
3881 -- BUSCAR INFORMA��ES DO BONUS EXTRA
3882 local cid = player:getId()
3883 local SLOTS_BONUS_EXTRA = {02, 04, 05, 06, 08, 09}
3884 local StrBonus = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
3885
3886 for X = 01, #SLOTS_BONUS_EXTRA do
3887 local _BON = SLOTS_BONUS_EXTRA[X]
3888 if player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08) > 0 then
3889 local BonusUM = onBonusExtra(01, tostring(player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08)), 01) or 0
3890 if BonusUM > 00 then
3891 local BonusUMValue = onBonusExtra(01, tostring(player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08)), 02)
3892 local SomaBonus = StrBonus[BonusUM] + BonusUMValue
3893
3894 StrBonus[BonusUM] = SomaBonus
3895 local BonusDois = onBonusExtra(02, tostring(player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08)), 01) or 0
3896 if BonusDois > 00 then
3897 local BonusDoisValue = onBonusExtra(02, tostring(player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08)), 02)
3898 local SomaBonus = StrBonus[BonusDois] + BonusDoisValue
3899
3900 StrBonus[BonusDois] = SomaBonus
3901 local BonusTres = onBonusExtra(03, tostring(player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08)), 01) or 0
3902 if BonusTres > 00 then
3903 local BonusTresValue = onBonusExtra(03, tostring(player:getStorageValue(_SYSTEM.INVENTARIO[_BON].UID_08)), 02)
3904 local SomaBonus = StrBonus[BonusTres] + BonusTresValue
3905
3906 StrBonus[BonusTres] = SomaBonus
3907 end
3908 end
3909 end
3910 end
3911 end
3912
3913 local str = ""
3914 for F = 01, #StrBonus do
3915 if F == 01 then
3916 str = StrBonus[F]
3917 else
3918 str = str.. "," ..StrBonus[F]
3919 end
3920
3921 player:sendCancelMessage("@BonusExtraClient " ..F.. " " ..StrBonus[F])
3922 end
3923 --print("_BONUS_EXTRA_TABLE: " ..str)
3924 _BONUS_EXTRA_TABLE[cid] = StrBonus
3925 AtrTaxa = AtrTaxa + 05
3926 AtrCritico = AtrCritico + 05
3927 player:setStorageValue(_PLAYER_INFO.DEF, DEF)
3928 player:setStorageValue(_PLAYER_INFO.ESQ, ESQ)
3929 player:setStorageValue(_PLAYER_INFO.FIRE, FIRE)
3930 player:setStorageValue(_PLAYER_INFO.ICE, ICE)
3931 player:setStorageValue(_PLAYER_INFO.ENERGY, ENERGY)
3932 player:setStorageValue(_PLAYER_INFO.EARTH, EARTH)
3933 player:setStorageValue(_PLAYER_INFO.DEATH, DEATH)
3934 player:setStorageValue(_PLAYER_INFO.RES_PLAYER, ResPlayer)
3935 player:setStorageValue(_PLAYER_INFO.EXTRA_DEF, ExtraDEF)
3936 player:setStorageValue(_PLAYER_INFO.EXTRA_ESQ, ExtraESQ)
3937 player:setStorageValue(_PLAYER_INFO.EXTRA_MAG, ExtraMAG)
3938 player:setStorageValue(_PLAYER_INFO.CURA_ESQ, CuraESQ)
3939 player:setStorageValue(_PLAYER_INFO.FEAR_PARA, FearPara)
3940 player:setStorageValue(_PLAYER_INFO.BOMB_FIRE, BombFire)
3941 player:setStorageValue(_PLAYER_INFO.BOMB_ENERGY, BombEnergy)
3942 player:setStorageValue(_PLAYER_INFO.BOMB_ICE, BombIce)
3943 player:setStorageValue(_PLAYER_INFO.BOMB_EARTH, BombEarth)
3944 player:setStorageValue(_PLAYER_INFO.BOMB_DEATH, BombDeath)
3945 player:setStorageValue(_PLAYER_INFO.BOMB_HOLY, BombHoly)
3946 player:setStorageValue(_PLAYER_INFO.BOMB_PHYSICAL, BombPhysical)
3947 player:setStorageValue(_PLAYER_INFO.CANCEL_INV, CancelInv)
3948 player:setStorageValue(_PLAYER_INFO.CAN_PARA, CanPara)
3949 player:setStorageValue(_PLAYER_INFO.DMG_HALF, DmgHalf)
3950 player:setStorageValue(_PLAYER_INFO.ATR_CRITICO, AtrCritico)
3951 player:setStorageValue(_PLAYER_INFO.ATR_TAXA, AtrTaxa)
3952 player:setStorageValue(_PLAYER_INFO.ATR_HP_CRITICO, AtrHpCrit)
3953 player:setStorageValue(_PLAYER_INFO.ATR_DAMAGE, AtrDamage)
3954 player:setStorageValue(_PLAYER_INFO.HP_CRIT_TAXA, HPCritTaxa)
3955 player:setStorageValue(_PLAYER_INFO.DROP_TAXA, DropTaxa)
3956 player:setStorageValue(_PLAYER_INFO.GOLD_ATR_TAX, GoldDrTaxa)
3957 player:setStorageValue(_PLAYER_INFO.EXP_CRIT, ExpCrit)
3958 player:setStorageValue(_PLAYER_INFO.EXETA_RES, ExetaRes)
3959 player:setStorageValue(_PLAYER_INFO.CRIT_DIST, CriDistan)
3960 player:setStorageValue(_PLAYER_INFO.CRIT_EXP, CriEXP)
3961 player:setStorageValue(_PLAYER_INFO.FREE_RUN, FreeRun)
3962 end
3963 return result
3964end
3965function doSummon(player, action, star, id)
3966 if action == 00 then -- Atualizar | Organizar
3967 local _SUMMONS_ORDER = {
3968 [01] = {ID_01 = 0000}, [02] = {ID_01 = 0000}, [03] = {ID_01 = 0000}, [04] = {ID_01 = 0000},
3969 [05] = {ID_01 = 0000}, [06] = {ID_01 = 0000}, [07] = {ID_01 = 0000}, [08] = {ID_01 = 0000},
3970 [09] = {ID_01 = 0000}, [10] = {ID_01 = 0000}, [11] = {ID_01 = 0000}, [12] = {ID_01 = 0000},
3971 [13] = {ID_01 = 0000}, [14] = {ID_01 = 0000}, [15] = {ID_01 = 0000}, [16] = {ID_01 = 0000},
3972 [17] = {ID_01 = 0000}, [18] = {ID_01 = 0000}, [19] = {ID_01 = 0000}, [20] = {ID_01 = 0000},
3973 [21] = {ID_01 = 0000}, [22] = {ID_01 = 0000}, [23] = {ID_01 = 0000}, [24] = {ID_01 = 0000},
3974 [25] = {ID_01 = 0000}, [26] = {ID_01 = 0000}, [27] = {ID_01 = 0000}, [28] = {ID_01 = 0000},
3975 [29] = {ID_01 = 0000}, [30] = {ID_01 = 0000}, [31] = {ID_01 = 0000}, [32] = {ID_01 = 0000},
3976 [33] = {ID_01 = 0000}, [34] = {ID_01 = 0000}, [35] = {ID_01 = 0000}, [36] = {ID_01 = 0000},
3977 [37] = {ID_01 = 0000}, [38] = {ID_01 = 0000}, [39] = {ID_01 = 0000}, [40] = {ID_01 = 0000},
3978 [41] = {ID_01 = 0000}, [42] = {ID_01 = 0000}, [43] = {ID_01 = 0000}, [44] = {ID_01 = 0000},
3979 [45] = {ID_01 = 0000}, [46] = {ID_01 = 0000}, [47] = {ID_01 = 0000}, [48] = {ID_01 = 0000},
3980 [49] = {ID_01 = 0000}, [50] = {ID_01 = 0000}
3981 }
3982
3983 local SUM_POS = 1
3984 local SUMMON_MAX = 0
3985 SUMMON_POS_FREE = 0
3986 for i = 01, 50 do
3987 if player:getStorageValue(_SUMMONS[star][i].UID_01) > 0 then
3988 _SUMMONS_ORDER[SUM_POS].ID_01 = player:getStorageValue(_SUMMONS[star][i].UID_01)
3989 SUM_POS = SUM_POS + 1
3990 SUMMON_MAX = SUMMON_MAX + 1
3991 else
3992 if SUMMON_POS_FREE == 0 then
3993 SUMMON_POS_FREE = i
3994 end
3995 end
3996 end
3997
3998 for y = 01, 50 do
3999 player:setStorageValue(_SUMMONS[star][y].UID_01, _SUMMONS_ORDER[y].ID_01)
4000 end
4001
4002 player:sendCancelMessage("@LoadSummon 00 " ..SUMMON_MAX)
4003 for POS = 01, 50 do
4004 player:sendCancelMessage("@LoadSummon " ..POS.. " " .._SUMMONS_ORDER[POS].ID_01)
4005 end
4006
4007 return SUMMON_MAX
4008 end
4009 if action == 01 then -- Ganhar
4010 player:setStorageValue(_SUMMONS[star][SUMMON_POS_FREE].UID_01, id)
4011 return true
4012 end
4013 if action == 02 then -- Procurar
4014 local SUMMON_ID_POS = 0
4015 for i = 01, 50 do
4016 if player:getStorageValue(_SUMMONS[star][i].UID_01) == id then
4017 SUMMON_ID_POS = i
4018 break
4019 end
4020 end
4021
4022 return SUMMON_ID_POS
4023 end
4024 if action == 03 then -- Equipar
4025 local sum_id = player:getStorageValue(_SUMMONS[star][id].UID_01)
4026 player:setStorageValue(_SYSTEM.INVENTARIO[10].UID_01, sum_id)
4027 player:sendCancelMessage("@EquipSummon " ..sum_id)
4028 end
4029end
4030function onDamage(player, id, lvl, star, retorno, skillid)
4031 local GUN_ID = id
4032 local GUN_LEVEL = 00
4033 local GUN_STAR = 00
4034 local GUN_RARE = 00
4035 local ATR_DMG_MIN = 00
4036 local DMG_FOR_LEVEL = 00
4037 local DMG_FOR_PASS = 00
4038 local GUN_RARE = player:getStorageValue(_SYSTEM.INVENTARIO[04].UID_02) or 0
4039 local cid = player:getId()
4040
4041 if _ITEMS[GUN_ID] then
4042 if _ITEMS[GUN_ID].GUN_TYPE == 01 then
4043 DMG_FOR_LEVEL = 01 -- METRALHADORA
4044 elseif _ITEMS[GUN_ID].GUN_TYPE == 02 then
4045 DMG_FOR_LEVEL = 03 -- PISTOLA
4046 elseif _ITEMS[GUN_ID].GUN_TYPE == 03 then
4047 DMG_FOR_LEVEL = 02 -- RIFLES
4048 elseif _ITEMS[GUN_ID].GUN_TYPE == 04 then
4049 DMG_FOR_LEVEL = 04 -- ESPINGARDA
4050 end
4051 end
4052 if lvl ~= nil and lvl > 0 then GUN_LEVEL = lvl end
4053 if star ~= nil and star > 0 then GUN_STAR = star end
4054 local DanoMinBase = 0
4055 local DanoMaxBase = 0
4056 DanoMinBase = _ITEMS[GUN_ID].MIN or 0
4057
4058 if _ITEMS[GUN_ID].GUN_TYPE == 01 then
4059 RARE_DMG = _RARIDADES[GUN_RARE].Arm
4060 else
4061 RARE_DMG = _RARIDADES[GUN_RARE].Gun
4062 end
4063 local DanoMinAtual = (DanoMinBase + (GUN_STAR * 10)) + (GUN_LEVEL * DMG_FOR_LEVEL) + RARE_DMG
4064 if player:getStorageValue(_SYSTEM.ATR_VALUES[04]) > 0 then
4065 ATR_DMG_MIN = ATR_DMG_MIN + player:getStorageValue(_SYSTEM.ATR_VALUES[04]) * (DanoMinAtual / 100)
4066 end
4067 if _SPELLS[skillid].ELEMENT == "FIRE" then
4068 if onGetPassivas(player, 51) then
4069 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[51].POWER_BASE + (_PASSIVES[51].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4070 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4071 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[51].CATEGORY then
4072 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[51].BOOST
4073 end
4074 end
4075 end
4076 if _BONUS_EXTRA_TABLE[cid] then
4077 local ID_BONUS = 23
4078 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4079 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4080 end
4081 end
4082 end
4083 if _SPELLS[skillid].ELEMENT == "ICE" then
4084 if onGetPassivas(player, 52) then
4085 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[52].POWER_BASE + (_PASSIVES[52].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4086 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4087 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[52].CATEGORY then
4088 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[52].BOOST
4089 end
4090 end
4091 end
4092 if _BONUS_EXTRA_TABLE[cid] then
4093 local ID_BONUS = 24
4094 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4095 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4096 end
4097 end
4098 end
4099 if _SPELLS[skillid].ELEMENT == "ENERGY" then
4100 if onGetPassivas(player, 53) then
4101 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[53].POWER_BASE + (_PASSIVES[53].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4102 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4103 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[53].CATEGORY then
4104 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[53].BOOST
4105 end
4106 end
4107 end
4108 if _BONUS_EXTRA_TABLE[cid] then
4109 local ID_BONUS = 27
4110 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4111 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4112 end
4113 end
4114 end
4115 if _SPELLS[skillid].ELEMENT == "EARTH" then
4116 if onGetPassivas(player, 54) then
4117 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[54].POWER_BASE + (_PASSIVES[54].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4118 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4119 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[54].CATEGORY then
4120 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[54].BOOST
4121 end
4122 end
4123 end
4124 if _BONUS_EXTRA_TABLE[cid] then
4125 local ID_BONUS = 25
4126 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4127 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4128 end
4129 end
4130 end
4131 if _SPELLS[skillid].ELEMENT == "DEATH" then
4132 if onGetPassivas(player, 55) then
4133 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[55].POWER_BASE + (_PASSIVES[55].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4134 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4135 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[55].CATEGORY then
4136 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[55].BOOST
4137 end
4138 end
4139 end
4140 if _BONUS_EXTRA_TABLE[cid] then
4141 local ID_BONUS = 28
4142 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4143 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4144 end
4145 end
4146 end
4147 if _SPELLS[skillid].ELEMENT == "HOLY" then
4148 if onGetPassivas(player, 56) then
4149 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[56].POWER_BASE + (_PASSIVES[56].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4150 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4151 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[56].CATEGORY then
4152 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[56].BOOST
4153 end
4154 end
4155 end
4156 if _BONUS_EXTRA_TABLE[cid] then
4157 local ID_BONUS = 26
4158 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4159 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4160 end
4161 end
4162 end
4163 if _SPELLS[skillid].ELEMENT == "PHYSICAL" then
4164 if onGetPassivas(player, 57) then
4165 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[57].POWER_BASE + (_PASSIVES[57].POWER_FOR_LEVEL * (PASSIVE_LEVEL - 01))
4166 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.STORAGE) == 02 then -- PASSIVA DAS CORES
4167 if Game.getStorageValue(_GLOBAL_RANDOM.DAILY_EVENTS.PASSIVE) == _PASSIVES[57].CATEGORY then
4168 DMG_FOR_PASS = DMG_FOR_PASS + _PASSIVES[57].BOOST
4169 end
4170 end
4171 end
4172 if _BONUS_EXTRA_TABLE[cid] then
4173 local ID_BONUS = 29
4174 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4175 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4176 end
4177 end
4178 end
4179
4180 local MinFinal = DanoMinAtual + (_SPELLS[skillid].DMG * (DanoMinAtual / 100)) + ATR_DMG_MIN
4181 if MinFinal < 0 then
4182 MinFinal = MinFinal * -1
4183 end
4184 if _BONUS_EXTRA_TABLE[cid] then
4185 local ID_BONUS = 43
4186 if _BONUS_EXTRA_TABLE[cid][ID_BONUS] > 00 then
4187 DMG_FOR_PASS = DMG_FOR_PASS + _BONUS_EXTRA_TABLE[cid][ID_BONUS]
4188 end
4189 end
4190 if DMG_FOR_PASS > 00 then
4191 MinFinal = MinFinal + math.floor(DMG_FOR_PASS * (MinFinal / 100))
4192 end
4193
4194 return MinFinal
4195end
4196function onDepot(player, type, ext, dpos, slot, extbag, pos, qnt)
4197 local DEPOT_TEMP = {
4198 [001] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4199 [002] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4200 [003] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4201 [004] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4202 [005] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4203 [006] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4204 [007] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4205 [008] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4206 [009] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4207 [010] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4208 [011] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4209 [012] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4210 [013] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4211 [014] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4212 [015] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4213 [016] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4214 [017] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4215 [018] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4216 [019] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4217 [020] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4218 [021] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4219 [022] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4220 [023] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4221 [024] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4222 [025] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4223 [026] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4224 [027] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4225 [028] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4226 [029] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4227 [030] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4228 [031] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4229 [032] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4230 [033] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4231 [034] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4232 [035] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4233 [036] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4234 [037] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4235 [038] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4236 [039] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4237 [040] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4238 [041] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4239 [042] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4240 [043] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4241 [044] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4242 [045] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4243 [046] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4244 [047] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4245 [048] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4246 [049] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4247 [050] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4248
4249 [051] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4250 [052] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4251 [053] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4252 [054] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4253 [055] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4254 [056] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4255 [057] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4256 [058] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4257 [059] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4258 [060] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4259 [061] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4260 [062] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4261 [063] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4262 [064] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4263 [065] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4264 [066] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4265 [067] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4266 [068] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4267 [069] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4268 [070] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4269 [071] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4270 [072] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4271 [073] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4272 [074] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4273 [075] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4274 [076] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4275 [077] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4276 [078] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4277 [079] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4278 [080] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4279 [081] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4280 [082] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4281 [083] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4282 [084] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4283 [085] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4284 [086] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4285 [087] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4286 [088] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4287 [089] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4288 [090] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4289 [091] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4290 [092] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4291 [093] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4292 [094] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4293 [095] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4294 [096] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4295 [097] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4296 [098] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4297 [099] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4298 [100] = {UID_01 = 0000, UID_02 = 0000, UID_03 = 0000, UID_04 = 0000, UID_05 = 0000, UID_06 = 0000, UID_07 = 0000, UID_08 = 0000, UID_09 = 0000, UID_10 = 0000, VALUE = 000};
4299
4300 }
4301
4302 if type == 00 then -- ORGANIZAR
4303 local DepotTempPos = 01
4304 for X = 01, #DEPOT_TEMP do
4305 local ITEM_ID = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_01)
4306 if ITEM_ID > 0 and _ITEMS[ITEM_ID] then
4307 if _ITEMS[ITEM_ID].SLOT_EQUIP == 00 or _ITEMS[ITEM_ID].SLOT_EQUIP == 03 or _ITEMS[ITEM_ID].SLOT_EQUIP > 09 then
4308 if player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_04) > 00 then
4309 DEPOT_TEMP[DepotTempPos].UID_01 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_01)
4310 DEPOT_TEMP[DepotTempPos].UID_02 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_02)
4311 DEPOT_TEMP[DepotTempPos].UID_03 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_03)
4312 DEPOT_TEMP[DepotTempPos].UID_04 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_04)
4313 DEPOT_TEMP[DepotTempPos].UID_05 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_05)
4314 DEPOT_TEMP[DepotTempPos].UID_06 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_06)
4315 DEPOT_TEMP[DepotTempPos].UID_07 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_07)
4316 DEPOT_TEMP[DepotTempPos].UID_08 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_08)
4317 DEPOT_TEMP[DepotTempPos].UID_09 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_09)
4318 DEPOT_TEMP[DepotTempPos].UID_10 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_10)
4319
4320 DepotTempPos = DepotTempPos + 01
4321 end
4322 else
4323 DEPOT_TEMP[DepotTempPos].UID_01 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_01)
4324 DEPOT_TEMP[DepotTempPos].UID_02 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_02)
4325 DEPOT_TEMP[DepotTempPos].UID_03 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_03)
4326 DEPOT_TEMP[DepotTempPos].UID_04 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_04)
4327 DEPOT_TEMP[DepotTempPos].UID_05 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_05)
4328 DEPOT_TEMP[DepotTempPos].UID_06 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_06)
4329 DEPOT_TEMP[DepotTempPos].UID_07 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_07)
4330 DEPOT_TEMP[DepotTempPos].UID_08 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_08)
4331 DEPOT_TEMP[DepotTempPos].UID_09 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_09)
4332 DEPOT_TEMP[DepotTempPos].UID_10 = player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_10)
4333
4334 DepotTempPos = DepotTempPos + 01
4335 end
4336 end
4337 end
4338 for Z = 01, #DEPOT_TEMP do
4339 if DEPOT_TEMP[Z].UID_01 > 00 then
4340 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_01, DEPOT_TEMP[Z].UID_01)
4341 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_02, DEPOT_TEMP[Z].UID_02)
4342 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_03, DEPOT_TEMP[Z].UID_03)
4343 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_04, DEPOT_TEMP[Z].UID_04)
4344 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_05, DEPOT_TEMP[Z].UID_05)
4345 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_06, DEPOT_TEMP[Z].UID_06)
4346 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_07, DEPOT_TEMP[Z].UID_07)
4347 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_08, DEPOT_TEMP[Z].UID_08)
4348 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_09, DEPOT_TEMP[Z].UID_09)
4349 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_10, DEPOT_TEMP[Z].UID_10)
4350 else
4351 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_01, nil)
4352 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_02, nil)
4353 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_03, nil)
4354 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_04, nil)
4355 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_05, nil)
4356 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_06, nil)
4357 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_07, nil)
4358 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_08, nil)
4359 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_09, nil)
4360 player:setStorageValue(_SYSTEM.DEPOT[ext][Z].UID_10, nil)
4361 end
4362 end
4363 for Y = 01, #DEPOT_TEMP do
4364 local A = DEPOT_TEMP[Y].UID_01
4365 local B = DEPOT_TEMP[Y].UID_02
4366 local C = DEPOT_TEMP[Y].UID_03
4367 local D = DEPOT_TEMP[Y].UID_04
4368 local E = DEPOT_TEMP[Y].UID_05
4369 local F = DEPOT_TEMP[Y].UID_06
4370 local G = DEPOT_TEMP[Y].UID_07
4371 local H = DEPOT_TEMP[Y].UID_08
4372 local I = DEPOT_TEMP[Y].UID_09
4373 local J = DEPOT_TEMP[Y].UID_10
4374
4375 player:sendCancelMessage("@DepotItems " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " " ..G.. " " ..H.. " " ..I.. " " ..J.. " " ..Y)
4376 end
4377 end
4378 if type == 01 then -- ADICIONAR
4379 local DEPOT_EMPTY_POS = 00
4380 local STACK_DEPOT_POS = 00
4381 for X = 01, #DEPOT_TEMP do
4382 if slot == 03 or slot == 00 or slot == 11 or slot == 12 then
4383 if player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_01) > 00 then
4384 if player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_09) <= 00 and player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_09) <= 00 then
4385 if player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_01) == player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_01) then
4386 STACK_DEPOT_POS = X
4387 break
4388 end
4389 end
4390 else
4391 DEPOT_EMPTY_POS = X
4392 break
4393 end
4394 else
4395 if player:getStorageValue(_SYSTEM.DEPOT[ext][X].UID_01) <= 00 then
4396 DEPOT_EMPTY_POS = X
4397 break
4398 end
4399 end
4400 end
4401 if DEPOT_EMPTY_POS > 00 or STACK_DEPOT_POS > 00 then
4402 if slot == 03 or slot == 00 or slot == 11 or slot == 12 then
4403 if STACK_DEPOT_POS > 00 then
4404 player:setStorageValue(_SYSTEM.DEPOT[ext][STACK_DEPOT_POS].UID_04, (player:getStorageValue(_SYSTEM.DEPOT[ext][STACK_DEPOT_POS].UID_04) + qnt))
4405 else
4406 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_01, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_01))
4407 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_02, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_02))
4408 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_03, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_03))
4409 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_04, qnt)
4410 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_05, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_05))
4411 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_06, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_06))
4412 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_07, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_07))
4413 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_08, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_08))
4414 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_09, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_09))
4415 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_10, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_10))
4416 end
4417 if qnt < player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_04) then
4418 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_04, (player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_04) - qnt))
4419 else
4420 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_01, nil)
4421 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_02, nil)
4422 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_03, nil)
4423 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_04, nil)
4424 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_05, nil)
4425 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_06, nil)
4426 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_07, nil)
4427 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_08, nil)
4428 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_09, nil)
4429 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_10, nil)
4430 end
4431 else
4432 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_01, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_01))
4433 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_02, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_02))
4434 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_03, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_03))
4435 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_04, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_04))
4436 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_05, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_05))
4437 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_06, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_06))
4438 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_07, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_07))
4439 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_08, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_08))
4440 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_09, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_09))
4441 player:setStorageValue(_SYSTEM.DEPOT[ext][DEPOT_EMPTY_POS].UID_10, player:getStorageValue(_BACKPACK[slot][extbag][pos].UID_10))
4442
4443 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_01, nil)
4444 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_02, nil)
4445 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_03, nil)
4446 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_05, nil)
4447 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_06, nil)
4448 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_07, nil)
4449 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_08, nil)
4450 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_09, nil)
4451 player:setStorageValue(_BACKPACK[slot][extbag][pos].UID_10, nil)
4452 end
4453
4454 doBackpack(player, 00, slot, extbag, 01)
4455 onDepot(player, 00, ext)
4456 player:sendCancelMessage("@closedBackpack")
4457 return true
4458 else
4459 return false
4460 end
4461 end
4462 if type == 02 then -- RETIRAR
4463 local ITEM_ID = player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_01)
4464 local SLOT_PADRAO = 00
4465 if _ITEMS[ITEM_ID] then
4466 if _ITEMS[ITEM_ID].SLOT_EQUIP == 00 or _ITEMS[ITEM_ID].SLOT_EQUIP == 03 or _ITEMS[ITEM_ID].SLOT_EQUIP > 09 then
4467 SLOT_PADRAO = 03
4468 else
4469 SLOT_PADRAO = _ITEMS[ITEM_ID].SLOT_EQUIP
4470 end
4471 if doBackpack(player, 00, SLOT_PADRAO, extbag, 01) then
4472 local rare = player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_02)
4473 local star = player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_03)
4474 local uni = player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_09)
4475
4476 if SLOT_PADRAO == 03 then
4477 if uni > 0 then
4478 if doBackpack(player, 01, SLOT_PADRAO, extbag, 00, ITEM_ID, rare, star, qnt, uni) then
4479 player:getPosition():sendMagicEffect(14)
4480
4481 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_01, nil)
4482 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_02, nil)
4483 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_03, nil)
4484 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04, nil)
4485 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_05, nil)
4486 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_06, nil)
4487 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_07, nil)
4488 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_08, nil)
4489 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_09, nil)
4490 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_10, nil)
4491 end
4492 else
4493 doBackpack(player, 03, SLOT_PADRAO, extbag, 01, ITEM_ID) -- Procurar
4494 if doBackpack(player, 01, SLOT_PADRAO, extbag, 00, ITEM_ID, rare, star, qnt) then
4495 player:getPosition():sendMagicEffect(14)
4496
4497 if qnt >= player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04) then
4498 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_01, nil)
4499 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_02, nil)
4500 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_03, nil)
4501 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04, nil)
4502 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_05, nil)
4503 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_06, nil)
4504 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_07, nil)
4505 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_08, nil)
4506 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_09, nil)
4507 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_10, nil)
4508 else
4509 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04, (player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04) - qnt))
4510 end
4511 end
4512 end
4513 else
4514 doBackpack(player, 00, slot, extbag, 01)
4515 local PosBag = doBackpack(player, 08)
4516 local ExtBag = doBackpack(player, 09)
4517
4518 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_01, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_01))
4519 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_02, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_02))
4520 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_03, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_03))
4521 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_04, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04))
4522 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_05, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_05))
4523 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_06, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_06))
4524 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_07, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_07))
4525 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_08, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_08))
4526 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_09, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_09))
4527 player:setStorageValue(_BACKPACK[SLOT_PADRAO][ExtBag][PosBag].UID_10, player:getStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_10))
4528
4529 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_01, nil)
4530 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_02, nil)
4531 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_03, nil)
4532 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_04, nil)
4533 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_05, nil)
4534 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_06, nil)
4535 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_07, nil)
4536 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_08, nil)
4537 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_09, nil)
4538 player:setStorageValue(_SYSTEM.DEPOT[ext][dpos].UID_10, nil)
4539
4540 end
4541
4542 doBackpack(player, 00, SLOT_PADRAO, extbag, 01)
4543 onDepot(player, 00, ext)
4544 return true
4545 else
4546 player:popupFYI("N�o h� espa�o em sua backpack.")
4547 return false
4548 end
4549 end
4550 end
4551 if type == 04 then -- DELETAR TODO O DEPOT
4552 for X = 01, #DEPOT_TEMP do
4553 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_01, nil)
4554 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_02, nil)
4555 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_03, nil)
4556 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_04, nil)
4557 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_05, nil)
4558 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_06, nil)
4559 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_07, nil)
4560 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_08, nil)
4561 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_09, nil)
4562 player:setStorageValue(_SYSTEM.DEPOT[ext][X].UID_10, nil)
4563 end
4564
4565 onDepot(player, 00, ext)
4566 end
4567 if type == 05 then -- ORGANIZAR POR RARIDADE
4568 local _BAG_TEMPO_POS = 01
4569 for RARE_ID = 00, 04 do
4570 for BAG_POS = 01, 100 do
4571 if player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01) > 00 then
4572 if _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)] then
4573 if player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02) == RARE_ID then
4574 DEPOT_TEMP[_BAG_TEMPO_POS].UID_01 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)
4575 DEPOT_TEMP[_BAG_TEMPO_POS].UID_02 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02)
4576 DEPOT_TEMP[_BAG_TEMPO_POS].UID_03 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03)
4577 DEPOT_TEMP[_BAG_TEMPO_POS].UID_04 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04)
4578 DEPOT_TEMP[_BAG_TEMPO_POS].UID_05 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05)
4579 DEPOT_TEMP[_BAG_TEMPO_POS].UID_06 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06)
4580 DEPOT_TEMP[_BAG_TEMPO_POS].UID_07 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07)
4581 DEPOT_TEMP[_BAG_TEMPO_POS].UID_08 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08)
4582 DEPOT_TEMP[_BAG_TEMPO_POS].UID_09 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09)
4583 DEPOT_TEMP[_BAG_TEMPO_POS].UID_10 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10)
4584
4585 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
4586 end
4587 end
4588 else
4589 break
4590 end
4591 end
4592 end
4593 for X = 01, #DEPOT_TEMP do
4594 if DEPOT_TEMP[X].UID_01 > 00 then
4595 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_01, DEPOT_TEMP[X].UID_01)
4596 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_02, DEPOT_TEMP[X].UID_02)
4597 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_03, DEPOT_TEMP[X].UID_03)
4598 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_04, DEPOT_TEMP[X].UID_04)
4599 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_05, DEPOT_TEMP[X].UID_05)
4600 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_06, DEPOT_TEMP[X].UID_06)
4601 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_07, DEPOT_TEMP[X].UID_07)
4602 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_08, DEPOT_TEMP[X].UID_08)
4603 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_09, DEPOT_TEMP[X].UID_09)
4604 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_10, DEPOT_TEMP[X].UID_10)
4605 else
4606 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_01, nil)
4607 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_02, nil)
4608 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_03, nil)
4609 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_04, nil)
4610 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_05, nil)
4611 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_06, nil)
4612 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_07, nil)
4613 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_08, nil)
4614 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_09, nil)
4615 player:setStorageValue(_SYSTEM.DEPOT[01][X].UID_10, nil)
4616 end
4617 end
4618 for ORDER = 01, #DEPOT_TEMP do
4619 local A = DEPOT_TEMP[ORDER].UID_01
4620 local B = DEPOT_TEMP[ORDER].UID_02
4621 local C = DEPOT_TEMP[ORDER].UID_03
4622 local D = DEPOT_TEMP[ORDER].UID_04
4623 local E = DEPOT_TEMP[ORDER].UID_05
4624 local F = DEPOT_TEMP[ORDER].UID_06
4625 local G = DEPOT_TEMP[ORDER].UID_07
4626 local H = DEPOT_TEMP[ORDER].UID_08
4627 local I = DEPOT_TEMP[ORDER].UID_09
4628 local J = DEPOT_TEMP[ORDER].UID_10
4629
4630 player:sendCancelMessage("@DepotItems " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " " ..G.. " " ..H.. " " ..I.. " " ..J.. " " ..ORDER)
4631 end
4632 end
4633 if type == 06 then -- ORGANIZAR POR LEVEL
4634 local _BAG_TEMPO_POS = 01
4635 local LevelOrder = {}
4636 for BAG_POS = 01, #DEPOT_TEMP do
4637 if player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01) > 00 then
4638 if _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)] then
4639 local REQUISITO_LEVEL = 00
4640 local slot = _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].SLOT_EQUIP
4641 if slot == 02 or slot == 04 or slot == 05 or slot == 06 or slot == 08 or slot == 09 then
4642 DEPOT_TEMP[_BAG_TEMPO_POS].UID_01 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)
4643 DEPOT_TEMP[_BAG_TEMPO_POS].UID_02 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02)
4644 DEPOT_TEMP[_BAG_TEMPO_POS].UID_03 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03)
4645 DEPOT_TEMP[_BAG_TEMPO_POS].UID_04 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04)
4646 DEPOT_TEMP[_BAG_TEMPO_POS].UID_05 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05)
4647 DEPOT_TEMP[_BAG_TEMPO_POS].UID_06 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06)
4648 DEPOT_TEMP[_BAG_TEMPO_POS].UID_07 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07)
4649 DEPOT_TEMP[_BAG_TEMPO_POS].UID_08 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08)
4650 DEPOT_TEMP[_BAG_TEMPO_POS].UID_09 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09)
4651 DEPOT_TEMP[_BAG_TEMPO_POS].UID_10 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10)
4652
4653 if slot == 04 then
4654 local GUN_BASE_LEVEL = _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].LEVEL
4655 local LEVEL_FOR_RARE = 05
4656 local LEVEL_FOR_LEVEL = 04
4657 local GUN_RARE = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02) or 0
4658 local GUN_LEVEL = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07) or 0
4659 local GUN_STAR = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03) or 0
4660
4661 if GUN_RARE < 00 then GUN_RARE = 00 end
4662 if GUN_LEVEL < 00 then GUN_LEVEL = 00 end
4663 if GUN_STAR < 00 then GUN_STAR = 00 end
4664 REQUISITO_LEVEL = GUN_BASE_LEVEL + (GUN_RARE * LEVEL_FOR_RARE) + (GUN_LEVEL * LEVEL_FOR_LEVEL) + ((GUN_STAR * 10) * LEVEL_FOR_LEVEL)
4665 else
4666 local LEVEL_EQUIP = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05) or 0
4667 local LEVEL_STAR = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03) or 0
4668 local LEVEL_DEF = 10000
4669
4670 if LEVEL_EQUIP < 0 then LEVEL_EQUIP = 0 end
4671 if LEVEL_STAR < 0 then LEVEL_STAR = 0 end
4672 if _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].DEF ~= nil then
4673 LEVEL_DEF = _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].DEF
4674 end
4675 REQUISITO_LEVEL = (LEVEL_DEF + LEVEL_EQUIP + (LEVEL_STAR * 10)) * 02
4676 end
4677
4678 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, nil)
4679 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, nil)
4680 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, nil)
4681 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, nil)
4682 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, nil)
4683 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, nil)
4684 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, nil)
4685 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, nil)
4686 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, nil)
4687 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, nil)
4688
4689 DEPOT_TEMP[_BAG_TEMPO_POS].VALUE = REQUISITO_LEVEL
4690 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
4691 table.insert(LevelOrder, REQUISITO_LEVEL)
4692 else
4693 REQUISITO_LEVEL = 01
4694 DEPOT_TEMP[_BAG_TEMPO_POS].UID_01 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)
4695 DEPOT_TEMP[_BAG_TEMPO_POS].UID_02 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02)
4696 DEPOT_TEMP[_BAG_TEMPO_POS].UID_03 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03)
4697 DEPOT_TEMP[_BAG_TEMPO_POS].UID_04 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04)
4698 DEPOT_TEMP[_BAG_TEMPO_POS].UID_05 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05)
4699 DEPOT_TEMP[_BAG_TEMPO_POS].UID_06 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06)
4700 DEPOT_TEMP[_BAG_TEMPO_POS].UID_07 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07)
4701 DEPOT_TEMP[_BAG_TEMPO_POS].UID_08 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08)
4702 DEPOT_TEMP[_BAG_TEMPO_POS].UID_09 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09)
4703 DEPOT_TEMP[_BAG_TEMPO_POS].UID_10 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10)
4704
4705 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, nil)
4706 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, nil)
4707 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, nil)
4708 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, nil)
4709 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, nil)
4710 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, nil)
4711 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, nil)
4712 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, nil)
4713 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, nil)
4714 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, nil)
4715
4716 DEPOT_TEMP[_BAG_TEMPO_POS].VALUE = REQUISITO_LEVEL
4717 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
4718 table.insert(LevelOrder, REQUISITO_LEVEL)
4719 end
4720 else
4721 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, nil)
4722 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, nil)
4723 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, nil)
4724 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, nil)
4725 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, nil)
4726 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, nil)
4727 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, nil)
4728 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, nil)
4729 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, nil)
4730 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, nil)
4731 end
4732 else
4733 break
4734 end
4735 end
4736 table.sort(LevelOrder)
4737 local BAG_POS = 01
4738 for LVL = 01, #LevelOrder do
4739 local LEVEL = LevelOrder[LVL]
4740 for POS = 01, #DEPOT_TEMP do
4741 if DEPOT_TEMP[POS].VALUE > 00 then
4742 if DEPOT_TEMP[POS].VALUE == LEVEL then
4743 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, DEPOT_TEMP[POS].UID_01)
4744 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, DEPOT_TEMP[POS].UID_02)
4745 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, DEPOT_TEMP[POS].UID_03)
4746 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, DEPOT_TEMP[POS].UID_04)
4747 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, DEPOT_TEMP[POS].UID_05)
4748 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, DEPOT_TEMP[POS].UID_06)
4749 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, DEPOT_TEMP[POS].UID_07)
4750 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, DEPOT_TEMP[POS].UID_08)
4751 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, DEPOT_TEMP[POS].UID_09)
4752 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, DEPOT_TEMP[POS].UID_10)
4753
4754 DEPOT_TEMP[POS].UID_01 = 0000
4755 DEPOT_TEMP[POS].UID_02 = 0000
4756 DEPOT_TEMP[POS].UID_03 = 0000
4757 DEPOT_TEMP[POS].UID_04 = 0000
4758 DEPOT_TEMP[POS].UID_05 = 0000
4759 DEPOT_TEMP[POS].UID_06 = 0000
4760 DEPOT_TEMP[POS].UID_07 = 0000
4761 DEPOT_TEMP[POS].UID_08 = 0000
4762 DEPOT_TEMP[POS].UID_09 = 0000
4763 DEPOT_TEMP[POS].UID_10 = 0000
4764 DEPOT_TEMP[POS].VALUE = 0000
4765
4766 BAG_POS = BAG_POS + 01
4767 break
4768 end
4769 end
4770 end
4771 end
4772 for ORDER = 01, #DEPOT_TEMP do
4773 local A = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_01)
4774 local B = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_02)
4775 local C = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_03)
4776 local D = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_04)
4777 local E = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_05)
4778 local F = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_06)
4779 local G = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_07)
4780 local H = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_08)
4781 local I = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_09)
4782 local J = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_10)
4783
4784 player:sendCancelMessage("@DepotItems " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " " ..G.. " " ..H.. " " ..I.. " " ..J.. " " ..ORDER)
4785 end
4786
4787 return true
4788 end
4789 if type == 07 then -- ORGANIZAR POR PRE�O
4790 local PriceOrder = {}
4791 local _BAG_TEMPO_POS = 01
4792 for BAG_POS = 01, #DEPOT_TEMP do
4793 if player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01) > 00 then
4794 if _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)] then
4795 local PriceUnd = 00
4796 DEPOT_TEMP[_BAG_TEMPO_POS].UID_01 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)
4797 DEPOT_TEMP[_BAG_TEMPO_POS].UID_02 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02)
4798 DEPOT_TEMP[_BAG_TEMPO_POS].UID_03 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03)
4799 DEPOT_TEMP[_BAG_TEMPO_POS].UID_04 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04)
4800 DEPOT_TEMP[_BAG_TEMPO_POS].UID_05 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05)
4801 DEPOT_TEMP[_BAG_TEMPO_POS].UID_06 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06)
4802 DEPOT_TEMP[_BAG_TEMPO_POS].UID_07 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07)
4803 DEPOT_TEMP[_BAG_TEMPO_POS].UID_08 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08)
4804 DEPOT_TEMP[_BAG_TEMPO_POS].UID_09 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09)
4805 DEPOT_TEMP[_BAG_TEMPO_POS].UID_10 = player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10)
4806
4807 local slot = _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].SLOT_EQUIP
4808 if slot == 03 or slot == 00 then
4809 DEPOT_TEMP[_BAG_TEMPO_POS].VALUE = _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].PRICE * player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04)
4810 else
4811 DEPOT_TEMP[_BAG_TEMPO_POS].VALUE = _ITEMS[player:getStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01)].PRICE
4812 end
4813
4814 PriceUnd = DEPOT_TEMP[_BAG_TEMPO_POS].VALUE
4815 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, nil)
4816 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, nil)
4817 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, nil)
4818 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, nil)
4819 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, nil)
4820 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, nil)
4821 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, nil)
4822 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, nil)
4823 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, nil)
4824 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, nil)
4825
4826 table.insert(PriceOrder, PriceUnd)
4827 _BAG_TEMPO_POS = _BAG_TEMPO_POS + 01
4828 else
4829 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, nil)
4830 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, nil)
4831 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, nil)
4832 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, nil)
4833 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, nil)
4834 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, nil)
4835 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, nil)
4836 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, nil)
4837 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, nil)
4838 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, nil)
4839 end
4840 else
4841 break
4842 end
4843 end
4844 table.sort(PriceOrder)
4845 local BAG_POS = 01
4846 for PRICE_ITEM = 01, #PriceOrder do
4847 local PRICE = PriceOrder[PRICE_ITEM]
4848 for POS = 01, #DEPOT_TEMP do
4849 if DEPOT_TEMP[POS].VALUE > 00 then
4850 if DEPOT_TEMP[POS].VALUE == PRICE then
4851 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_01, DEPOT_TEMP[POS].UID_01)
4852 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_02, DEPOT_TEMP[POS].UID_02)
4853 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_03, DEPOT_TEMP[POS].UID_03)
4854 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_04, DEPOT_TEMP[POS].UID_04)
4855 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_05, DEPOT_TEMP[POS].UID_05)
4856 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_06, DEPOT_TEMP[POS].UID_06)
4857 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_07, DEPOT_TEMP[POS].UID_07)
4858 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_08, DEPOT_TEMP[POS].UID_08)
4859 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_09, DEPOT_TEMP[POS].UID_09)
4860 player:setStorageValue(_SYSTEM.DEPOT[01][BAG_POS].UID_10, DEPOT_TEMP[POS].UID_10)
4861
4862 DEPOT_TEMP[POS].UID_01 = 0000
4863 DEPOT_TEMP[POS].UID_02 = 0000
4864 DEPOT_TEMP[POS].UID_03 = 0000
4865 DEPOT_TEMP[POS].UID_04 = 0000
4866 DEPOT_TEMP[POS].UID_05 = 0000
4867 DEPOT_TEMP[POS].UID_06 = 0000
4868 DEPOT_TEMP[POS].UID_07 = 0000
4869 DEPOT_TEMP[POS].UID_08 = 0000
4870 DEPOT_TEMP[POS].UID_09 = 0000
4871 DEPOT_TEMP[POS].UID_10 = 0000
4872 DEPOT_TEMP[POS].VALUE = 0000
4873
4874 BAG_POS = BAG_POS + 01
4875 break
4876 end
4877 end
4878 end
4879 end
4880 for ORDER = 01, #DEPOT_TEMP do
4881 local A = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_01)
4882 local B = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_02)
4883 local C = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_03)
4884 local D = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_04)
4885 local E = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_05)
4886 local F = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_06)
4887 local G = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_07)
4888 local H = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_08)
4889 local I = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_09)
4890 local J = player:getStorageValue(_SYSTEM.DEPOT[01][ORDER].UID_10)
4891
4892 player:sendCancelMessage("@DepotItems " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " " ..G.. " " ..H.. " " ..I.. " " ..J.. " " ..ORDER)
4893 end
4894 return true
4895 end
4896
4897end
4898function onLoadShop(player)
4899 for X = 01, #_SHOP_PRODUCTS do
4900 for Y = 01, #_SHOP_PRODUCTS[X] do
4901 local A = _SHOP_PRODUCTS[X][Y].VIP.ORIGIN_PRICE
4902 local B = _SHOP_PRODUCTS[X][Y].VIP.PROMO_PRICE
4903 local C = _SHOP_PRODUCTS[X][Y].ONLINE.ORIGIN_PRICE
4904 local D = _SHOP_PRODUCTS[X][Y].ONLINE.PROMO_PRICE
4905 local E = _SHOP_PRODUCTS[X][Y].PVP.ORIGIN_PRICE
4906 local F = _SHOP_PRODUCTS[X][Y].PVP.PROMO_PRICE
4907 local G = 01
4908
4909 if _SHOP_PRODUCTS[X][Y].VISIBLE == false then
4910 G = 00
4911 end
4912
4913 player:sendCancelMessage("@LoadShop " ..X.. " " ..Y.. " " ..A.. " " ..B.. " " ..C.. " " ..D.. " " ..E.. " " ..F.. " " ..G)
4914 end
4915 end
4916end
4917
4918
4919_G.contains = table.contains
4920if string.splitTrimmed then
4921 local stringMeta = getmetatable('')
4922 if stringMeta and stringMeta.__index then
4923 stringMeta.__index.splitTrimmed = string.splitTrimmed
4924 end
4925end
4926
Top