Ir para conteúdo

Zazeros

Membro
  • Registro em

  • Última visita

Tudo que Zazeros postou

  1. @LeoTK Teu tutorial ficou bem legal mano, mas eu já sabia como pegar a skill. Eu queria saber como pega o def do shielding. Alguma ideia?
  2. Salve povo, o titulo já ta explicando, mas é o seguinte: Eu precisava de ajuda numa magia, que seria igual um exori, no requesito de pegar a skill do player e juntar com o ataque da arma. Mas eu queria fazer isso com o shield, ou seja, uma formula que usa o skill shielding e junta com a defesa do shield. Obrigado ?
  3. @bellatrikz Tem sim, você tem que substituir em todos essa parte aqui CONDITION_PARAM_STAT_MAXHEALTHPERCENT Só você tirar o "PERCENT" de todos eles. Esse é o de health, você tem que tirar o PERCENT da mana, shield, axe, sword e talz
  4. @bellatrikz Tenta assim: ---Script by mock the bear! local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{} for i=1,100 do ---Carrega as conditions --- HP conditionHP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionHP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionHP[i], CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 100+i) setConditionParam(conditionHP[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionHP[i], CONDITION_PARAM_SUBID, 50) --MANA conditionMP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMP[i], CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+i) setConditionParam(conditionMP[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionMP[i], CONDITION_PARAM_SUBID, 51) --Magic level conditionML[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 100+i) setConditionParam(conditionML[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionML[i], CONDITION_PARAM_SUBID, 52) --club axe sword conditionCLUB[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionCLUB[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_CLUBPERCENT, 100+i) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_SWORDPERCENT, 100+i) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_AXEPERCENT, 100+i) setConditionParam(conditionCLUB[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SUBID, 53) --- shield conditionSHI[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSHI[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSHI[i], CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+i) setConditionParam(conditionSHI[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionSHI[i], CONDITION_PARAM_SUBID, 54) --- dist conditionDIST[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDIST[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionDIST[i], CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+i) setConditionParam(conditionDIST[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionDIST[i], CONDITION_PARAM_SUBID, 55) end function getSlotType(n) --By mock the bear 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] = getItemName(s) end end return t end function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false for i,b in pairs(arr) do if var == b then return true end end return false end function check2(cid,i) if i == 5 or i == 6 then if isInArray({'head','necklace','backpack','body','legs','feet','ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then return false end end return true end function chk(cid,f) if not isPlayer(cid) then return 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 items = { ---- Only to get attr: slotType because getItemName dont return it -.-' _VERSION='1.0 By mock', XML_DIR='data/items/items.xml', } do local ia = os.clock() io.write('Loading items') local i = io.open(items.XML_DIR,'r') local u = i:read(-1) i:close() local u = u:match('<items>(.+)</items>') for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)</(%a*)>') do if mi == 'item' and me == 'item' then local td = {name=name,id=id,type=1} for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do td[key] = value end for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>') do if mi == 'item' then local td = {name=name,id=id,type=2} for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end io.write('[done '..os.clock()-ia..']\n') end function getItemValue(item,value) return items[item] and items[item][value] end function equip(cid,item,slot) --By mock the bear local HP = getCreatureHealth(cid) local MP = getCreatureMana(cid) local t = {} if item then local mm,sinal,qto = getSlotType(getItemName(item.uid)) t[mm] = tonumber(qto) end for i=1,9 do -- Not on slot 10 > arrow if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check2(cid,i) then for _ in getItemName(aab):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] > 100 and 100 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 == 'hp' then doAddCondition(cid,conditionHP[tonumber(n)]) doCreatureAddHealth(cid,HP-getCreatureHealth(cid)) ca[50] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'mp' then doAddCondition(cid,conditionMP[tonumber(n)]) doCreatureAddMana(cid,HP-getCreatureMana(cid)) ca[51] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'ml' then doAddCondition(cid,conditionML[tonumber(n)]) ca[52] = 1 elseif sl == 'cas' then doAddCondition(cid,conditionCLUB[tonumber(n)]) ca[53] = 1 elseif sl == 'shield' then doAddCondition(cid,conditionSHI[tonumber(n)]) ca[54] = 1 elseif sl == 'dist' then doAddCondition(cid,conditionDIST[tonumber(n)]) ca[55] = 1 end end if fu > 0 then addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s) for i=50,55 do if not ca[i] then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end else for i=50,55 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end return true end function onLogin(cid) ---Script by mock the bear! equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) -- Here we check! return TRUE end
  5. @jogador19 Se você for no config.lua do seu servidor, você poderá editar várias coisas sobre party. O que você quer está em "extraPartyExperiencePercent". O número que estiver ai é quanto a exp aumenta quando um novo integrante entra na party, sendo que em "extraPartyExperienceLimit" você define o máximo de exp extra que os membros irão ganhar. Também, em experienceShareLevelDifference você pode definir o intervalo de lvls que pode sharear exp. O padrão da cip é 2/3 do lvl do cara que está mais forte. na party.
  6. @kewin10 Cara, na spell, onde define o nivel da luz, ou "light level" é aqui: setConditionParam(condition, CONDITION_PARAM_LIGHT_LEVEL, 9) Porém, aparentemente, o 9 é o maior valor que é reconhecido. Se voce colocar 100, ele vai ficar com o nivel de luz igual ao do 9, então não passa disso. O client não tem como aumentar a luz do ambiente? Se colocar em 100%, fica igual ao do elfbot Outras coisas: Aqui é onde voc altera o tempo que a luz vai ficar ativa (em milisegundos): setConditionParam(condition, CONDITION_PARAM_TICKS, (1 * 60 * 60 + 10) * 1000) E aqui é onde você pode alterar a cor da luz da magia: setConditionParam(condition, CONDITION_PARAM_LIGHT_COLOR, 215) Sendo que o 215 é o branco. Se você colocar 114 por exemplo, ira transmitir uma luz vermelha
  7. @Phineasz Cara, se eu não quisesse essa parte de vender o loot automaticamente, é só não adicionar essa parte das actions ou tem mais alguma alteração que tem que ser feita?
  8. @Hokograma Esse já é erro no meu lib?
  9. @Hokograma Deu isso
  10. @Hokograma Eu não sei se era pra eu copiar o que voce mandou ou substituir algo, mas deu esse erro
  11. @L3K0T Cara, eu não entendi.... E tbm não deu certo
  12. 0.4 Boa tarde pessoal, eu to com um problema aqui que ta me dando um pouco de dor de cabeça. Eu fiz uma spell que, quando castada, o player cria um item no slot de ammo. Ta funcionando normal isso No item.xml, eu coloquei pro item ter duração de 5 segundos, porem o item não sumia apos 5 seg. Ai eu coloquei pra aparecer a duração nos item.xml e descobri que o tempo não estava decaindo, ou seja, aparecia que o item iria expirar em 5 seg, depois de meia hora, se dava look, aparecia que ele iria sumir daqui 5 seg. Eu não sei o porque disso. Eu coloquei no movements o slot de ammo tbm. Spell: function onCastSpell(cid, var) local storage = 17127 local time = 3 if(exhaustion.make(cid, storage, time) == true) then if getPlayerSlotItem(cid, 10).itemid > 0 then doPlayerSendTextMessage(cid, 22, "Nop") else doPlayerAddItem(cid, 13216, 1, true, 1, SLOT_AMMO) end else doPlayerSendCancel(cid, "Cooldown: "..exhaustion.get(cid, storage)+1) return false end end Item.xml: <attribute key="decayTo" value="0"/> <attribute key="duration" value="5"/> <attribute key="showduration" value="1"/> <attribute key="showattributes" value="1"/> <attribute key="weight" value="0"/> Movements: <movevent type="Equip" itemid="13216" slot="ammo" event="function" value="onEquipItem"> </movevent> <movevent type="DeEquip" itemid="13216" slot="ammo" event="function" value="onDeEquipItem"/>
  13. @quamar Por acaso voce tem RME? Se não tiver, baixa um, abre o mapa e vai até esse lugar, veja se tem alguma sprite estranha lá. Porque eu acho que quando o tibia crasha assim, é porque o client não identificou alguma sprite que apareceu na tela. Se tiver tudo certo pelo RME, deleta essa parte de cima e faz ela de novo
  14. @Vodkart Se o player não tiver cap, o item cairá no chão?
  15. Boa tarde galera, eu venho com a seguinte pergunta: Tem que existir level máximo no tibia? Eu acredito que sim, e aqui vão meus argumentos: Se eu não me engano, o top level no global agra deve estar em 1400, só que tem uma coisa que não acompanha esse level todo, a força dos personagens. O cara pode estar 1000 levels acima de outra pessoa, porém, eles literlamente não conseguem se matar. Não existe mais 1vs1 no tibia faz muito tempo. O unico jeito de duas pessoas conseguirem se matar é sair correndo em meio a um monte de monstros e o primeiro que se trapar, morreu, pra suprir essa falta de dano dos dois lados) Uma solução que eu pensei pra esse problema (de os players possuirem muita vida, muitos recursos de se manterem vivo e pouco dano) é ter um level máximo, e a força do personagem seria nos itens que ele usa. E ai que entra um novo problema, os itens do tibia são MUITO fracos e não acompanha a força dos personagens de jeito nem um. Quando eu jogava, a Magic Plate Armor era a melhor armor do tibia, sonho de consumo (no meu caso, mesmo sendo um mage, eu era noob) e ela valia uma certa quantia. Hoje, essa falcon plate deve ser o que os caras mais usam agr, ela custa mais de MIL VEZES MAIS que uma MPA, sendo que ela tem 1 de armor a mais. UM DE ARM A MAIS ( eu sei que ela dá mais shield e defende contra fisico, mas o preço vale a pena?) Quando você põe a MPA e depois troca pela falcon, você se sente 1000x melhor? Onde eu quero chegar é o seguinte: O tibia não seria um rpg bem melhor se os itens parassem de ser tão fracos e deixar um lv máximo, para que o jogo se voltasse na procura de itens raros e não somente em um up excessivo de várias horas? Tambem, imagina um jogador que começasse agora a jogar tibia. O cara pegaria lv 10 em um dia, jogando sozinho, por exemplo. Viu que o jogo é dificil, mas gostou da pegada. Mais pra frente, ele quer competir com os mais fortes, então ele vai procurar quem é o mais forte, e ai ele descobre que o cara mais forte está lv 1400 e ele joga a 20 anos o jogo. O cara não ficaria desanimado de mais? Alguem mais ve isso como um problema muito grande no global igual eu? (fiquem livre para descordar, vamos discutir!) Eu me baseei no rpg mais famoso do mundo, World of Warcraft, onde você pode começar uma conta hoje, e depois de um tempo, pode até participar de campeonatos de pvp, já que sua força vai ser quase igual aos dos outros (eu sei tambem que involve muito gameplay e saber a mecanica do jogo, mas o tibia tbm). Era isso meu desabafo, alguem que jogue global e gosta do jeito que ele esta agr?
  16. @Joaovettor Cara, já ta assim. Todas as magias do meu server de cura mostram o quanto curou. Eu tentei por isso no script, ficando assim: Mas ele só mostra a primeira cura, o restante não
  17. @Joaovettor Caraca mano, eu não pensei nessas coisas, que foda. Pelo que eu testei aqui, funcionou muito bem, quanto mais o ml, mais ele ta curando, perfeito (eu não testei muito porque já to morrendo de sono), só tem uma coizinha, o healing não ta aparecendo, ele regenera como se o cara tivesse comido food, sacas? não aparece aquele (+100) subindo no cara, mas fora isso ta perfeito mano. Obrigado pela paciencia e por ter me ensinado hoje, agradeço.
  18. @Joaovettor Cara, eu disse que não entendia muito disso, mas eu realmente to tentando entender o que tu disse. Eu pedi pra ajudar a fazer uma magia que curasse de acordo com o ML, ai ela tava retornando um erro ou curava um valor fixo, depoisi voce veio e colocou o valor fixo no começo do script, usando como exemplo, mas exemplo de que? O que eu deveria colocar para que ele usasse uma formula para curar ao inves dos valores fixos? Eu entendi que se eu quiser que a magia cure, eu tenho que colocar os valores fora da função, mas ai como eu colocaria pra que o script detecte o ML do jogador e faça o calculo sem colocar na função?
  19. @Joaovettor Pra mim não faz sentido... Porque o script pegaria o valor min (fixo) e max (tambem fixo) e não usaria ml pra nada Eu acabei de testa com um lv 1 com ml 1 e um com ml 52, os dois curaram 24
  20. Zazeros postou uma resposta no tópico em Suporte Bots
    Salve povo, alguem ai sabe qual é o bot que eles estão utilizando no servidor do Dragon Gabll Return of the Sayans?
  21. @Joaovettor Cara, desculpa. Eu não sou bom scripts. Para que serve então isso, esse min e max não vão interferir no script? local min, max = 15, 30 -- Isto é um exemplo de uma variável global
  22. @Joaovettor Hm, mas elas não estão sendo calculadas aqui? local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) Porque se for do teu jeito, não vai usar o ML do mesmo jeito que o Utura já não usa
  23. @Joaovettor Cara, pode explicar melhor, fazendo o favor?
  24. @ASSAFSAF Cara, qual a sua dúvida no Item Editor, a gente pode te ajudar te ensinando melhor. Ese programa é muito bom no que faz.
  25. Boa noite gente, eu to com um problema e tava pensando numa solução aqui. Umas das soluções é um script que checa se tem monstro em uma area, se não tiver, ele spawna o monstro, dentro do intervalo de spawn dele, por exemplo: Dentro da area x, y, z até x+1, y+1, z ele checa se existe alguma criatura lá. Se tiver, ele não spawna. Se não tiver, ele cria uma. Obrigado

Informação Importante

Confirmação de Termo