Ir para conteúdo

Administrador

Administrador
  • Total de itens

    5780
  • Registro em

  • Última visita

  • Dias Ganhos

    96

Tudo que Administrador postou

  1. Necessário: Winrar Hex Editor Client de Tibia 7.x: Hex to MultiClient 7.4 Pressione Ctrl+G, selecione hexadecimal e vá até: 4BAB2 -- Mude 75 para 74 7.6 Pressione Ctrl+G, selecione hexadecimal e vá até: 0004DE45 -- Mude 7E para EB 8.x 8.0 Pressione Ctrl+G, selecione hexadecimal e procure por: F6224 -- Mude 75 para EB 8.10 Pressione Ctrl+G selecione hexadecimal e vá até: F8944 -- Mude 75 para EB 8.11 Pressione Ctrl+G, selecione hexadecimal e vá até: F8966 -- Mude 74 OB para 90 90 8.2 Pressione Ctrl+G, selecione hexadecimal e vá até: 100CE4 -- Mude 75 para EB 8.21 Pressione Ctrl+G, select hexadecimal e vá até: 102B74 -- Mude 75 para EB 8.22 Pressione Ctrl+G, select hexadecimal e vá até: 102B94 -- Mude 75 para EB 8.30 Pressione Ctrl+G, select hexadecimal e vá até: 1054F4 -- Mude 75 para EB 8.31 Pressione Ctrl+G, select hexadecimal e vá até: 105894 -- Mude 75 para EB 8.40 Pressione Ctrl+G, select hexadecimal e vá até: 105924 -- Mude 75 para EB 8.41 Pressione Ctrl+G, select hexadecimal e vá até: 1061c4 -- Mude 75 para EB 8.42 Pressione Ctrl+G, select hexadecimal e vá até: 105EF4 -- Mude 75 para EB 8.5 Pressione Ctrl+G, select hexadecimal e vá até: 106794 -- Mude 75 para EB 8.52 Pressione Ctrl+G, select hexadecimal e vá até: 1067E4 -- Mude 75 para EB 8.53 Pressione Ctrl+G, select hexadecimal e vá até: 106E64 -- Mude 75 para EB 8.54 Pressione Ctrl+G, select hexadecimal e vá até: 1070B4 -- Mude 75 para EB 8.55 Pressione Ctrl+G, select hexadecimal e vá até: 10B874 -- Mude 75 para EB 8.57 Pressione Ctrl+G, select hexadecimal e vá até: 10BB24 -- Mude 75 para EB 8.60 Pressione Ctrl+G, select hexadecimal e vá até: 10BCA4 -- Mude 75 para EB 8.61 Pressione Ctrl+G, select hexadecimal e vá até: 106BF4 -- Mude 75 para EB 8.62 Pressione Ctrl+G, select hexadecimal e vá até: 1079B4 -- Mude 75 para EB 8.70 Pressione Ctrl+G, select hexadecimal e vá até: 10BFA4 -- Mude 75 para EB 8.71 Pressione Ctrl+G, select hexadecimal e vá até: 10BFC4 -- Mude 75 para EB 8.72 Pressione Ctrl+G, select hexadecimal e vá até: 10BCA4 -- Mude 75 para EB 8.73 Pressione Ctrl+G, select hexadecimal e vá até: 10BC84 -- Mude 75 para EB 8.74 Pressione Ctrl+G, select hexadecimal e vá até: 10BC94 -- Mude 75 para EB 9.x 9.00 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 10CF44 - Altere 75 a EB 9.10 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 10E621 - Altere 75 a EB 9.20 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 10E821 - Altere 75 a EB 9.31 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 10E9B1 - Altere 75 a EB 9.40 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 11A711 - Altere 75 a EB 9.41 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 11AAA1 - Altere 75 a EB 9.42 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1257E1 - Altere 75 a EB 9,43-9,44 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 125981 - Altere 75 a EB 9.46 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1258B1 - Altere 75 a EB 9.50 - 9,51-9,52 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1265D1 - Altere 75 a EB 9.53 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 126851 - Altere 75 a EB 9.54 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 128AF1 - Altere 75 a EB 9.60 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 12A5F7 - Altere 75 a EB 9.63 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 12DC07 - Altere 75 a EB 9.70 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 12E057 - Altere 75 a EB 9.81 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 131747 - Altere 75 a EB 9,82-9,83 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 133A10 - Altere 75 a EB 9.84 - 9,85-9,86 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1335D0 - Altere 75 a EB 10.x 10.00 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1337F0 - Altere 75 a EB 10.01 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 133860 - Altere 75 a EB 10.10 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 133B10 - Altere 75 a EB 10.12 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 135850 - Altere 75 a EB 10.13 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 135850 - Altere 75 a EB 10.20 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 135C40 - Altere 75 a EB 10,21 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 135970 - Altere 75 a EB 10,32 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 13BCB0 - Altere 75 a EB 10,34 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 13BDC0 - Altere 75 a EB 10,35 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 13BE20 - Altere 75 a EB 10,37 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 13C890 - Altere 75 a EB 10.39 / 40/41 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1407D0 - Altere 75 a EB 10.50 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 145567 - Altere 75 a EB 10,51 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 145607 - Altere 75 a EB 10,55 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 14DC17 - Altere 75 a EB 10,56 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 14DD77 - Altere 75 a EB 10.57 - 58-59 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1518E7 - Altere 75 a EB 10.60 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 151C17 - Altere 75 a EB 10,61 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 152BE7 - Altere 75 a EB 10.62-63-64 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 153557 - Altere 75 a EB 10.70 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1549C7 - Altere 75 a EB 10,71 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 155957 - Altere 75 a EB 10,72 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 157641 - Altere 75 a EB 10,73 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 1573E7 - Altere 75 a EB 10,74 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 157127 - Altere 75 a EB 10,75 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 157097 - Altere 75 a EB 10,76 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 157987 - Altere 75 a EB 10,77 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 157637 - Altere 75 a EB 10,78 Em seguida, pressione Ctrl + G, selecione hexadecimal e vá para: 157697 - Altere 75 a EB
  2. Resist: reduz o dano por x% Absorb: reduz o dano por x%, cura x% Reflect: Recebe todo o dano e da x% para o atacante Deflect: Reduz o dano por x% e da x% para o atacante creaturescript.lua local res = { {101, COMBAT_FIREDAMAGE}, {102, COMBAT_EARTHDAMAGE}, {103, COMBAT_ENERGYDAMAGE}, {104, COMBAT_ICEDAMAGE}, {105, COMBAT_HOLYDAMAGE}, {106, COMBAT_DEATHDAMAGE}, {107, COMBAT_PHYSICALDAMAGE}, {108, COMBAT_PHYSICALDAMAGE}, {109, COMBAT_FIREDAMAGE},{110, COMBAT_EARTHDAMAGE}, {111, COMBAT_ENERGYDAMAGE}, {112, COMBAT_ICEDAMAGE}, {113, COMBAT_HOLYDAMAGE}, {114, COMBAT_DEATHDAMAGE}, {115, COMBAT_PHYSICALDAMAGE}, {116, COMBAT_PHYSICALDAMAGE}, {117, COMBAT_FIREDAMAGE}, {118, COMBAT_EARTHDAMAGE}, {119, COMBAT_ENERGYDAMAGE}, {120, COMBAT_ICEDAMAGE}, {121, COMBAT_HOLYDAMAGE}, {122, COMBAT_DEATHDAMAGE}, {123, COMBAT_PHYSICALDAMAGE}, {124, COMBAT_PHYSICALDAMAGE}, {125, COMBAT_FIREDAMAGE}, {126, COMBAT_EARTHDAMAGE}, {127, COMBAT_ENERGYDAMAGE}, {128, COMBAT_ICEDAMAGE}, {129, COMBAT_HOLYDAMAGE}, {130, COMBAT_DEATHDAMAGE}, {131, COMBAT_PHYSICALDAMAGE}, {132, COMBAT_PHYSICALDAMAGE}, } local refs = { [COMBAT_PHYSICALDAMAGE] = CONST_ME_DRAWBLOOD, [COMBAT_ENERGYDAMAGE] = CONST_ME_ENERGYAREA, [COMBAT_EARTHDAMAGE] = CONST_ME_POISONAREA, [COMBAT_FIREDAMAGE] = CONST_ME_FIREAREA, [COMBAT_ICEDAMAGE] = CONST_ME_ICEAREA, [COMBAT_HOLYDAMAGE] = CONST_ME_HOLYAREA, [COMBAT_DEATHDAMAGE] = CONST_ME_MORTAREA } function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if creature:isPlayer() then if primaryType == COMBAT_HEALING then return primaryDamage, primaryType, secondaryDamage, secondaryType end if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, 11) then if primaryType == COMBAT_DROWNDAMAGE then primaryDamage = 0 end if secondaryType == COMBAT_DROWNDAMAGE then secondaryDamage = 0 end end for i = 1, 8 do -- resist if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if primaryType == res[i][2] or i == 8 then primaryDamage = (primaryDamage - (primaryDamage * (creature:getStorageValue(5) / 100))) end if secondaryType == res[i][2] or i == 8 then secondaryDamage = (secondaryDamage - (secondaryDamage * (creature:getStorageValue(5) / 100))) end end end for i = 9, 16 do -- reflect if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if not attacker then return primaryDamage, primaryType, secondaryDamage, secondaryType end if primaryType == res[i][2] or i == 16 then local a = math.floor(primaryDamage * (creature:getStorageValue(5) / 100)) if attacker:isMonster() then local m = MonsterType(attacker:getName()) local e = m:getElementList() local f = m:getCombatImmunities() if type(f) == "number" then if f == primaryType then a = 0 end else for i, j in pairs(f) do if i == primaryType then a = 0 end end end if type(e) == "number" then if e == primaryType then if e > 0 then a = (a - (a * (e / 100))) else a = (a + (a * ((e * -1) / 100))) end end else for i, j in pairs(e) do if i == primaryType then if j > 0 then a = (a - (a * (j / 100))) else a = (a + (a * ((j * -1) / 100))) end end end end end doTargetCombatHealth(creature, attacker, primaryType, a, a, refs[primaryType]) end end end for i = 17, 24 do -- deflect if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if not attacker then return primaryDamage, primaryType, secondaryDamage, secondaryType end if primaryType == res[i][2] or i == 24 then local a = math.floor(primaryDamage * (creature:getStorageValue(5) / 100)) if attacker:isMonster() then local m = MonsterType(attacker:getName()) local e = m:getElementList() local f = m:getCombatImmunities() if type(f) == "number" then if f == primaryType then a = 0 end else for i, j in pairs(f) do if i == primaryType then a = 0 end end end if type(e) == "number" then if e == primaryType then if e > 0 then a = (a - (a * (e / 100))) else a = (a + (a * ((e * -1) / 100))) end end else for i, j in pairs(e) do if i == primaryType then if j > 0 then a = (a - (a * (j / 100))) else a = (a + (a * ((j * -1) / 100))) end end end end end doTargetCombatHealth(creature, attacker, primaryType, a, a, refs[primaryType]) primaryDamage = (primaryDamage - (primaryDamage * (creature:getStorageValue(5) / 100))) secondaryDamage = (secondaryDamage - (secondaryDamage * (creature:getStorageValue(5) / 100))) end end end for i = 25, 32 do if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if primaryType == res[i][2] or i == 32 then local a = math.floor(primaryDamage * (creature:getStorageValue(5) / 100)) creature:addHealth(a) primaryDamage = (primaryDamage - (primaryDamage * (creature:getStorageValue(5) / 100))) secondaryDamage = (secondaryDamage - (secondaryDamage * (creature:getStorageValue(5) / 100))) end end end end if primaryDamage == 0 and secondaryDamage == 0 and creature:isPlayer() then creature:getPosition():sendMagicEffect(CONST_ME_POFF) end return primaryDamage, primaryType, secondaryDamage, secondaryType end Exemplo local t = 60 * 1000 local v = 10 local resist = Condition(CONDITION_ATTRIBUTES) resist:setParameter(CONDITION_PARAM_BUFF_SPELL, 1) resist:setParameter(CONDITION_PARAM_SUBID, 108) resist:setParameter(CONDITION_PARAM_TICKS, t) player:addCondition(resist) player:setStorageValue(5, v) Créditos: RazorBlade
  3. Você mesmo pode atualizar se souber, mas acredito que em breve sairá.
  4. Exatamente, se o background for muito personalizado vai poluir quando juntado às barras. Podemos tentar outra cor ou alguns detalhes adicionais. Vou ver se enrolo algo aqui =) Obrigado pela sugestão.
  5. Aqui está normal, consegui baixar.
  6. Esse é um teaser do xTibia Ip Changer. Ele vem sido desenvolvido por mim e pelo . Em breve, estaremos disponibilizando à comunidade. Suas funções repetem o objetivo de qualquer outro ip changer. Exceto por algumas exclusividades como o botão que leva o usuário até a maior lista de OtServers do Brasil; Você também pode selecionar um client para aplicar uma nova versão. Aguardamos feedbacks da comunidade. Espero que tenham gostado =)
  7. Boa, adiciona umas bordinhas em cima da escada =)
  8. Esse bug foi decorrente à uma alteração na seção. Já havia o prefixo antes, mas acabou sendo removido. Vou fazer uma revisão nesta semana. Peço que reporte se encontrar mais um faltando. =)
  9. É um ótimo concurso, eu arriscaria participar, mesmo sabendo pouco sobre .lua
  10. Obrigado pela sugestão. Você também pode denunciar o tópico, removeremos este.
  11. Já está disponível o Item Editor para a versão 10.77. Em breve será atualizada para 10.78. Pelo que testei, está funcionando perfeitamente. Acredito que é o melhor atualmente =) Confiram no tópico de download: http://www.xtibia.com/forum/topic/234733-item-editor-v035-80-1077/
  12. Este é o Guard NPC para TFS1.0 (10.31). Descrição Ataca monstros Ataca players com skull (Red ou White) Persegue o alvo Usa ataque corpo-a-corpo ou à distância Instalação Crie um arquivo chamado new npc.xml e adicione: <?xml version="1.0" encoding="UTF-8"?> <npc name="Townguard Steve" script="townsteve.lua" walkinterval="0" floorchange="0" speed="400"> <health now="100" max="100"/> <look type="268" head="0" body="0" legs="79" feet="76" addons="3"/> </npc> Agora em npc/scripts crie townsteve.lua e adicione: -- config local npcname = "Townguard Steve" --Name of your guard NPC local maxdmg = 500 -- maximum dmg dealt local mindmg = 200 -- minimum dmg dealt local speed = 200 -- NPC will follow target every 0.2 seconds (that's "ok" fast) local atkspeed = 1 -- 1= 1 attack per second (!lowest value!) 2= 1 attack per 2 seconds, 3= 1 attack per 3 seconds,... local maxchase = 12 -- 12 tiles chase length (depends on PZs, spawnpoint from NPC, surroundings,... local area = 4 -- 4x4 area will be checked for monsters/players (6 is too much in my oppinion) -- texts local lost = {"I'll get you next time!","I'm to old for this..","Run, coward, RUN!"} -- text if NPC lost target local ktext = {"One for me!","...unworthy!","Bad luck!"} -- text if NPC kills the target local ctext = {"I'm here to help!","Let me handle this!","Die!"} -- text while NPC is in battle (talktype orange!) local ttext = {"Come out ","You coward ","I'll be waiting for you "} -- taunt if player walks into PZ -- Do not edit if you have no clue what you're doing! local hit = 0 local target = 0 local opos = 0 local nid = 0 local spec = {} local kill = 0 local pz = 0 local tpos = 0 local npos = 0 local function goback(nid, opos) if (kill == 0) and (pz == 0) then selfSay(lost[math.random(1,#lost)]) end doSendMagicEffect(getCreaturePosition(nid), 2) doTeleportThing(nid, opos, false) doSendMagicEffect(getCreaturePosition(nid), 101) target = 0 spec = {} pz = 0 kill = 0 end local function closedis(nid, target, opos) if target ~= 0 then tpos = getCreaturePosition(target) npos = getCreaturePosition(nid) if isMonster(target) or isPlayer(target) then if getDistanceBetween(opos, tpos) <= maxchase then if getDistanceBetween(npos, tpos) <= area then if not getTilePzInfo(tpos) then if ((tpos.y - npos.y) >= 2) and ((tpos.y - npos.y)<= area) then if queryTileAddThing(nid, {x=npos.x,y=npos.y+1,z=npos.z}) == 1 then doMoveCreature(nid, SOUTH) elseif queryTileAddThing(nid, {x=npos.x,y=npos.y+1,z=npos.z}) ~= 1 then doTeleportThing(nid, tpos, true) else target = 0 goback(nid,opos) end end if ((npos.y - tpos.y) >= 2) and ((npos.y - tpos.y) <= area) then if queryTileAddThing(nid, {x=npos.x,y=npos.y-1,z=npos.z}) == 1 then doMoveCreature(nid, NORTH) elseif queryTileAddThing(nid, {x=npos.x,y=npos.y-1,z=npos.z}) ~= 1 then doTeleportThing(nid, tpos, true) else target = 0 goback(nid,opos) end end if((tpos.x - npos.x) >= 2) and ((tpos.x - npos.x) <= area) then if queryTileAddThing(nid, {x=npos.x+1,y=npos.y,z=npos.z}) == 1 then doMoveCreature(nid, EAST) elseif queryTileAddThing(nid, {x=npos.x+1,y=npos.y,z=npos.z}) ~= 1 then doTeleportThing(nid, tpos, true) else target = 0 goback(nid,opos) end end if((npos.x - tpos.x) >= 2) and ((npos.x - tpos.x) <= area) then if queryTileAddThing(nid, {x=npos.x-1,y=npos.y,z=npos.z}) == 1 then doMoveCreature(nid, WEST) elseif queryTileAddThing(nid, {x=npos.x-1,y=npos.y,z=npos.z}) ~= 1 then doTeleportThing(nid, tpos, true) else target = 0 goback(nid,opos) end end elseif pz == 0 then selfSay(ttext[math.random(1,#ttext)]..""..getCreatureName(target).."!") pz = 1 target = 0 goback(nid,opos) end end else target = 0 goback(nid,opos) end addEvent(closedis, speed, nid, target, opos) else goback(nid, opos) end end end local function check_target(nid, opos) local position = getThingPos(nid) spec = getSpectators(position, area, area,false,false) if spec then for i = 1, #spec do if isMonster(spec[i]) then target = spec[i] closedis(nid, target, opos) break elseif isPlayer(spec[i]) then if getPlayerSkullType(spec[i]) == (SKULL_WHITE or SKULL_RED) then target = spec[i] closedis(nid, target, opos) break end else target = 0 end end end end function onCreatureAppear(cid) if isNpc(cid) then nid = cid opos = getThingPos(nid) end end function onThink(cid) if target == 0 then check_target(nid, opos) end if target == 0 and kill == 1 then goback(nid,opos) end if (os.clock() - hit) >= atkspeed then if target ~= 0 then if not getTilePzInfo(getCreaturePosition(target)) then if math.random(1,10) < 3 then doSendDistanceShoot(getCreaturePosition(nid), getCreaturePosition(target), 30) doTargetCombatHealth(nid, target, COMBAT_HOLYDAMAGE, -mindmg, -maxdmg, 39) else doTargetCombatHealth(nid, target, COMBAT_PHYSICALDAMAGE, -mindmg, -maxdmg, 0) end if getCreatureHealth(target) <= 0 then kill = 1 selfSay(ktext[math.random(1,#ktext)]) target = 0 else kill = 0 end hit = os.clock() if math.random(1,10) < 3 then doCreatureSay(nid, ctext[math.random(1,#ctext)],34) end end end end end Créditos: Zyntax
  13. Muito criativo, alguma fonte de inspiração? haha
  14. Vou preparar alguns remakes em sprites pra liberar. Quem sabe um mapa melhor =)
  15. Não acho que faz muito o estilo do tibia. Mas é um bom site =)
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...