Ir para conteúdo

lSainty

Conde
  • Total de itens

    509
  • Registro em

  • Última visita

  • Dias Ganhos

    25

Tudo que lSainty postou

  1. Estava faltando um 'end' também: function onStatsChange(cid, attacker, type, combat, value) local item = 2160 local pos = {x = 979, y = 1461, z = 4} local monsters = {"dwarf", "dwarf guard", "dwarf geomancer"} if not isMonster(attacker) then return true end if isInArray(monsters, getCreatureName(attacker):lower()) and getTileItemById(pos, item).uid > 0 then player:setStorageValue(70065, os.time() + 120) if player:getStorageValue(70065) > os.time() then if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then return false end end return true end end
  2. Na linha 13, está faltando um 'if' antes disso: type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then Ficando assim: if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
  3. Tenta colocar isso: doCreatureAddHealth(cid, -(getCreatureHealth(cid) - config.life)) Abaixo dessa linha: setCreatureMaxHealth(cid, config.life)
  4. lSainty

    Bug "6 Pokemons"

  5. Criptografar você consegue, fazer ele abrir depois sem ter colocado a senha correta já é outra história. Mas se você tem o conhecimento para fazer uma engenharia reversa no arquivo SERIAL (salvo engano era esse, não lembro ao certo) e pegar a senha correta ou criar sua própria senha, vai funcionar sem problemas xD
  6. Se vc permitir eu coloco seu link no tópico, dei uma olhada aqui mas não possuo mais o client que usei na época.
  7. Possui sistema de criptografia mas o Walox "perdeu" a senha, então da forma que está não serve para nada. Mas você pode dar uma analisada em como funciona e fazer o seu próprio sistema xD
  8. You can add it, I believe there is many servers with this system, you just need to extract it Also, the major problem with this base is that it sucks xD
  9. Já falaram umas 15x que é só colocar a PRIMEIRA letra do nome do pokemon maiúscula (Pikachu, Charmander, etc).
  10. Tu ainda me avisou no face, mas vida que segue xD Não forneço suporte a esse servidor
  11. São servidores diferentes, você está utilizando o client do Zring
  12. Dei uma pesquisada e creio que vc vai ter que fazer nas sources. Ao colocar return false (que cancela o dano "original" para causar apenas o do doTargetCombatHealth) ele entra no onStatsChange novamente e vira um loop cancelando o dano.
  13. Infelizmente eu n manjo dessas formulas de dano, mas n faz sentido visto que se o 'value' fosse 100 por exemplo, a conta seria: value = 100 - (100*0.2) = 80
  14. Provavelmente pq a variável 'dano' n foi declarada, tenta assim: function onStatsChange(cid, attacker, type, combat, value, summons) local summons = getCreatureSummons(cid) local angel = "death angel [0]" if #summons >= 1 then for j = 1, #summons do if getCreatureName(summons[j]):lower() == string.lower(angel) then if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then value = value - (value*0.2) doTargetCombatHealth(attacker, cid, combat, -value, -value, 255) end else return true end end end return true end
  15. Nunca analisei o código dessas barras de pokemon do fórum, mas visto que a maioria dos servidores é baseado no PDA, provavelmente é só adaptar o sistema em cima dos erros que for dando. Se vai ficar bom já é outra história xd
  16. Está em modo no-pvp, só alterar
  17. lSainty

    ajuda editar script

    function onUse(player, item) if getPlayerItemCount(player, 32255) == 1 then doPlayerRemoveItem(player, 32255, 1) local item = doPlayerAddItem(player, 32256, 1) doItemSetAttribute(item, "description", "Item comprado por " .. getCreatureName(player)) else doPlayerSendCancel(player, "Voce não possui coins suficiente para pegar esse item") end return true end
  18. Sim, é só trocar a sprite da skull no .pic pela coroa
  19. Tenho certeza que esse servidor é o Zring, o outro que eu postei, que é diferente do ZR que se encontra nesse tópico. O look do ZR por exemplo mostra os status do pokémon como pode ser visto em look.lua: table.insert(str, "[Status]") table.insert(str, "\nOffense: "..math.floor(getItemAttribute(thing.uid, "offense")).." Defense: "..math.floor(getItemAttribute(thing.uid, "defense")).."\n") table.insert(str, "Agility: "..math.floor(getItemAttribute(thing.uid, "speed")).." Sp. Attack: "..math.floor(getItemAttribute(thing.uid, "specialattack")).."\n") table.insert(str, "Vitality: "..math.floor(getItemAttribute(thing.uid, "vitality")).."")
  20. lSainty

    Comando >> /cb

    function onSay(cid, words, param) local typess = { [1] = "normal", [2] = "great", [3] = "super", [4] = "ultra" } if param == "" then doPlayerSendCancel(cid, 'Command needs parameters, function structure: "/cb [Pokemon Name], [boost], [Gender]".') return 0 end local t = string.explode(param, ",") local name = "" local gender = 0 local btype = pokeballs["ultra"].on --"normal" local typeee = typess[math.random(1, 4)] if t[1] then local n = string.explode(t[1], " ") local str = string.sub(n[1], 1, 1) local sta = string.sub(n[1], 2, string.len(n[1])) name = ""..string.upper(str)..""..string.lower(sta).."" if n[2] then str = string.sub(n[2], 1, 1) sta = string.sub(n[2], 2, string.len(n[2])) name = name.." "..string.upper(str)..""..string.lower(sta).."" end if not pokes[name] then doPlayerSendCancel(cid, "Sorry, a pokemon with the name "..name.." doesn't exists.") return true end print(""..name.." ball has been created by "..getPlayerName(cid)..".") end local genders = { ["male"] = 4, ["female"] = 3, ["1"] = 4, ["0"] = 3} if t[3] then if genders[t[3]] then gender = genders[t[3]] else local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 0 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end end else local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 0 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end end local mypoke = pokes[name] local happy = 255 local item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", name) doItemSetAttribute(item, "hp", 1) if t[2] and tonumber(t[2]) > 0 and tonumber(t[2]) <= 50 then doItemSetAttribute(item, "boost", tonumber(t[2])) end doItemSetAttribute(item, "happy", happy) doItemSetAttribute(item, "gender", gender) if name == "Shiny Hitmonchan" or name == "Hitmonchan" then doItemSetAttribute(item, "hands", 0) end doItemSetAttribute(item, "description", "Contains a "..name..".") doItemSetAttribute(item, "addon", 0) doItemSetAttribute(item, "fakedesc", "Contains a "..name..".") doPlayerAddItemEx(cid, item, true) doItemSetAttribute(item, "ball", "Icone") doItemSetAttribute(item, "icon", "yes") doItemSetAttribute(item, "morta", "no") doTransformItem(item, btype) return 1 end
  21. Que amigo? Eu que fiz as alterações E sobre o client, não lembrava de ter colocado tela estendida, mas é só voltar os valores em map.h para os valores originais do tibia, salvo engano ficaria assim: static const int32_t maxViewportX = 11; //min: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6;
  22. Eu literalmente acabei de falar que não tem, como vc espera pegar algo que não está adicionado???
  23. Pq n tem, só a 1°
  24. Todo servidor baseado no PDA já "possui" o sistema, porém mascarado e com níveis fixos. De toda forma, acabei de postar o ZR com level system aqui.
  • Quem Está Navegando   0 membros estão online

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