Tudo que Markin postou
-
[Resolvido] Alguem pode me ajudar?
Refiz o script do Zoltan aqui. Tenta esse aqui só pra ver se funciona e me fala oque você acha... aquivo xml <?xml version="1.0"?> <npc name="Zoltan" script="data/npc/scripts/Zoltan.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="130" head="95" body="94" legs="95" feet="57" addons="0"/> <parameters> <parameter key="message_greet" value="Ola {|PLAYERNAME|}, tenho um {addon hat} para negociar com voce!" /> </parameters> </npc> Aquivo lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local storage = 41631 local itemaddon = 5903 if msgcontains(msg, 'addon hat') then selfSay('Olá '..getPlayerName(cid)..'. Você quer trocar um '..getItemNameById(itemaddon)..' por um Addon? Diga {Yes} ou {No}', cid) end if msgcontains(msg, 'yes') then if getPlayerStorageValue(cid,storage) == -1 then if getPlayerItemCount(cid, itemaddon) >= 1 then doPlayerRemoveItem(cid, itemaddon, 1) selfSay('Parabéns '..getPlayerName(cid)..', você acabou de ganhar seu addon!', cid) setPlayerStorageValue(cid,storage,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 130, 2) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 141, 2) end else selfSay('Desculpe mais você não tem um '..getItemNameById(itemaddon)..'!', cid) end else selfSay('Desculpe mais você já tem esse addon!', cid) end end if msgcontains(msg, 'no') then selfSay('Que pena '..getPlayerName(cid)..', volte mais tarde!', cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
[Resolvido] Alguem pode me ajudar?
860 Se quiser eu posso fazer de uma forma que não vai ficar igual do global.
-
[Resolvido] Alguem pode me ajudar?
Cara, eu testei o script aqui no meu servidor e esta funcionando perfeitamente... Se for male e digitar addon mage / yes você recebe o hat do addon mage Se for female e digitar addon mage / yes você receber o hat do addon summoner, você esta fazendo algo errado. Eu ainda parei e comecei a ler o script para achar o erro e não achei nada, até pensei em criar um novo mais fui testar esse e esta pegando normalmente. OBS: Você só pode fazer o addon uma vez, se tentar fazer mais de uma não tem como.
-
[NPC] Papai Noel por Vocação
Obrigado, qual quer duvida só falar
-
[NPC] Papai Noel por Vocação
Se você utiliza vip system eu não faço a minima ideia de como fazer, nunca usei o vip system, sempre uso premium...
-
[NPC] Papai Noel por Vocação
Opa, muito obrigado!
-
Cultura musical
https://www.youtube.com/watch?v=Zx8sGFn7MG8 avisa que ta tudo liberado (8)
-
Portais
Não, são apenas descrições.
-
Portais
@Não testei. movements/scripts crie um arquivo com o nome tptown1.lua e adicione isso dentro: local towncity = 1 -- ID da Town // ID da cidade. local templopos = {x = 168, y = 57, z = 7} -- Posição do templo. local storage = 874636 -- Não mudar, só se precisar. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getPlayerStorageValue(cid, storage) == -1 then doPlayerSetTown(cid, towncity) doPlayerSendCancel(cid, ""..getPlayerName(cid).." agora você é morador da cidade "..getTownName(towncity).."") doTeleportThing(cid, templopos) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid, storage, 1) else doTeleportThing(cid, lastPosition) doPlayerSendCancel(cid, "Você já é morador de ".. getTownName(towncity).."!") doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end Em movements/movements.xml adicione a seguinte tag: <movevent type="StepIn" actionid="24673" event="script" value="tptown1.lua"/> Depois basta você abrir o RME e botar a actionID 24673 no teleport.
-
[NPC] Papai Noel por Vocação
Olá abigos e abigas, fiz um script aqui meio atrasado para o natal rs, bom eu até que gostei espero que vocês achem algo útil para ele. Abra a pasta NPC crie um arquivo com nome papainoel.xml e adicione isso dentro: <?xml version="1.0"?> <npc name="Papai Noel" script="data/npc/scripts/papainoel.lua" walkinterval="1000" floorchange="0"> <health now="100" max="100"/> <look type="160" head="0" body="112" legs="93" feet="95"/> <parameters> <parameter key="message_greet" value="Ho-Ho! {|PLAYERNAME|}, para pegar seu presente basta voce falar {present druid}, {present sorcerer}, {present knight} ou {present paladin}!" /> </parameters> </npc> Depois abra a pasta NPC/scripts crie um arquivo com o nome papainoel.lua e adicione isso dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local itemdruid = {{2160, 100}, {9778, 1}, {6512, 1}} -- itens que Elder Druid ira ganhar local itemsorcerer = {{2160, 100}, {8867, 1}, {6512, 1}} -- itens que Master Sorcerer ira ganhar local itemknight = {{2160, 100}, {2472, 1}, {6512, 1}} -- itens que Elite Knight ira ganhar local itempaladin = {{2160, 100}, {2500, 1}, {6512, 1}} -- itens que Royal Paladin ira ganhar local a = { level = 150, -- Level para falar com o Papai Noel storage = 72621, -- Não trocar } if msgcontains(msg, 'present druid') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 6 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Druid}!', cid) for _, b in pairs(itemdruid) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Elder Druid} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present sorcerer') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 5 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Sorcerer}!', cid) for _, b in pairs(itemsorcerer) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Master Sorcerer} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present knight') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 8 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Knight}!', cid) for _, b in pairs(itemknight) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Elite Knight} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present paladin') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 7 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Paladin}!', cid) for _, b in pairs(itempaladin) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Royal Paladin} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Informações: - O npc verificar a vocação do player e adiciona itens conforme sua vocação. - O level minimo para se usar o NPC é 150 - Só pode pegar o presente uma vez - Itens e level minimo configurável. Imagens do NPC: Ao falar com o npc: NPC verificando que o player pediu o presente que não é da sua vocação: NPC verificando que o player não tem o level minimo para pegar o presente e informando quantos leveis faltam para o player poder pegar o presente: Mensagem ao receber o presente: NPC informando que o player já pegou o presente: Créditos: Markin
-
Feliz natal pepekudos!
Feliz natal matheus, tudo de bom e eu espero que o TK volte a ser aquele de sempre See You Later!
-
[Resolvido] RME Global, como editar?
você tem que baixar o tibia 8.60 direto do site do rme... http://remeresmapeditor.com/rmedl.php?file=tibia860.exe abraço.
-
[Sugestão] Sub-fórum Pedidos e Duvidas Scripting
Provavelmente ira continuar assim, mais enfim, não custa nada tentar a essa altura do campeonato
-
[Sugestão] Sub-fórum Pedidos e Duvidas Scripting
Cara, é melhor corrigir quem não sabe do que limitar quem sabe
-
[PEDIDO] NPC que entrega x addon
É Tudo Tois
-
[Resolvido] Como criar Premium por iten?
ao invés de: <movevent type="StepIn" actionid="14965" event="script" value="premitile.lua"/> Você usa esse: <movevent type="StepIn" uniqueid="65467" event="script" value="premitile.lua"/> Ai basta abrir o rme, e colocar em todos pisos que o player nao vai poder passar o uniqueID: 65467 Abraço.
-
[Sugestão] Sub-fórum Pedidos e Duvidas Scripting
Olá, eu acho que seria muito ultil adicionar um sub-fórum de Pedidos e Duvidas Scripting pois tudo que é criando em relação a otserver é jogador em: http://www.tibiaking.com/forum/forum/112-suporte-otserv/ As vezes alguém quer ajudar em um certa área como por exemplo scripting, fica complicado procurar no meio de tudo isso, com a adição do sub-fórum ficaria tudo muito mais simples, abraço.
-
[PEDIDO] NPC que entrega x addon
Já que ninguém respondeu... nightbrother.xml <?xml version="1.0"?> <npc name="Addons NPC" script="data/npc/scripts/nightbrother.lua" walkinterval="1000" floorchange="0"> <health now="100" max="100"/> <look type="155" head="115" body="76" legs="76" feet="83" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Podemos trocar alguns itens pelos addons {first nightmare addon}, {second nightmare addon}, {first brotherhood addon} e {second brotherhood addon}" /> </parameters> </npc> nightbrother.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local a = { nightoutfitfemale = 269, -- id do nightmare addon female nightoutfitemale = 268, -- id do nightmare addon male brotheroutfitfemale = 279, -- id do brotherhood addon female brotheroutfitmale = 278, -- id do brotherhood addon male quant1 = 500, -- quantidade de demonic que precisa para os first addons quant2 = 1000, -- quantidade de demonic que precisa para os second addons demonic = 6500, -- Não troque item1 = 6391, -- id do nightmare shield item2 = 6433, -- id do necromancer shield } -- Nightmare Addon -- if msgcontains(msg, 'first nightmare addon') then if getPlayerSex(cid) == 0 then if getPlayerItemCount(cid, a.demonic) >= a.quant1 then doPlayerAddOutfit(cid,a.nightoutfitfemale, 1) doPlayerRemoveItem(cid, a.demonic, a.quant1) selfSay('Você ganhou o {first nightmare addon}!', cid) else selfSay('Você precisa de {'..a.quant1..' '..getItemNameById(a.demonic)..'} para fazer o {first nightmare addon}.', cid) end end end if msgcontains(msg, 'second nightmare addon') then if getPlayerStorageValue(cid,76435) == -1 then if getPlayerSex(cid) == 0 then if getPlayerItemCount(cid, a.demonic) >= a.quant2 then doPlayerAddOutfit(cid,a.nightoutfitfemale, 2) doPlayerRemoveItem(cid, a.demonic, a.quant2) doPlayerAddItem(cid, a.item1, 1) setPlayerStorageValue(cid,76435,1) selfSay('Você ganhou o {second nightmare addon} e um {'..getItemNameById(a.item1)..'}!', cid) else selfSay('Você precisa de {'..a.quant2..' '..getItemNameById(a.demonic)..'} para fazer o {second nightmare addon}.', cid) end end else selfSay('Você já fez o {second nightmare addon}.', cid) end end if msgcontains(msg, 'first nightmare addon') then if getPlayerSex(cid) == 1 then if getPlayerItemCount(cid, a.demonic) >= a.quant1 then doPlayerAddOutfit(cid,a.nightoutfitmale, 1) doPlayerRemoveItem(cid, a.demonic, a.quant1) selfSay('Você ganhou o {first nightmare addon}!', cid) else selfSay('Você precisa de {'..a.quant1..' '..getItemNameById(a.demonic)..'} para fazer o {first nightmare addon}.', cid) end end end if msgcontains(msg, 'second nightmare addon') then if getPlayerSex(cid) == 1 then if getPlayerItemCount(cid, a.demonic) >= a.quant2 then doPlayerAddOutfit(cid,a.nightoutfitmale, 2) doPlayerRemoveItem(cid, a.demonic, a.quant2) doPlayerAddItem(cid, a.item1, 1) selfSay('Você ganhou o {second nightmare addon} e um {'..getItemNameById(a.item1)..'}!', cid) else selfSay('Você precisa de {'..a.quant2..' '..getItemNameById(a.demonic)..'} para fazer o {second nightmare addon}.', cid) end end end -- Nightmare Addon -- -- Brotherhood Addon -- if msgcontains(msg, 'first brotherhood addon') then if getPlayerSex(cid) == 0 then if getPlayerItemCount(cid, a.demonic) >= a.quant1 then doPlayerAddOutfit(cid,a.brotheroutfitfemale, 1) doPlayerRemoveItem(cid, a.demonic, a.quant1) selfSay('Você ganhou o {first brotherhood addon}!', cid) else selfSay('Você precisa de {'..a.quant1..' '..getItemNameById(a.demonic)..'} para fazer o {first brotherhood addon}.', cid) end end end if msgcontains(msg, 'second brotherhood addon') then if getPlayerSex(cid) == 0 then if getPlayerItemCount(cid, a.demonic) >= a.quant2 then doPlayerAddOutfit(cid,a.brotheroutfitmale, 2) doPlayerRemoveItem(cid, a.demonic, a.quant2) doPlayerAddItem(cid, a.item2, 1) selfSay('Você ganhou o {second brotherhood addon} e um {'..getItemNameById(a.item2)..'}!', cid) else selfSay('Você precisa de {'..a.quant2..' '..getItemNameById(a.demonic)..'} para fazer o {second brotherhood addon}.', cid) end end end if msgcontains(msg, 'first brotherhood addon') then if getPlayerSex(cid) == 1 then if getPlayerItemCount(cid, a.demonic) >= a.quant1 then doPlayerAddOutfit(cid,a.brotheroutfitfemale, 1) doPlayerRemoveItem(cid, a.demonic, a.quant1) selfSay('Você ganhou o {first brotherhood addon}!', cid) else selfSay('Você precisa de {'..a.quant1..' '..getItemNameById(a.demonic)..'} para fazer o {first brotherhood addon}.', cid) end end end if msgcontains(msg, 'second brotherhood addon') then if getPlayerSex(cid) == 1 then if getPlayerItemCount(cid, a.demonic) >= a.quant2 then doPlayerAddOutfit(cid,a.brotheroutfitmale, 2) doPlayerRemoveItem(cid, a.demonic, a.quant2) doPlayerAddItem(cid, a.item2, 1) selfSay('Você ganhou o {second brotherhood addon} e um {'..getItemNameById(a.item2)..'}!', cid) else selfSay('Você precisa de {'..a.quant2..' '..getItemNameById(a.demonic)..'} para fazer o {second brotherhood addon}.', cid) end end end -- Brotherhood Addon -- return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Edite como quiser nesta parte: local a = { nightoutfitfemale = 269, -- id do nightmare addon female nightoutfitemale = 268, -- id do nightmare addon male brotheroutfitfemale = 279, -- id do brotherhood addon female brotheroutfitmale = 278, -- id do brotherhood addon male quant1 = 500, -- quantidade de demonic que precisa para os first addons quant2 = 1000, -- quantidade de demonic que precisa para os second addons demonic = 6500, -- Não troque item1 = 6391, -- id do nightmare shield item2 = 6433, -- id do necromancer shield } - Verificar se o player é female ou male - Da o outfit(addon) conforme o sexo - Não adicionei storage por preguiça, então se quiser adicione você, a função é igual de quests normais - O player pode falar com o npc quantas vezes quiser
-
[Resolvido] [AJUDA] Erro Ao Logar !
se for mysql você tem que editar essa parte: sqlType = "mysql" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "minhasenha" sqlDatabase = "nomedaminhaBD" sqlFile = "" sqlKeepAlive = 0 mysqlReadTimeout = 5000 mysqlWriteTimeout = 5000 encryptionType = "sha1"
- Ajuda aki soft infinita
-
Ajuda aki soft infinita
<item id="2644" name="bunny slippers"> <attribute key="weight" value="800" /> <attribute key="slotType" value="feet" /> <attribute key="healthGain" value="40" /> <attribute key="healthTicks" value="2000" /> <attribute key="manaGain" value="40" /> <attribute key="manaTicks" value="2000" /> <attribute key="showduration" value="1" /> <attribute key="showattributes" value="1" /> </item> ai basta você ir em movements e procurar por isso: <movevent type="Equip" itemid="2640" slot="feet" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="2640" slot="feet" event="function" value="onDeEquipItem"/> logo abaixo dessas 2 linhas adicione isso: <movevent type="Equip" itemid="2644" slot="feet" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="2644" slot="feet" event="function" value="onDeEquipItem"/> abraço.
- Lucros
-
Lucros
Uma dica, se você tem muitos colegas que jogam tibia fica tudo mais fácil, eu não falo 5 ou 6 colegas e sim uns 20 mais o menos, e o porque disso? Porque é como um ciclo vicioso, você chama 20 colegas, desses 20 colegas cerca de 10 vai jogar sério o ot, se cada colega chamar mais 1 ou 2 colegas isso vai crescendo... Claro que isso é somente uma suposição mais pode ajudar. E focando no assunto do tópico, seu servidor provavelmente vai ter lucro mais não da noite para o dia, eu particularmente nunca vi uma empresa fica multi-milionária da noite para o dia... A empresa sempre foca no crescimento de sua empresa e para isso necessita de investimento... Oque você plantar você vai colher... @Não venda seu servidor.
-
Qual e melhor atualmente?
Parece que o segundo tem mais bugs... Apesar de eu não ter testado nenhum eu investiria no primeiro.
-
[Resolvido] Script
Vou reportar o tópico para que movam para duvidas sanadas, até mais!