Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 01/14/16 em todas áreas

  1. Adeus, vankk.

    Heyron e um outro reagiu a Beeny por uma resposta no tópico

    2 pontos
    KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK > FÓRUM TÁ MORTO NGM RESPONDE DÚVIDA MANO, NEGO N TEM NEM CARA DE PAU ASFNASUFNUFASFNUASFANSUAFASNFASUNFASUFNASUFANFUASFSNAUSAFNFUFANFUASNOASNNZCZXN
  2. Converter Storage para Action

    king478 e um outro reagiu a Xagah por uma resposta no tópico

    2 pontos
    Vá dentro da pasta: Data > CreatureScripts > Scripts > login.xml Abra ele e, dentro da função 'onlogin' coloque o seguinte: if(getPlayerPremiumDays(cid) > 0) then doPlayerPopupFYI(cid, "Voce e premmiun!\n e Ganha 30% mais \n de Exp") else doPlayerPopupFYI(cid, "Você nao e premmiun!\n Compre e ganhe 30% a mais \n de Exp") end Veja se é isto.
  3. [10.77] Mapa: Exysia

    Evollutions reagiu a tev por uma resposta no tópico

    1 ponto
    Tamanho: 29.8 MB Conteúdo: Há houses e spawns, tudo 100%. Categoria: Mapa. Versão: 10.77 Créditos: Peonso Tópico: tev Anexos: Scan | Download Screenshot;
  4. Depot Medieval

    peterson18 reagiu a Tricoder por uma resposta no tópico

    1 ponto
    ____________________________________________ Créditos feliptovis ____________________________________________ SCAN https://www.virustotal.com/pt/file/56952cb8d52645f8ba315c50e0022b6bb3b3551a3614330a4b5325723b356f29/analysis/1451357480/ DOWNLOAD depot1.otbm
  5. (RME Extension 8.6) - Nova paleta "Smithing".

    TapxurebA reagiu a Heyron por uma resposta no tópico

    1 ponto
    (RME Extension 8.6) - Nova paleta "Smithing". Instalação: Abra o diretório do RME, que geralmente fica em C:\Arquivos de programas\Remere's Map Editor. Acesse a pasta data e depois a pasta da versão desejada, no qual você pretende usar a nova extensão, (ex.: 860). Agora, abra o arquivo tilesets.xml com o bloco de notas. Eu aconselho com o programa notepad++, no qual se trata de um ótimo editor de códigos, (clique aqui se caso você não tiver ele). Após ter aberto o arquivo, procure pelo seguinte código abaixo: </tileset> Clique no final do código acima e tecle Enter duas vezes para deixar um espaço, e logo em seguida cole o código abaixo: <tileset name="Smithing"> <doodad> -- www.tibiaking.com -- -- BY: Heyron -- <item fromid="8641" toid="8683"/> <brush name="stone throne (giant)"/> <brush name="stone shelf (giant)"/> <brush name="stone table (giant)"/> </doodad> </tileset> Salve e feche o arquivo. Agora, abra o arquivo doodads.xml, e logo em seguida dê CTRL+F no código abaixo: </brush> Clique no final do código acima e tecle Enter duas vezes para deixar um espaço, e logo em seguida cole o código abaixo: <brush name="stone throne (giant)" type="doodad" server_lookid="7277" draggable="true" on_blocking="true" thickness="50/100"> -- BY: Heyron -- -- This content has been made exclusively to TibiaKing.com -- <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="7278"/> </tile> <tile x="1" y="0"> <item id="7277"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="7279"/> </tile> <tile x="0" y="1"> <item id="7280"/> </tile> </composite> </alternate> </brush> <brush name="stone shelf (giant)" type="doodad" server_lookid="7255" draggable="true" on_blocking="true" thickness="50/100"> -- BY: Heyron -- -- This content has been made exclusively to TibiaKing.com -- <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="7255"/> </tile> <tile x="1" y="0"> <item id="7189"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="7254"/> </tile> <tile x="0" y="1"> <item id="7259"/> </tile> </composite> </alternate> </brush> <brush name="stone table (giant)" type="doodad" server_lookid="7276" draggable="true" on_blocking="true" thickness="50/100"> -- BY: Heyron -- -- This content has been made exclusively to TibiaKing.com -- <composite chance="10"> <tile x="0" y="0"> <item id="7273"/> </tile> <tile x="1" y="0"> <item id="7274"/> </tile> <tile x="0" y="1"> <item id="7275"/> </tile> <tile x="1" y="1"> <item id="7276"/> </tile> </composite> </brush> Salve e feche o arquivo. Pronto! Sua nova extensão para o RME foi instalada. Sua nova extensão está na paleta Doodad Palette/Smithing. Créditos: Heyron
  6. 1 ponto
    Truco!!!!!!! Vou salvar aqui nos resolvidos dos favoritos. Boa sorte no server.
  7. 1 ponto
    Agora sim Hermano deu certo!! Muito obrigado
  8. 1 ponto
    Não, não... a account é diferente da senha. Tenta account '1' e senha '12345678' Vê lá.
  9. Ajudem getItemAttribute

    user33 reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Bom, o problema principal é que você fez uma pequena cagadinha no código, como seu próprio server diz: [13/01/2016 16:42:38] [Error - Weapon Interface] [13/01/2016 16:42:38] In a callback: data/weapons/scripts/sword.lua:onGetFormulaValues [13/01/2016 16:42:38] (Unknown script file) [13/01/2016 16:42:38] Description: [13/01/2016 16:42:38] data/weapons/scripts/sword.lua:10: attempt to index local 'item' (a number value) Erro no callback onGetFormulaValues descrição: Linha 10-> tentou indexar uma variável local chamada item (um valor numérico). Linha 10 -> darma= getItemAttribute(item.arma, "attack") pegar o atributo do item cujo uid seja 'item.arma' e o atributo que eu quero é "attack". OK, mas oque é item.arma? Em nenhum momento você definiu oque era item e a arma está definida como local arma= getPlayerWeapon(cid).id arma é um variável que vai armazenar o id da arma. Então nessas linhas aí a única coisa que vc fez foi pedir pro console te retornar item.id (o campo id da tabela item) só que item não é uma tabela (por isso erro de index..) Tá, mas oque é item? A resposta correta seria um grandiosíssimo "NADA", item na vdd está como parâmetro do callback mas essa function o terceiro parâmetro é a skill do player, não o item que ele utiliza. function onGetFormulaValues(cid, level, item) local arma= getPlayerWeapon(cid).id darma= getItemAttribute(item.arma, "attack") O correto seria Se der erro troca arma por arma.uid ali no darma local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, skill) local arma= getPlayerWeapon(cid) local darma= getItemAttribute(arma, "attack") local skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -darma max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -darma return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
  10. Ajudem getItemAttribute

    user33 reagiu a Xagah por uma resposta no tópico

    1 ponto
    Mais um teste: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) -- local arma= getPlayerWeapon(cid) -- local darma= getItemAttack(arma) local skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) local item1 = getPlayerSlotItem(cid, CONST_SLOT_LEFT) local item2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT) local atk, atk1, atk2 = 0, 0, 0 if item1.uid ~= 0 then atk1 = getItemAttack(item1.uid) end if item2.uid ~= 0 then atk2 = getItemAttack(item2.uid) end if atk1 > atk2 then atk = atk1 else atk = atk2 end min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -atk max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -atk return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Edited: Tinha um trecho diferente. Copia agora.
  11. Ajudem getItemAttribute

    user33 reagiu a Xagah por uma resposta no tópico

    1 ponto
    Vamo lá, tenta isto: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) local arma= getPlayerWeapon(cid) local darma= getItemAttack(arma) local skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -darma max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -darma return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
  12. Ajudem getItemAttribute

    user33 reagiu a Xagah por uma resposta no tópico

    1 ponto
    Tenta assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) local arma= getPlayerWeapon(cid).uid darma= getItemAttribute(arma.uid, 'attack') skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -darma max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -darma return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
  13. (RME Extension 8.6) - Nova paleta "Archways".

    brendonbh reagiu a Heyron por uma resposta no tópico

    1 ponto
    (RME Extension 8.6) - Nova paleta "Archways". Instalação: Abra o diretório do RME, que geralmente fica em C:\Arquivos de programas\Remere's Map Editor. Acesse a pasta data e depois a pasta da versão desejada, no qual você pretende usar a nova extensão, (ex.: 860). Agora, abra o arquivo tilesets.xml com o bloco de notas. Eu aconselho com o programa notepad++, no qual se trata de um ótimo editor de códigos, (clique aqui se caso você não tiver ele). Após ter aberto o arquivo, procure pelo seguinte código abaixo: </tileset> Clique no final do código acima e tecle Enter duas vezes para deixar um espaço, e logo em seguida cole o código abaixo: <tileset name="Archways"> -- www.tibiaking.com -- -- BY: Heyron -- <terrain> <item fromid="8241" toid="8242"/> <item fromid="9471" toid="9484"/> <item fromid="9939" toid="9940"/> <item fromid="9943" toid="9947"/> <item fromid="9950" toid="9952"/> <item fromid="10346"/> <item fromid="10989" toid="10998"/> <item fromid="11058" toid="11061"/> <item fromid="914" toid="917"/> <item fromid="1120" toid="1127"/> <item fromid="1158" toid="1163"/> <item fromid="9140"/> <item fromid="9335" toid="9336"/> <item fromid="1205" toid="1208"/> <item fromid="3439" toid="3446"/> <item fromid="3468"/> <item fromid="3472"/> <item fromid="3476" toid="3479"/> <item fromid="8973"/> <item fromid="3504" toid="3505"/> <item fromid="6175" toid="6176"/> <item fromid="6275"/> <item fromid="6232" toid="6237"/> <item fromid="6882" toid="6885"/> <item fromid="7051" toid="7052"/> <item fromid="7851" toid="7853"/> <item fromid="8243" toid="8248"/> <item fromid="9159" toid="9164"/> <item fromid="9285" toid="9287"/> <item fromid="9320" toid="9326"/> <item fromid="9681"/> <item fromid="9523" toid="9530"/> </terrain> </tileset> Salve e feche o arquivo. Pronto! Sua nova extensão para o RME foi instalada. Sua nova extensão está na paleta Terrain Palette/Archways. Créditos: Heyron
  14. Stamina 42horas com bônus!

    victorat reagiu a TryniX por uma resposta no tópico

    1 ponto
    Já tentou verificar se na sua config.lua consta as linhas da stamina?
  15. Adeus, vankk.

    vankk reagiu a Heyron por uma resposta no tópico

    1 ponto
    Um problema grave aqui no TK é que o pessoal posta suas dúvidas, mas mal se dá o trabalho de buscar uma solução (por si próprio), seja na parte de tópicos resolvidos, ou através da barra de pesquisa. E você pode ver que é sempre aquele mesmo tipo de dúvidazinha besta, como por exemplo: "como criar um servidor?", "qual base usar?", "como criar um site?" e etc, sendo que existe milhares e milhares de tutoriais sobre tudo, literalmente. É que o pessoal realmente não busca.
  16. [PEDIDO] addon doll

    Xagah reagiu a Micheel15 por uma resposta no tópico

    1 ponto
    ainda não deu certo, para os free não aparece ainda para selecionar as addon igual na foto, Resolvido : coloquei a tag addonsOnlyPremium = false no config lua grato a todos pela ajuda podem fechar o post !!!
  17. [PEDIDO] addon doll

    Micheel15 reagiu a Xagah por uma resposta no tópico

    1 ponto
    Então faz como comentei acima, muda dentro da sua função e coloca isto:
  18. [Actions] Novo gold

    Tricombi reagiu a Micheel15 por uma resposta no tópico

    1 ponto
    primeiro crie um arquivo com o nome gold nugget.lua na pasta action, ou você escolhe dai cole isso dentro --By MatheusVidaLoka function onUse(cid, item, frompos, item2, topos) if doRemoveItem(item.uid,1) then doPlayerSendTextMessage(cid,22,"Voce trocou 1 gold nugget por 100 crystal coins") doPlayerAddItem(cid,2160,100) end end no arquivo action.xml coloque isso <action itemid="2157" script="gold nugget.lua" /> depois procure pelo arquivo changegold.lua e cole isto dentro -- By MatheusVidaLoka local coins = { [ITEM_GOLD_COIN] = { to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW }, [ITEM_PLATINUM_COIN] = { from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE }, [ITEM_CRYSTAL_COIN] = { from = ITEM_PLATINUM_COIN, to = 2157, effect = TEXTCOLOR_LIGHTBLUE }, [2157] = { from = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_TEAL } } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then return false end local coin = coins[item.itemid] if(not coin) then return false end if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, coin.to, 1) doSendAnimatedText(fromPosition, "$$$", coins[coin.to].effect) elseif(coin.from ~= nil) then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect) end return true end AJUDEI ? REP +++ CREDITOS : MatheusVidaLoka
  19. [PEDIDO] addon doll

    Micheel15 reagiu a Xagah por uma resposta no tópico

    1 ponto
    Vá na sua pasta: data > XML > 'outfits.xml' e poste seu arquivo aqui. O erro está lá. Edit: hein, pela sua função os 'Free Account' nem mesmo podem adquirir os 'AddOns'. É isto? Se for, mude seu script para: function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["nobleman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325} } local msg = {"Digite o nome correto!", "Voce não possui Addon Doll!", "Bad param!", "Você recebeu seu addons!"} local param = string.lower(param) -- if (not isPremium(cid)) then -- doPlayerSendCancel(cid, "Você nao tem premium account.") -- return TRUE -- end if(getPlayerItemCount(cid, 2112) > 0) then if(param ~= "" and maleOutfits[param] and femaleOutfits[param]) then doPlayerRemoveItem(cid, 2112, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if(getPlayerSex(cid) == 0)then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) else doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end end Coloquei a função que checa o 'Premmiun' abreviada porque vc pode querer usá-la no futuro. Aí vc só retirar os '--' que coloquei.
  20. Erro no Distro

    DavyziinC reagiu a Xagah por uma resposta no tópico

    1 ponto
    Você precisa mudar no arquivo 'vocations.xml', uma vez que o erro está lá. Abre este arquivo e coloca isto aqui: <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="7" gainhpamount="10" gainmanaticks="2.5" gainmanaamount="25" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.5" magDamage="1.1" magHealingDamage="1.0" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="7" gainhpamount="10" gainmanaticks="2.5" gainmanaamount="25" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.5" magDamage="1.1" magHealingDamage="1.0" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="5" gainhpamount="30" gainmanaticks="4" gainmanaamount="20" manamultiplier="1.4" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.8" wandDamage="1.0" magDamage="1.1" magHealingDamage="1.3" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="40" gainmanaticks="5" gainmanaamount="15" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.6" distDamage="1.0" wandDamage="1.0" magDamage="1.5" magHealingDamage="1.3" defense="1.4" magDefense="1.2" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="5.6" gainhpamount="10" gainmanaticks="2" gainmanaamount="25" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="10"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.5" magDamage="1.1" magHealingDamage="1.0" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="6" name="Elder Druid" description="an elder druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="5.6" gainhpamount="10" gainmanaticks="2" gainmanaamount="25" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="10"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.5" magDamage="1.1" magHealingDamage="1.0" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="30" gainmanaticks="3.2" gainmanaamount="20" manamultiplier="1.4" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="10"> <formula meleeDamage="1.0" distDamage="1.9" wandDamage="1.0" magDamage="1.1" magHealingDamage="1.3" defense="1.0" magDefense="1.2" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="8" name="Elite Knight" description="an elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2.4" gainhpamount="40" gainmanaticks="4" gainmanaamount="15" manamultiplier="3.0" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="10"> <formula meleeDamage="2.0" distDamage="1.0" wandDamage="1.0" magDamage="1.5" magHealingDamage="1.3" defense="1.7" magDefense="1.2" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> </vocations> Assim, o erro não é na distro. Agora, pra te ajudar quanto ao primeiro erro, posta o seu script 'monsters.xml' aí pra eu analisar. Ajudei por enquanto? Rep+.
  21. Converter Storage para Action

    Xagah reagiu a Micheel15 por uma resposta no tópico

    1 ponto
    muito obrigado mesmo @Xagah deu certinho e como prometido rep +++
  22. Ajudem getItemAttribute

    user33 reagiu a Xagah por uma resposta no tópico

    1 ponto
    Tenta assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) local arma= getPlayerWeapon(cid).itemid darma= getItemAttribute(arma.uid, 'attack') skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -darma max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -darma return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Pra que que vc usa o 'script'? Porque aí fica mais fácil pra eu testar aqui...
  23. Adeus, vankk.

    Micheel15 reagiu a vankk por uma resposta no tópico

    1 ponto
    Atualmente @Heyron isso não vale mais aqui, ninguém aqui deseja aprender nada no TK, apenas pedem, pedem, pedem, até que um dia todos que são scripters do TK vão canser, e não vão fazer mais nenhum, é o que já esta acontecendo, e o pior de tudo é acha que um Gostei "paga" o trampo, e o que mais me irrita quando eu não respondo de um jeito delicado, falam que eu sou grosso, ignorante, kkkk.
  24. Sprite

    Love Tibia reagiu a Silveira por uma resposta no tópico

    1 ponto
    Galera vou pedir uma coisa diferente na verdade não quero nenhum remake nem nda eu gostaria muito de saber se alguém com tempo, poderia criar uma sprite para mim desse pokemon ,eu achei muito show e pensei,será que o tk n me ajuda,ai galera agradeço desde já desculpe qualquer coisa e se forem fazer eu ficaria muito feliz se quiserem contato tenho skype:andrewbonisil
  25. Debug ao "ver" uma mastermind potion

    victorat reagiu a Xagah por uma resposta no tópico

    1 ponto
    Conforme bem lembrou o @Heyron, itens que são utilizados dentro de Scripts não podem ter a cid compartilhada. Assim, se vai usar um mesmo CID ('sprite' com mesma configuração no '.dat'), vc terá que criar um CID diferente para ele. Não entendo o porque disto também. Mas, para retirar todos os itens expostos ao players, dentro do Remere aperte 'ctrl + F' e insira o ID. Todo local no mapa que tiver este ID será mostrado em uma lista. Para mostrar, dentro da sua pasta 'data' onde podem estar sendo usados, utilize o programa 'NotePad C++'. Abra-o, aperte 'ctrl + shift + F', em localizar coloque o 'id' do item, em pasta selecione a sua pasta 'data' e clique em 'localizar todos'. Será formada uma lista de todos os locais onde o 'id' está sendo mencionado dentro do seu server.
  26. Erro de NPC certo? Ok, deixa eu vê a que! Bom, Use este 032-position: -----------------------------KILL MONSTER------------------------- Edited golden arena! function isMonsterInPos(itempos) -- function by Yunie, returns if isMonster based in stackpos 253 if itempos.itemid == 1 and itempos.type == 2 then return TRUE else return FALSE end end function returnPositions(upperposition,lowerposition) -- function by Yunie, return all positions items informations from an area positionstable = {} defaulty = upperposition.y upperpos = upperposition lowerpos = lowerposition while (upperpos.x <= lowerpos.x) do newpos = {} newpos = {x=upperpos.x, y=upperpos.y, z=upperpos.z} table.insert(positionstable,newpos) while (upperpos.y < lowerpos.y) do upperpos.y = upperpos.y+1 newpos = {} newpos = {x=upperpos.x, y=upperpos.y, z=upperpos.z} table.insert(positionstable,newpos) end upperpos.y = defaulty upperpos.x = upperpos.x+1 end return positionstable end function killMonsterFromArea(positionArray) for k,v in pairs(positionsArray) do pos = {x=v['x'], y=v['y'], z=v['z'], stackpos=253} itempos = getThingfromPos(pos) if isMonsterInPos(itempos) == TRUE then doAreaCombatHealth(0, COMBAT_PHYSICALDAMAGE, pos, 0, -9999999, -9999999, 5) else doSendMagicEffect(pos,2) end end end --[[ EXEMPLO function onSay(cid, words, param) upperpos = {x=155, y=421, z=7} lowerpos = {x=158, y=424, z=7} positionsArray = returnPositions(upperpos,lowerpos) killMonsterFromArea(positionsArray) end ]] --------------------------------------------------------------------------------------- function doRemoveItemFromPos(position, itemid, count) local item = getTileItemById(position, itemid) if(item.uid ~= 0)then return doRemoveItem(item.uid, count or -1) end return false end function isInRange(position, fromPosition, toPosition) return (position.x >= fromPosition.x and position.y >= fromPosition.y and position.z >= fromPosition.z and position.x <= toPosition.x and position.y <= toPosition.y and position.z <= toPosition.z) end function getDistanceBetween(fromPosition, toPosition) local x, y = math.abs(fromPosition.x - toPosition.x), math.abs(fromPosition.y - toPosition.y) local diff = math.max(x, y) if(fromPosition.z ~= toPosition.z) then diff = diff + 9 + 6 end return diff end function getDirectionTo(pos1, pos2) local dir = NORTH if(pos1.x > pos2.x) then dir = WEST if(pos1.y > pos2.y) then dir = NORTHWEST elseif(pos1.y < pos2.y) then dir = SOUTHWEST end elseif(pos1.x < pos2.x) then dir = EAST if(pos1.y > pos2.y) then dir = NORTHEAST elseif(pos1.y < pos2.y) then dir = SOUTHEAST end else if(pos1.y > pos2.y) then dir = NORTH elseif(pos1.y < pos2.y) then dir = SOUTH end end return dir end function getCreatureLookPosition(cid) return getPosByDir(getThingPos(cid), getCreatureLookDirection(cid)) end function getPositionByDirection(pos, direction, size) local n = size or 1 local position = {} position.x = pos.x position.y = pos.y position.z = pos.z if pos.stackpos then position.stackpos = pos.stackpos end if(direction == NORTH) then position.y = position.y - n elseif(direction == SOUTH) then position.y = position.y + n elseif(direction == WEST) then position.x = position.x - n elseif(direction == EAST) then position.x = position.x + n elseif(direction == NORTHWEST) then position.y = position.y - n position.x = position.x - n elseif(direction == NORTHEAST) then position.y = position.y - n position.x = position.x + n elseif(direction == SOUTHWEST) then position.y = position.y + n position.x = position.x - n elseif(direction == SOUTHEAST) then position.y = position.y + n position.x = position.x + n end return position end function doComparePositions(position, positionEx) return position.x == positionEx.x and position.y == positionEx.y and position.z == positionEx.z end function getArea(position, x, y) local t = {} for i = (position.x - x), (position.x + x) do for j = (position.y - y), (position.y + y) do table.insert(t, {x = i, y = j, z = position.z}) end end return t end function checkAreaUid(pos, area, showP, showM) -- By Wantedzin(Perdigs) local creaturesList = {} local center = {} center.y = math.floor(#area/2)+1 for y = 1, #area do for x = 1, #area[y] do local number = area[y][x] if number > 0 then center.x = math.floor(table.getn(area[y])/2)+1 local pos = getTopCreature {x = pos.x + x - center.x, y = pos.y + y - center.y, z = pos.z, stackpos = STACKPOS_TOP_CREATURE} if (pos.type == 1 and showP == 1) or (pos.type == 2 and showM == 1) then table.insert(creaturesList, pos.uid) end end end end return creaturesList end ------------------ Function getPosfromArea(cid,area) by Dokmos ------------------ function getPosfromArea(cid,area) icenter = math.floor(table.getn(area)/2)+1 jcenter = math.floor(table.getn(area[1])/2)+1 center = area[icenter] ivar = table.getn(area) jvar = table.getn(area[1]) i = table.getn(area)^2 j = table.getn(area[1])^2 local mydir = isCreature(getMasterTarget(cid)) and getCreatureDirectionToTarget(cid, getMasterTarget(cid)) or getCreatureLookDir(cid) setPlayerStorageValue(cid, 21101, -1) --alterado v2.6 if center[jcenter] == 3 then if mydir == 0 then signal = {-1,1,1,2} elseif mydir == 1 then signal = {1,-1,2,1} elseif mydir == 2 then signal = {1,-1,1,2} elseif mydir == 3 then signal = {-1,1,2,1} end else signal = {-1,1,1,2} end POSITIONS = {} P = 0 repeat pvar = {0,0} I = area[ivar] J = I[jvar] i = i-1 j = j-1 if J == 1 then if jvar < jcenter then pvar[signal[3]] = signal[1]*math.abs((jcenter-jvar)) elseif jvar > jcenter then pvar[signal[3]] = signal[2]*math.abs((jcenter-jvar)) end if ivar < icenter then pvar[signal[4]] = signal[1]*math.abs((icenter-ivar)) elseif ivar > icenter then pvar[signal[4]] = signal[2]*math.abs((icenter-ivar)) end end if jvar > 1 then jvar = (jvar-1) elseif ivar > 1 then jvar = table.getn(area[1]) ivar = (ivar-1) end local pos = getThingPos(cid) local areapos = {x=pos.x+(pvar[1]),y=pos.y+(pvar[2]),z=pos.z} if pos.x ~= areapos.x or pos.y ~= areapos.y then P = P+1 POSITIONS[P] = areapos end until i <= 0 and j <= 0 return POSITIONS end Caso não pega certinho mandarei outro! Créditos: Wantedzin(Perdigs) Dokmos Yunie
  27. Broadcast mensagem apenas donate

    Micheel15 reagiu a vankk por uma resposta no tópico

    1 ponto
    local config = { Bstorage = 13500, exhaustionStorage = 16785, exhaustionTime = 120, -- segundos char = 100 --maximo de letras na msg } local list = { 'dot','.com','.net','servegame','hopto','ip','no-ip','.org','whore','slut','fuck','mother','fucker','hopto','ass','cock','pussy', } function onSay(cid, words, param, channel) if getCreatureStorage(cid, config.Bstorage) < 1 then doPlayerSendCancel(cid, 'Only vips can use this command.') return true end if param == '' then doPlayerSendCancel(cid, 'Command requires a message.') return true end if exhaustion.check(cid, config.exhaustionStorage) then doPlayerSendCancel(cid, 'You can not use this command yet['..exhaustion.get(cid, config.exhaustionStorage)..'].') return true else exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime) end local forbid, param2 = false, param:lower() for i = 1, #list do if string.find(param2, list) ~= nil then forbid = true break end end if forbid then doPlayerSendCancel(cid, 'Your message contains a forbidden word.') return true end if string.len(param) >= char then doPlayerSendCancel(cid, 'Your message is too long.') return true end doPlayerBroadcastMessage(cid, param) return true end
  28. Copiar mapa é permitido

    RXSora reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    Se o membro do fórum disponibilizou para download, isso significa que está livre para uso e não causará nenhum problema..
  29. (Simples e Útil) Aviso sobre AOL

    Tiago12345 reagiu a WarW0lf por uma resposta no tópico

    1 ponto
    Simples e Útil Ao logar o Player é avisado se está ou não com AOL, assim evitando perda de Loot atoa. Crie um novo arquivo em data\creaturescripts\scripts\AOL.lua Em creaturescripts.xml Em creature/scripts/login.lua adicione: Créditos: amiroslo (GRINGO)
  30. [MODERN AAC] Poke X Mostyer

    paulino reagiu a CarlosHenrique7457 por uma resposta no tópico

    1 ponto
    Vlw +rep muito bom =)
  31. 1 ponto
    Putz reputado você também kkkkkkkk
  32. 1 ponto
    Eae Galera Do Tibiaking,Vim Aki Postar Um Sistema Para o Shop.lua,Ele e Muito BOm Para Evitar Clones , e Etc É O Seguinte Vou Postar , Um Sistema Para Shop.lua , Que se Alguem Comprar No SHop, o Player Que Comprasse , Ja Vinhesse Nesse Item o Nome Dele , Então Vamos Lá!!! Abra a Pasta Do Seu Otserv , Vá em Data/globalevents/globalevents.xml E Adicione a Seguinte Tag Agora No Msm Local data/globalevents/shop.lua Se Voçe n Tiver o Shop.lua Crie Um Ou Pegue 1 arquivo .lua , e Renomei Para Shop.lua e Apague Tudo que Estar La Dentro e Poe a Seguinte Tag Espero Ter Ajudado, !!! Creditos: Gm Bekman Jeff Owns
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo