Ir para conteúdo

Luccan Medeiros

Membro
  • Registro em

  • Última visita

Tudo que Luccan Medeiros postou

  1. Luccan Medeiros postou uma resposta no tópico em Suporte Tibia OTServer
    nao faço ideia de como resolver isso, so vendo melhor pra entender, tenta refazer os que estao com defeito
  2. Luccan Medeiros postou uma resposta no tópico em Suporte Tibia OTServer
    esta bugando os tps ainda?
  3. Luccan Medeiros postou uma resposta no tópico em Suporte Tibia OTServer
    vai na pasta data/items/e copia o items.otb depois vai na pasta do seu map editor va em data/860/ e cole no lugar do antigo
  4. Luccan Medeiros postou uma resposta no tópico em Suporte Tibia OTServer
    qual versao que vc esta editando?
  5. Luccan Medeiros postou uma resposta no tópico em Suporte Tibia OTServer
    pega o seu items.obt da sua distro copia ele e passa pro seu remers que resolve :D
  6. queria ajuda para restringir alguns conditions para certas vocations nas conditions ML so para druids e sorc e condition MELEE para paladin e knights local conditionSUP,conditionML,conditionMELEE,conditionSPEED,conditionWARLOCK,conditionAMP = {},{},{},{},{},{} for i=1,300 do conditionSUP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSUP[i], CONDITION_PARAM_SUBID, 50) setConditionParam(conditionSUP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSUP[i], CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+i) setConditionParam(conditionSUP[i], CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 100+i) conditionSPEED[i] = createConditionObject(CONDITION_HASTE) setConditionParam(conditionSPEED[i], CONDITION_PARAM_SUBID, 51) setConditionParam(conditionSPEED[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSPEED[i], CONDITION_PARAM_SPEED, 100+i) conditionWARLOCK[i] = createConditionObject(CONDITION_REGENERATION) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_SUBID, 52) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_HEALTHGAIN, i) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_HEALTHTICKS, 2000) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_MANAGAIN, i) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_MANATICKS, 2000) conditionML[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML[i], CONDITION_PARAM_SUBID, 53) setConditionParam(conditionML[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICPOINTS, i) setConditionParam(conditionML[i], CONDITION_PARAM_SKILL_SHIELD, i) conditionMELEE[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SUBID, 54) setConditionParam(conditionMELEE[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_MELEE, i) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_SHIELD, i) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_DISTANCE, i) end function getSlotType(n) if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = Item(s):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION) end end return t end function chk(cid,f) if not isPlayer(cid) then return false end local t = loadSet(cid) for i=1,#f do if f[i] ~= t[i] then equip(cid,nil,slot) break end end addEvent(chk,2000,cid,t) end function check_slot(aab, i) if i == 5 or i == 6 then if isWeapon(aab) or isShield(aab) or isBow(aab) then return true end else return true end return false end function equip(cid,item,slot) local t = {} if item then local mm,sinal,qto = getSlotType(Item(item.uid):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION)) t[mm] = tonumber(qto) end for i=1,9 do if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check_slot(aab,i) then for _ in Item(aab):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 300 and 300 or t[mm] end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'supreme' then doAddCondition(cid,conditionSUP[tonumber(n)]) ca[50] = 1 elseif sl == 'speedy' then doAddCondition(cid,conditionSPEED[tonumber(n)]) ca[51] = 1 elseif sl == 'warlock' then doAddCondition(cid,conditionWARLOCK[tonumber(n)]) ca[52] = 1 elseif sl == 'magically' then doAddCondition(cid,conditionML[tonumber(n)]) ca[53] = 1 elseif sl == 'blessed' then doAddCondition(cid,conditionMELEE[tonumber(n)]) ca[54] = 1 end end if fu > 0 then for i=50,54 do if not ca[i] then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) doRemoveCondition(cid,CONDITION_REGENERATION,i) doRemoveCondition(cid,CONDITION_HASTE,i) end end else for i=50,54 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) doRemoveCondition(cid,CONDITION_REGENERATION,i) doRemoveCondition(cid,CONDITION_HASTE,i) end end return true end function onLogin(creature) local cid = creature:getId() equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) return true end
  7. cara é so vc tirar o nome da magia ali em words="e colocar outro nome" assim os player nao vao saber o nome e ninguem usa a magia so os bixos
  8. vai em data/spells/spells.xml procure a spell que vc ta querendo que os player usem e troque por essa <instant name="BigSpeed Up" words="NOMENOVOPARANINGUEMUSAR" lvl="5" mana="80" prem="0" aggressive="0" exhaustion="1000" needlearn="0" blockwalls="1" enabled="1" event="script" value="bighaste.lua"> tendeu?ai os monstros continuam usando :D que nem as magias de monstro normal vc pode fazer assim tbm <instant name="BigSpeed up" words="###361" aggressive="1" blockwalls="1" needtarget="0" needlearn="1" script="BigSpeed .lua"/>
  9. pra melhorar meu azar eu nao tenho a pasta doc, mas eu estou lendo melhor a compat.lua das minhas libs pra ver como estao as funçao
  10. consegui fazer pro tfs 1.2 tava quase desistindo ficou assim doCreatureSay(cid, "Teleport!", TALKTYPE_MONSTER_SAY)
  11. nem da certo Lua Script Error: [Action Interface] data/actions/scripts/SHOP/teleport.lua:onUse data/actions/scripts/SHOP/teleport.lua:9: attempt to index global 'player' (a nil value) stack traceback: [C]: in function '__index' data/actions/scripts/SHOP/teleport.lua:9: in function <data/actions/scripts/SHOP/teleport.lua:1>
  12. eu acho que nao é so na suas pot deve ser tbm todos os items que sao usados pelo hotkey, estou tentando procurar aki na minhas src pra ver onde que fica essa funçao no meu tfs aparece em qualquer item
  13. estou tentando colocar um efeito de CreatureSay para meu scroll no meu tfs 1.2 mais fica dando este erro data/actions/scripts/SHOP/teleport.lua:onUse data/global.lua:31: attempt to index a nil value stack traceback: [C]: in function '__index' data/global.lua:31: in function 'doCreatureSayWithRadius' data/actions/scripts/SHOP/teleport.lua:9: in function <data/actions/scripts/SHOP/teleport.lua:1> esse é o script abaixo function onUse(cid, item, frompos, item2, topos) ppos = getPlayerPosition(cid) temple = getPlayerMasterPos(cid) if (getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE) then doTeleportThing(cid, temple, TRUE) doSendMagicEffect(ppos,CONST_ME_THUNDER) doSendMagicEffect(temple,CONST_ME_THUNDER) doCreatureSayWithRadius(temple, TALKTYPE_MONSTER_SAY, 'Teleport!') else doPlayerSendCancel(cid,"You can't teleport immediately after fight.") end return 1 end
  14. tfs 1.2? manda o script da suas pot
  15. tem que baixar o compativel com o seu windows ja tive o msm problema, agr meu pc roda o 32b e o 64b pra n ter mais erro de compatibilidade
  16. kkkkk vc nem leu o script
  17. voce nao ta entendendo, esse script adiciona um atributo para qualquer item a escolha do player, eu so queria ajuda para que adiciona-se uma descriçao no lugar do nome
  18. eu queria ajuda para fazer esse script adicionar um novo nome na frente dos items assim item normal: 21:50 You see demon legs (Arm:9). It weighs 70.00 oz. ficando assim 21:50 You see BLESSED demon legs (Arm:9). esse é o script local conf = { maxSlotCount=1, ignoredIds={} } function choose(...) local arg = {...} return arg[math.random(1,#arg)] end function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray({26032}, itemEx.itemid) then return false end if isCreature(itemEx.uid) then return false end local nam = Item(itemEx.uid):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION) function getSlotCount(nam) local c = 0 for _ in nam:gmatch('%[(.-)%]') do c = c+1 end return c end if getSlotCount(nam) < conf.maxSlotCount then local l = choose('blessed') local p = (10) local armors = {1987,1988,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2365,3939,3940,3960,5801,5926,5927,5949,5950,7342,7343,9075,9077,9774,9775,10070,10518,10519,10520,10521,10522,11119,11241,11242,11243,11244,11263,15645,15646,16007,18393,18394,22696,23656,23659,24912,21518} if isInArray(armors, itemEx.itemid) then doSendMagicEffect(toPosition,30) nam = nam..' ['..l..'.+'..p..'%]' doPlayerSendTextMessage(cid, 20,l..'.+'..p..'%') doSetItemSpecialDescription(itemEx.uid, nam.."\nSpecial abilities: extra 10 sword, axe, club, distance and shield skills. \nIts Belongs "..getCreatureName(cid)..".") doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 20,"Slot limit reached.") end end return true end
  19. nao nao esse é so as conditions depois desse tem outro em action onde o player usa em qualquer item local conf = { maxSlotCount=1, ignoredIds={} } function choose(...) local arg = {...} return arg[math.random(1,#arg)] end function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray({26032}, itemEx.itemid) then return false end if isCreature(itemEx.uid) then return false end local nam = Item(itemEx.uid):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION) function getSlotCount(nam) local c = 0 for _ in nam:gmatch('%[(.-)%]') do c = c+1 end return c end if getSlotCount(nam) < conf.maxSlotCount then local l = choose('blessed') local p = (10) local armors = {1987,1988,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2365,3939,3940,3960,5801,5926,5927,5949,5950,7342,7343,9075,9077,9774,9775,10070,10518,10519,10520,10521,10522,11119,11241,11242,11243,11244,11263,15645,15646,16007,18393,18394,22696,23656,23659,24912,21518} if isInArray(armors, itemEx.itemid) then doSendMagicEffect(toPosition,30) nam = nam..' ['..l..'.+'..p..'%]' doPlayerSendTextMessage(cid, 20,l..'.+'..p..'%') doSetItemSpecialDescription(itemEx.uid, nam.."\nSpecial abilities: extra 10 sword, axe, club, distance and shield skills. \nIts Belongs "..getCreatureName(cid)..".") doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 20,"Slot limit reached.") end end return true end up
  20. queria ajuda com esse script para separar algumas conditions por vocaçao tipo na conditionML so funciona-se com druids e sorc e na conditionMELEE so funciona-se com paladin e knights local conditionSUP,conditionML,conditionMELEE,conditionSPEED,conditionWARLOCK,conditionAMP = {},{},{},{},{},{} for i=1,300 do conditionSUP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSUP[i], CONDITION_PARAM_SUBID, 50) setConditionParam(conditionSUP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSUP[i], CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+i) setConditionParam(conditionSUP[i], CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 100+i) conditionML[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML[i], CONDITION_PARAM_SUBID, 51) setConditionParam(conditionML[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICPOINTS, i) setConditionParam(conditionML[i], CONDITION_PARAM_SKILL_SHIELD, i) conditionMELEE[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SUBID, 52) setConditionParam(conditionMELEE[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_MELEE, i) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_SHIELD, i) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_DISTANCE, i) conditionSPEED[i] = createConditionObject(CONDITION_HASTE) setConditionParam(conditionSPEED[i], CONDITION_PARAM_SUBID, 53) setConditionParam(conditionSPEED[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSPEED[i], CONDITION_PARAM_SPEED, 50+i) conditionWARLOCK[i] = createConditionObject(CONDITION_REGENERATION) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_SUBID, 54) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_HEALTHGAIN, i) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_HEALTHTICKS, 2000) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_MANAGAIN, i) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_MANATICKS, 2000) end function getSlotType(n) if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = Item(s):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION) end end return t end function chk(cid,f) if not isPlayer(cid) then return false end local t = loadSet(cid) for i=1,#f do if f[i] ~= t[i] then equip(cid,nil,slot) break end end addEvent(chk,2000,cid,t) end function check_slot(aab, i) if i == 5 or i == 6 then if isWeapon(aab) or isShield(aab) or isBow(aab) then return true end else return true end return false end function equip(cid,item,slot) local t = {} if item then local mm,sinal,qto = getSlotType(Item(item.uid):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION)) t[mm] = tonumber(qto) end for i=1,9 do if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check_slot(aab,i) then for _ in Item(aab):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 300 and 300 or t[mm] end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'supreme' then doAddCondition(cid,conditionSUP[tonumber(n)]) Player(cid):addHealth(Player(cid):getMaxHealth() - Player(cid):getHealth()) ca[50] = 1 doSendTutorial(cid,19) elseif sl == 'magically' then doAddCondition(cid,conditionML[tonumber(n)]) ca[51] = 1 elseif sl == 'blessed' then doAddCondition(cid,conditionMELEE[tonumber(n)]) ca[52] = 1 elseif sl == 'speedy' then doAddCondition(cid,conditionSPEED[tonumber(n)]) ca[53] = 1 elseif sl == 'warlock' then doAddCondition(cid,conditionWARLOCK[tonumber(n)]) ca[54] = 1 end end if fu > 0 then for i=50,54 do if not ca[i] then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) doRemoveCondition(cid,CONDITION_REGENERATION,i) doRemoveCondition(cid,CONDITION_HASTE,i) end end else for i=50,54 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) doRemoveCondition(cid,CONDITION_REGENERATION,i) doRemoveCondition(cid,CONDITION_HASTE,i) end end return true end function onLogin(creature) local cid = creature:getId() equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) return true end
  21. ssalve galera queria um help nesse script acima quando o player usa ele em x item ele fica assim é pra tfs 1.2 You see a dragon scale mail (Arm:15). It can only be wielded properly by knights and paladins. It weighs 114.00 oz. [supreme.+30%] eu queria ajuda para que o script alem de adicionar o atributo e tambem adicione o nome da pessoa ficando assim segue o exemplo em negrito You see a SUPREME dragon scale mail (Arm:15). It can only be wielded properly by knights and paladins. Its Belong NOMEDOPLAYER It weighs 114.00 oz.
  22. tipo ela nao tem no tfs 1.2 nos antigos ela fica no config.lua embaixo do EMOTE_SPELLS = true SPELL_NAME_INSTEAD_WORDS = true ela faz o seguinte, quando voce fala qualquer magia exemplo: exura vita, ela vai aparecer o nome dela em ingles Ultimate Healing

Informação Importante

Confirmação de Termo