Ir para conteúdo

kbsao500

Membro
  • Registro em

  • Última visita

Tudo que kbsao500 postou

  1. Kimoszin detonou em vlw por posta pra galera.. eu queria que vc falase como faz pra inves de cobrar money normal no caso 2160 crystal coin, eu queria que ele cobrase aqueles gold id 9971.. pode me ajuda ? agradeço dou REP!
  2. vc construiu uma area vip e os player free ta enchendo seu saco pra ver como ela é e vc n confia em levar eles pra olhar ?.. simples chegou o novo system "tabajara Tremzinho da alegria!" eu baxei um ot aki do TK e nele tinha esse trem system ele fica no treiner vc anda uns 10 sqm e para.. ai eu tive uma ideia que tal trasforma ele em um trem que possa levar players pra ver sua area vip pelo andar de cima ? bora la vou explica com fotos se acharem inutil podem exclui na moral so to tentando ajudar. vamos la va na pastado seu OT: data\actions\scripts copie (kualker arquivo .lua) e cole E renomei o arquivo que você colou para: lookvip.lua e dentro deste arquivo coloque isso --Script by Rastafael --Config local SPEED = 1 local PLAYERSPEED = 250 --End local RAILS = {7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130} --Thxy rails itemid by nord local CART = {[0] = 7132, [2] = 7132, [3] =7131, [1] =7131} local CONFIG = { [7121] = 0,[7122] = 0, [7123] = {EAST, SOUTH}, [7124] = {WEST, SOUTH}, [7125] = {EAST, NORTH}, [7126] = {WEST, NORTH}, [7127] = 0,[7128] = 0, [7129] = 0,[7130] = 0, --Random } local reverse = {[0] = 2, 3, 0, 1} -- All that table was made by nord. local function moveTrain(cid, frompos, direc) local tab if not isPlayer(cid) then return end local pos = getCreaturePosition(cid) local rar = findRail(pos) if not rar then doPlayerSetNoMove(cid, false) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -PLAYERSPEED) doMoveCreature(cid, direc) else tab = CONFIG[rar] if tab and type(tab) == 'table' then direc = tab[tab[1] == reverse[direc] and 2 or 1] -- by nord here end doSetItemOutfit(cid, CART[direc], -1) doMoveCreature(cid, direc) addEvent(moveTrain, SPEED, cid, pos,direc) end end function findRail(p) local p_ = {x=p.x, y=p.y, z=p.z} for i=0,10 do p_.stackpos = i local t = getTileThingByPos(p_) if isInArray(RAILS, t.itemid) then return t.itemid,t.uid end end end function onUse(cid, item, frompos) --Script by Rastafael if hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) then return false end doTeleportThing(cid, frompos, false) doPlayerSetNoMove(cid, true) doChangeSpeed(cid, PLAYERSPEED) addEvent(moveTrain, SPEED, cid, frompos, item.actionid-500) return true end salva e fexa la onde ta local SPEED = 1 é a velocidade do trem (coloque a velocidade que vc achar melhor eu aconsehlo deixa uns 200 ai ele fica devagarzinho o player poderar ver sua area vip com calma) la onde ta local PLAYERSPEED = 250 é a velocidade que o player ira ficar ( não mexa) depois disso vai la na pasta data/action/action.xml abra o arquivo action.xml aperte Ctrl + F e procure por oher <!-- Other --> e cole isso logo abaixo do nome <!-- Other --> <action itemid="7131" event="script" value="lookvip.lua" /> <action itemid="7132" event="script" value="lookvip.lua" /> onde ta em azul é o id dos Trem (carrinho) "não mexa" salve e fexe e pronto ja ta tudo certo agora vamo pro mapa --------------------------- agora abra seu RME (Remeres Map Editor) aperte a tecla J e digite la onde esta mostrando a imagem o id "7131" ira aparece um carrinho emgual ta na imagem e aperte ok depois coloke os trilhos para a direção que vc quer e coloke o carrinho na mesma direcão depois de coloca os carrinhos clike nele com o mouse dieito e va em Properties coloque a actionid para ele anda pro lado que vc ker na imagem abaixo ta mostrando as action que faz ele ir pra direita ou pra cima action 501 ele anda pra direita --> action 502 ele anda pra baixo \/ action 503 ele anda pra esquerda <--- action 504 ele anda em diagonal esquerda baixo action 505 ele anda em diagonal direita cima action 506 ele anda em diagonal esquerda cima action 507 ele anda em diagonal direita baixo olhe a imagem abaixo depois que vc coloca a actionid no carrinho "lembrando que é so uma action que vc coloca" digamos que a imagem abaixo seja meu templo e a area vip marcada em vermelho e o carrinho marcado em azul coloke os trilhos onde tenha agua onde player n podera entra ape! se cv coloka ele indo para a agua no final do trilho coloke um chao e um teleport e no teleport coloke a posicão que ele ira te levar quando o player passa com o carrinho (no caso la dentro da area vip) um andar acima se seu carrinho entra no teleporte quando ele tive indo para baixo engual na imagem vc tera que coloka os trilhos do msm jeito para baixo \/ se vc coloka pra outro lado o player ira dece do carrinho.. entao se ele entra no tp indo para baixo ele ira sair na posição indo para baixo.. se ele entra indo para direita --> e tem que sair na posição indo para direita! agora ele andando na sua area vip e depois entrando em um teleport final voltando pro templo!ol he na imagem abaixo Bom é isso ae galera se entenderão vlw.. se n entender ou tiver mau explicado por favor apaguem o post e se vai critica só olhe é melhor =D PS: o mapa que tinha o sistema de trem é o Global_Full_developed_By_Rastafael versão 8.60!
  3. é muito grande o escript e eu não sei coloca em partes escondidos no forum.. mais la vai esta parte é da pasta lib --[[ System developed by MaXwEllDeN[[email protected]] Version 1.0 ]] L_Soul = { souls = { ["dark"] = {effects = {distance = 31, eff = 17}, combat = COMBAT_DEATHDAMAGE}, ["flame"] = {effects = {distance = 3, eff = 15}, combat = COMBAT_FIREDAMAGE}, ["frozen"] = {effects = {distance = 36, eff = 43}, combat = COMBAT_ICEDAMAGE}, ["holy"] = {effects = {distance = 37, eff = 39}, combat = COMBAT_HOLYDAMAGE}, ["electric"] = {effects = {distance = 35, eff = 11}, combat = COMBAT_ENERGYDAMAGE}, }, creatures = { ["Necromancer"] = {chance = 50, type = "dark", summ = { hp = {hpb = 50, maxb = 700}, needSoulPoints = 50, needMana = 0, needHealth = 20, minP = 50, }, enchant = {charges = 100, min = 10, max = 60, attack_speed = 250}, }, ["Dragon Lord"] = {chance = 100, type = "flame", summ = { hp = {hpb = 50, maxb = 700}, needSoulPoints = 50, needMana = 0, needHealth = 20, minP = 50, }, enchant = {charges = 200, min = 50, max = 150, attack_speed = 1000}, }, ["Frost Dragon"] = {chance = 100, type = "frozen", summ = { hp = {hpb = 50, maxb = 700}, needSoulPoints = 50, needMana = 0, needHealth = 20, minP = 50, }, enchant = {charges = 200, min = 50, max = 160, attack_speed = 1500}, }, ["Wyrm"] = {chance = 100, type = "electric", summ = { hp = {hpb = 50, maxb = 700}, needSoulPoints = 50, needMana = 0, needHealth = 20, minP = 50, }, enchant = {charges = 200, min = 50, max = 160, attack_speed = 550}, }, ["Monk"] = {chance = 150, type = "holy", summ = { hp = {hpb = 50, maxb = 700}, needSoulPoints = 50, needMana = 0, needHealth = 20, minP = 50, }, enchant = {charges = 200, min = 50, max = 160, attack_speed = 550}, }, }, ids = {8300}, max_distance = 5, language = "en", auras_sto = 77143, soul_t = 10, -- Em Minutos } ---------------------- A U R A S ---------------------------- L_Soul.auras = { ["dark"] = {stones_n = 7, damage = {25, 250}, interval = 1200, duration = 120, raio = 4, speed = 150}, ["flame"] = {stones_n = 5, damage = {250, 650}, interval = 500, duration = 60, raio = 7, speed = 75}, ["frozen"] = {stones_n = 2, damage = {150, 350}, interval = 750, duration = 60, raio = 2, speed = 150}, ["electric"] = {stones_n = 5, damage = {150, 350}, interval = 750, duration = 60, raio = 2, speed = 150}, ["holy"] = {stones_n = 0, damage = {150, 350}, interval = 750, duration = 60, raio = 7, speed = 150}, } ------------------- E N C A N T A M E N T O ----------------- L_Soul.enchant = { weapons = { [2408] = {"dark", "flame", "frozen"}, -- Warlord Sword [2190] = {"dark", "holy"}, -- Wand of Vortex [2456] = {"dark", "holy"}, -- Bow [2400] = {"dark", "holy", "frozen", "flame", "electric"}, -- Magic Sword(SOV) }, } ------------------ L I N G U A G E M ------------------------ L_Soul.lang = { ["en"] = { "This soul stone is filled with a %s's %s soul!", "This soul stone must be near the creature's corpse.", "There's no soul!", "Your soul stone didn't supported the soul and broke! This %s's %s soul escaped!", "Congratulations, you caught a %s's soul[%s]!", "Filled with a %s's %s soul.", "This item can't be enchanted.", "To summon a %s you must have at least %d soul points.", "You can't summon a %s there.", "To summon a %s you must have at least %d mana points.", "To summon a %s you must have at least %d health points.", "The soul stone broke and the corpse was possessed by %s's %s soul!", "This corpse doesn't support this %s's powerful %s soul. The soul has escaped and is roaming the world and tormenting people.", "A body can't have two souls.", "The %s's soul was aprisioned in weapon.", "This weapon is enchanted with a %s's soul. Charges: %d/%d.", "Your %s lost charm.", "This weapon already is enchanted with a soul!", -- 18 --> AURAS <-- "You haven't enought %s souls[%d].", "You need wait %d minutes to use an aura protection again.", "You can't use an aura protection on protected zones.", { "Alive again!? How!? AH! It doesn't matter, i just want to get my revenge! MUHAUHAUHUAUA!", "OH how is sweet live!", }, } } function isWeapon(uid) -- Function by Mock the bear. local uid = uid or 0 local f = getItemWeaponType(uid) return (f == 1 or f == 2 or f == 3) or false end function string:formal() local self = self:sub(1, 1):upper() .. self:sub(2, #self) while (self:find(" (%l)")) do local a = self:find(" (%l)") self = self:sub(1, a) .. self:sub(a + 1, a + 1):upper() .. self:sub(a + 2, #self) end return self end function getUidsInArea(ext1, ext2) local uids = {} for a = 0, ext2.x-ext1.x do for b = 0, ext2.y-ext1.y do local pos = {x = ext1.x+a, y = ext1.y+b, z = ext1.z, stackpos = 255} local cid = getTopCreature(pos).uid if (isCreature(cid)) then table.insert(uids, cid) end end end return uids end function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot = 0, getContainerSize(container) - 1 do local item = getContainerItem(container, slot) if isContainer(item.uid) then for i, v in ipairs (getItemsInContainerById(item.uid, itemid)) do table.insert(items, v) end elseif itemid == item.itemid then table.insert(items, item) end end end return items end function getAllPlayerItemsById(uid, itemid) local items = {} for a = CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(uid, a) if ((item.uid > 0) and (item.itemid == itemid)) then table.insert(items, item) end if ((isContainer(item.uid)) and (getContainerSize(item.uid) > 0)) then for i, v in ipairs(getItemsInContainerById(item.uid, itemid)) do table.insert(items, v) end end end return items end function getAllPlayerSoulStones(uid, empty) local stones = {} for _, s in ipairs(L_Soul.ids) do for _, v in pairs(getAllPlayerItemsById(uid, s)) do if not ((empty) and (not getItemAttribute(v.uid, "Soul"))) then table.insert(stones, v) end end end return stones end function getPlayerSoulStonesByType(uid, type) local stones = {} for _, v in pairs(getAllPlayerSoulStones(uid)) do if ((getItemAttribute(v.uid, "Soul")) and (L_Soul.creatures[getItemAttribute(v.uid, "Soul")].type:lower() == type:lower())) then table.insert(stones, v) end end return stones end function doPlayerRemoveSoulStoneByType(uid, type, ammount) local stones = getPlayerSoulStonesByType(uid, type) local ammount = ammount or 1 if (#stones < ammount) then return false end local a = 0 for _, v in pairs(stones) do if (a ~= ammount) then a = a + 1 doRemoveItem(v.uid, 1) else break end end return true end function getPlayerSoulStonesCount(uid, type) return #getPlayerSoulStonesByType(uid, type) end -------------------- esta parte é da pasta mods.xml <?xml version = "1.0" encoding = "UTF-8" ?> <mod name="Soul System" version="1.0" author="MaXwEllDeN" contact="tibiaking.com" enabled="yes"> <talkaction words="dark protection" filter="word-spaced" event="script" value = "Soul System/Auras.lua"/> <talkaction words="flame protection" filter="word-spaced" event="script" value = "Soul System/Auras.lua"/> <talkaction words="frozen protection" filter="word-spaced" event="script" value = "Soul System/Auras.lua"/> <talkaction words="electric protection" filter="word-spaced" event="script" value = "Soul System/Auras.lua"/> <talkaction words="holy protection" filter="word-spaced" event="script" value = "Soul System/Auras.lua"/> <action itemid="8300" event="script" value="Soul System/Action.lua" allowfaruse="1"/> <event type = "login" name = "SoulL" event="script" value="Soul System/Creaturescript.lua"/> <event type = "kill" name = "SoulKill" event="script" value="Soul System/Creaturescript.lua"/> <event type = "death" name = "SoulD" event="script" value="Soul System/Creaturescript.lua"/> <event type = "attack" name = "SoulATK" event="script" value="Soul System/Creaturescript.lua"/> </mod> --------------------- esta parte é da pasta mods/script/soul system dentro da pasta sol system tem 3 arquivos lua vou posta eles abaixo 1º Action.lua --[[ System developed by MaXwEllDeN[[email protected]] Version 1.0 ]] function onUse(cid, item, fromPos, item2, toPos) doCreatureSay(cid, "A") if (getItemAttribute(item2.uid, "M_Soul")) and (os.clock() - getItemAttribute(item2.uid, "M_Time") > L_Soul.soul_t) then doItemSetAttribute(item2.uid, "M_Soul", false) end local fromPos = (fromPos.x ~= 65535) and fromPos or getThingPos(cid) local lan = L_Soul.lang[L_Soul.language] if (getItemAttribute(item.uid, "Soul")) then if (toPos.x ~= 65535) and (getItemAttribute(item2.uid, "criaturaS")) then if (getItemAttribute(item2.uid, "M_Soul")) then return doPlayerSendCancel(cid, lan[14]) end local soulT = L_Soul.creatures[getItemAttribute(item.uid, "Soul")].type local summ = L_Soul.creatures[getItemAttribute(item.uid, "Soul")].summ local tos = getMonsterInfo(getItemAttribute(item2.uid, "criaturaS")) if (tos.experience < getMonsterInfo(getItemAttribute(item.uid, "Soul")).experience) then doSendMagicEffect(fromPos, L_Soul.souls[soulT].effects.eff) doPlayerSendTextMessage(cid, 27, string.format(lan[13], getItemAttribute(item.uid, "Soul"), soulT)) return doRemoveItem(item.uid, 1) elseif (getPlayerSoul(cid) < summ.needSoulPoints) then return doPlayerSendCancel(cid, string.format(lan[8], getItemAttribute(item.uid, "Soul"), summ.needSoulPoints)) elseif (getCreatureMana(cid) < summ.needMana) then return doPlayerSendCancel(cid, string.format(lan[10], getItemAttribute(item.uid, "Soul"), summ.needMana)) elseif (getCreatureHealth(cid) < summ.needHealth) then return doPlayerSendCancel(cid, string.format(lan[11], getItemAttribute(item.uid, "Soul"), summ.needHealth)) elseif (getTopCreature(toPos).uid > 0) then return doPlayerSendCancel(cid, string.format(lan[9], getItemAttribute(item.uid, "Soul"))) elseif (getTileInfo(toPos).protection) then return doPlayerSendCancel(cid, string.format(lan[9], getItemAttribute(item.uid, "Soul"))) end doPlayerAddSoul(cid, -summ.needSoulPoints) doCreatureAddMana(cid, -summ.needMana) doCreatureAddHealth(cid, -summ.needHealth) local crea = doCreateMonster(getItemAttribute(item.uid, "Soul"), toPos) if (summ.needMana > 0) then doSendAnimatedText(getThingPos(cid), -summ.needMana, 120) end if (summ.needHealth > 0) then doSendAnimatedText(getThingPos(cid), -summ.needHealth, 180) end setCreatureMaxHealth(crea, summ.hp.maxb) doCreatureAddHealth(crea, summ.hp.maxb) doCreatureChangeOutfit(crea, tos.outfit) doCreatureAddHealth(crea, (-summ.hp.maxb + 1) + summ.hp.hpb - 1) doMonsterSetTarget(crea, cid) setPlayerStorageValue(crea, 7148, getItemAttribute(item2.uid, "criaturaS")) doSendMagicEffect(toPos, L_Soul.souls[soulT].effects.eff) doSendDistanceShoot(fromPos, toPos, L_Soul.souls[soulT].effects.distance) doPlayerSendTextMessage(cid, 27, string.format(lan[12], getItemAttribute(item.uid, "Soul"), soulT)) doRemoveItem(item.uid, 1) doCreatureSay(crea, lan[#lan][math.random(#lan[#lan])], 19) return doRemoveItem(item2.uid, 1) elseif (toPos.x == 65535) then local enchant = L_Soul.creatures[getItemAttribute(item.uid, "Soul")].enchant if not (L_Soul.enchant.weapons[item2.itemid] or (L_Soul.enchant.weapons[item2.itemid] and not isInArray(L_Soul.enchant.weapons[item2.itemid], soulT:lower()))) then return doPlayerSendCancel(cid, lan[7]) end if (getItemAttribute(item2.uid, "ES_Charges")) then return doPlayerSendCancel(cid, lan[18]) end doItemSetAttribute(item2.uid, "description", string.format(lan[16], getItemAttribute(item.uid, "Soul"), enchant.charges, enchant.charges)) doItemSetAttribute(item2.uid, "ES_Charges", enchant.charges) doItemSetAttribute(item2.uid, "ES_Type", getItemAttribute(item.uid, "Soul")) doPlayerSendTextMessage(cid, 27, string.format(lan[15], getItemAttribute(item.uid, "Soul"))) doSendMagicEffect(toPos, L_Soul.souls[L_Soul.creatures[getItemAttribute(item.uid, "Soul")].type].effects.eff) return doRemoveItem(item.uid, 1) end end if not (isContainer(item2.uid)) or not (getItemAttribute(item2.uid, "M_Soul")) then return doPlayerSendCancel(cid, lan[3]) end if (getItemAttribute(item.uid, "Soul")) then return doPlayerSendCancel(cid, string.format(lan[1], getItemAttribute(item.uid, "Soul"), L_Soul.creatures[getItemAttribute(item.uid, "Soul")].type)) end if (getDistanceBetween(fromPos, toPos) > L_Soul.max_distance) then return doPlayerSendCancel(cid, lan[2]) end if (isCreature(item2.uid)) then return true end local soul = L_Soul.creatures[getItemAttribute(item2.uid, "M_Soul")] if not (soul) then return true end if (math.random(100) + soul.chance < 100 + math.floor(soul.chance/2)) then doRemoveItem(item.uid, 1) doSendMagicEffect(toPos, L_Soul.souls[L_Soul.creatures[getItemAttribute(item2.uid, "M_Soul")].type].effects.eff) doPlayerSendTextMessage(cid, 27, string.format(lan[4], getItemAttribute(item2.uid, "M_Soul"), soul.type:formal())) doSendMagicEffect(fromPos, 2) return doItemSetAttribute(item2.uid, "M_Soul", false) end doSendDistanceShoot(toPos, fromPos, L_Soul.souls[soul.type].effects.distance) doPlayerSendTextMessage(cid, 27, string.format(lan[5], getItemAttribute(item2.uid, "M_Soul"), soul.type:formal())) doItemSetAttribute(item.uid, "Soul", getItemAttribute(item2.uid, "M_Soul")) doItemSetAttribute(item.uid, "description", string.format(lan[6], getItemAttribute(item2.uid, "M_Soul"), soul.type)) doSendMagicEffect(fromPos, 28) doSendMagicEffect(fromPos, 29) doSendMagicEffect(fromPos, 30) return doItemSetAttribute(item2.uid, "M_Soul", false) end 2º Auras.lua -- ######################################################## -- -- ## Aura System ## -- -- ## Developed by MaXwEllDeN[[email protected]] ## -- -- ## Version: 1.0 ## -- -- ######################################################## -- function checkDam(uid, AurAz, st) if (isCreature(uid)) and (os.time() - st < L_Soul.auras[AurAz].duration)then local p = getThingPos(uid) local poz = {{x = p.x, y = p.y - 2, z = p.z}, {x = p.x - 2, y = p.y, z = p.z}, {x = p.x, y = p.y + 2, z = p.z}, {x = p.x + 2, y = p.y, z = p.z},} if (getTileInfo(p).protection) then st = st - L_Soul.auras[AurAz].duration end local function getBest(a) local pz = poz[1] for i, v in pairs(poz) do if (getDistanceBetween(v, getThingPos(a)) < getDistanceBetween(pz, getThingPos(a))) then pz = v end end return pz end local creat = getUidsInArea({x = p.x - L_Soul.auras[AurAz].raio, y = p.y - L_Soul.auras[AurAz].raio, z = p.z}, {x = p.x + L_Soul.auras[AurAz].raio, y = p.y + L_Soul.auras[AurAz].raio, z = p.z}) local target = ((isCreature(getCreatureTarget(uid))) and getCreatureTarget(uid)) or 0 local cs = {} if (target == 0) then for _, v in pairs(creat) do if ((getCreatureTarget(v) == uid)) or ((isMonster(v)) or ((getCreatureSkullType(v) > 2) and (getCreatureTarget(v) == uid))) and (v ~= uid) then table.insert(cs, v) end end target = (#cs > 0 and cs[math.random(#cs)]) or 0 end if (target ~= 0) then doSendDistanceShoot(getBest(target), getThingPos(target), L_Soul.souls[AurAz].effects.distance) doTargetCombatHealth(uid, target, L_Soul.souls[AurAz].combat, -L_Soul.auras[AurAz].damage[1], -L_Soul.auras[AurAz].damage[2], 255) end addEvent(checkDam, L_Soul.auras[AurAz].interval, uid, AurAz, st) end end function sendEffect(uid, interval, at, st, AurAz) local at = at or 1 if (isCreature(uid)) then local p = getThingPos(uid) if (getTileInfo(p).protection) then st = st - L_Soul.auras[AurAz].duration end local poz = {{x = p.x, y = p.y - 2, z = p.z}, {x = p.x - 2, y = p.y, z = p.z}, {x = p.x, y = p.y + 2, z = p.z}, {x = p.x + 2, y = p.y, z = p.z},} if (os.time() - st > L_Soul.auras[AurAz].duration) then for i, v in ipairs(poz) do doSendDistanceShoot(v, p, L_Soul.souls[AurAz].effects.distance) end setPlayerStorageValue(uid, L_Soul.auras_sto, -1) addEvent(doSendMagicEffect, 250, p, L_Soul.souls[AurAz].effects.eff) return true end local next = poz[at + 1] and at+1 or 1 doSendDistanceShoot(poz[at], poz[next], L_Soul.souls[AurAz].effects.distance) addEvent(sendEffect, interval, uid, interval, next, st, AurAz) end return true end function onSay(cid, words, param) domodlib("Soul System[LIB]") local lan = L_Soul.lang[L_Soul.language] local AurAz = words:explode(" ")[1] if not (L_Soul.auras[AurAz]) then return false end if (#getPlayerSoulStonesByType(cid, AurAz) < L_Soul.auras[AurAz].stones_n) then return doPlayerSendCancel(cid, string.format(lan[19], AurAz, L_Soul.auras[AurAz].stones_n)) end if (getPlayerStorageValue(cid, L_Soul.auras_sto) > 0) then return doPlayerSendCancel(cid, string.format(lan[20], math.floor(L_Soul.auras[AurAz].duration/60))) end if (getTileInfo(getThingPos(cid)).protection) then return doPlayerSendCancel(cid, lan[21]) end setPlayerStorageValue(cid, L_Soul.auras_sto, os.time()) doPlayerRemoveSoulStoneByType(cid, AurAz, L_Soul.auras[AurAz].stones_n) sendEffect(cid, L_Soul.auras[AurAz].speed, nil, os.time(), AurAz) checkDam(cid, AurAz, os.time()) return true end 3° Creaturescript.lua --[[ System developed by MaXwEllDeN[[email protected]] Version 1.0 ]] function onKill(cid, target, lastHit) if (getPlayerStorageValue(target, 7148) ~= -1) then doCreatureSetDropLoot(target, {}) end return registerCreatureEvent(target, "SoulD") end function onLogin(cid) setPlayerStorageValue(cid, 7126, -1) registerCreatureEvent(cid, "SoulATK") setPlayerStorageValue(cid, L_Soul.auras_sto, -1) return registerCreatureEvent(cid, "SoulKill") end local function TransformAMerda(cas) for a = 0, 255 do local pos = cas.pos pos.stackpos = a local item = getThingFromPos(pos) if (item.uid > 0) and (item.itemid == cas.it.itemid) and (cas.n == getItemAttribute(item.uid, "criaturaS")) and (not getItemAttribute(item.uid, "M_Time")) then return doTransformItem(item.uid, cas.nid) end end return false end function onDeath(cid, corpse, deathList) doItemSetAttribute(corpse.uid, "criaturaS", getCreatureName(cid):formal()) if (getPlayerStorageValue(cid, 7148) ~= -1) then addEvent(TransformAMerda, 1, {pos = getThingPos(cid), it = corpse, n = getCreatureName(cid), nid = getMonsterInfo(getPlayerStorageValue(cid, 7148)).lookCorpse}) return true end doItemSetAttribute(corpse.uid, "M_Time", os.clock()) return doItemSetAttribute(corpse.uid, "M_Soul", getCreatureName(cid):formal()) end local function Atacar(cid) if (not isCreature(cid)) then return false elseif (not isCreature(getCreatureTarget(cid))) then setPlayerStorageValue(cid, 7126, -1) return false end local target = getCreatureTarget(cid) local enc = isWithEnchantedW(cid) local lan = L_Soul.lang[L_Soul.language] if (enc) then if (isWeapon(enc.arma.uid)) and (getDistanceBetween(getThingPos(getCreatureTarget(cid)), getThingPos(cid)) > 1) then setPlayerStorageValue(cid, 7126, -1) return false end local typ, enchant = L_Soul.souls[L_Soul.creatures[getItemAttribute(enc.arma.uid, "ES_Type")].type:lower()], L_Soul.creatures[getItemAttribute(enc.arma.uid, "ES_Type")].enchant doTargetCombatHealth(cid, target, typ.combat, -enchant.min, -enchant.max, typ.effects.eff) doSendDistanceShoot(getThingPos(cid), getThingPos(target), typ.effects.distance) if (enc.at == 1) then doPlayerSendTextMessage(cid, 27, string.format(lan[17], getItemNameById(enc.arma.itemid))) doItemSetAttribute(enc.arma.uid, "description", false) doItemSetAttribute(enc.arma.uid, "ES_Charges", false) else doItemSetAttribute(enc.arma.uid, "description", string.format(lan[16], getItemAttribute(enc.arma.uid, "ES_Type"), enc.at - 1, enchant.charges)) doItemSetAttribute(enc.arma.uid, "ES_Charges", enc.at - 1) end addEvent(Atacar, enchant.attack_speed, cid) else setPlayerStorageValue(cid, 7126, -1) end end function onAttack(cid, target) if (getPlayerStorageValue(cid, 7126) < 1) then setPlayerStorageValue(cid, 7126, 5) Atacar(cid) end return true end function isWithEnchantedW(uid) for a = 5, 6 do local item = getPlayerSlotItem(uid, a) if (item.uid > 2) and (getItemAttribute(item.uid, "ES_Charges")) then return {arma = item, at = getItemAttribute(item.uid, "ES_Charges")} end end return false end la no perfil do maxwell tem pra fazer download mais não funfa os escript queria uma explicação mais clara! desculpa por ta tao grande cara eu não sei mexe direito no forum!
  4. kbsao500 postou uma resposta no tópico em Suporte Tibia OTServer
    olha queria muito a ajuda de quem fes o soul system... pois eu instalei desisnstalei fiz tudo no maximo cuidado tudo certinho .. mas quando eu mato um dragon lord e pego a alma dele aparece a letra "A" maiuscula em cima de mim ai depois disso so da pra resucitar o bixo, não da pra fazer mais nada eu digo !aura ice !aura death !aura e não acontece nada.. ajuda ae passa um tuotrial bem explicadinho por favor obrigado! PS: esse Soul System eu acho quem fez foi o MaXwEllDeN não tenho certeza
  5. deu poblemas nos monstros eles morrem e ficam de pé!
  6. thiagobji este comando que você falou -> /additemall 2160, 1 contem um simples e fatal bug.. todos os player podem usar este comando pode dar de presente pra todos do server e pra ele mesmo qualquer item do jogo! fica ae o alerta pra quem fez o script!
  7. eu n entendi muito bem n, eu estraio na pasta do meu ot ou coloco tudo em seu devido lugar ? qual pedra eu uso ? como pega a alma ? explica melhor ae parça. ou eu sou burro ou n sei oq é!
  8. Criando uma Área Vip 1º Passo: Crie uma casa com uma porta de modo que quem esteja fora da casa não consiga entrar pelos fundos! 2º Passo: Clique na ferramenta de seu MapEditor que se parece com uma casa denominada ''Ferramenta de Casa'' ou ''House Tool'' e com essa ferramenta selecionada, clique na porta da casa. Irá aparecer a seguinte box: Em Cidade caso você já tenha criado uma pelo MapEditor coloque-a senão deixe como está. Em Nome coloque ''Área Vip'' ou o nome que vc quiser Em Aluguel deixe como está. Em custo coloque 0. Após fazer tudo isso clique em ''Adicionar''->''Salvar'' e depois em ''Selecionar''. Selecione somente o tile em que se encontrá a porta da casa. Após selecionar clique com o botão direito no tile selecionado e clique em ''De-Select House''. 3º Passo: Abra seu servidor e logue no GM ou no GOD (tanto faz) e vá até a casa criada abra a porta com o GM e em cima do Tile que você selecionou escreva /Owner. 4º Passo: Para adicionar players à Área Vip basta entrar no GM ou no GOD que está como dono da Casa e dar ''Aleta Sio'' no tile que foi selecionado e adicionar o nome do player Vip ao pergaminho de quem está permitido a entrar na House. Créditos: 45% bbMatheusbb 45% Bloods 10% EU TRAZER ATE AKI

Informação Importante

Confirmação de Termo