
lucasmoniz
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
lucasmoniz deu reputação a Kenshiin em [Ajuda] Key quest + Npc task + Acentos em scripts<?xml version="1.0" encoding="ISO-8859-1"?>
<npc name="Caçador de Dragon Lord" script="data/npc/scripts/NpcDragonLord.lua" floorchange="0" walkinterval="0">
<health now="100" max="100"/>
<look type="39" head="24" body="25" legs="100" feet="118" addons="0"/>
<parameters>
<parameter key="message_greet" value="Olá |PLAYERNAME|, você gostaria de fazer uma {missao}?" />
</parameters>
</npc>
------ /\ Arquivo NPC XML
Para TFS 0.4
------ \/ Arquivo .Lua do Npc
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 qntdade = 1800
local stoTime = 96494
local stoKill = 96495
local premio = 129385600 --em exp!
local msg = string.lower(msg)
local left = math.ceil((getPlayerStorageValue(cid, stoTime) - os.time())/(24 * 60 * 60)) --nao mexe!
if (msgcontains(msg, 'task') or msgcontains(msg, 'missao')) then
if getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) > 0 then
local faltaMatar = getPlayerStorageValue(cid, stoKill)
local jaMatou = math.abs(getPlayerStorageValue(cid, stoKill)-qntdade)
local prazo = os.date("%d/%m/%y %X", getPlayerStorageValue(cid, stoTime))
selfSay("Você ainda não matou os "..qntdade.." dragons lord, atualmente você matou ".. (jaMatou)..", resta "..faltaMatar..". Seu prazo é de até "..prazo..".", cid)
talkState[talkUser] = 0
return true
elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left <= 0 and getPlayerStorageValue(cid, stoKill) ~= -1 then
selfSay("Infelismente você não matou as "..qntdade.." dragons lord a tempo. Se você quiser, você pode tentar fazer denovo a missao.", cid)
setPlayerStorageValue(cid, stoTime, -1)
setPlayerStorageValue(cid, stoKill, -1)
talkState[talkUser] = 0
return true
elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) == -1 then
local prazo = os.date("%d/%m/%y %X", getPlayerStorageValue(cid, stoTime))
selfSay("Você tem que esperar pelo menos 1 semana para poder pegar essa tarefa denovo. O prazo de acaba dia ".. prazo..".", cid)
talkState[talkUser] = 0
return true
elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) == 0 then
selfSay("Obrigado! você matou os "..qntdade.." dragons lord em menos de 1 semana. Aqui esta sua recompensa! Lembre-se que você pode fazer esta task quantas vezes quiser,desde que tenha concluído 1 semana contado a partir do dia de inicio.", cid)
doPlayerAddExp(cid, premio) --premio
setPlayerStorageValue(cid, stoKill, -1)
talkState[talkUser] = 0
return true
else
if getPlayerStorageValue(cid, stoTime) ~= -1 and getPlayerStorageValue(cid, stoKill) == -1 then
setPlayerStorageValue(cid, stoTime, -1) --soh pra evitar problemas...
end
selfSay("Olá! Eu sou caçador de dragons lord. Você quer me ajudar a matar dragons lord?", cid)
talkState[talkUser] = 1
end
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then
selfSay("Ótimo! Você precisa matar pelo menos "..qntdade.." Dragons Lord em um prazo de 1 semana para eu te dar a recompensa. Aceita?", cid)
talkState[talkUser] = 2
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 2 then
local semana = 7 * 24 * 60 * 60
setPlayerStorageValue(cid, stoTime, os.time()+semana)
setPlayerStorageValue(cid, stoKill, qntdade)
local sto = getPlayerStorageValue(cid, stoTime)
selfSay("Você já pode começar a matar Dragons Lord! Volte aqui quando matar "..qntdade.." dragons lord para ser recompensado. O prazo é até ".. os.date("%d/%m/%y %X", sto) ..".", cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
---- Adicione Essa Linha no Monstro Dragon Lord Depois do Loot
<script>
<event name="TaskDragonLord"/>
</script>
-
lucasmoniz deu reputação a WooX em [Ajuda] Key quest + Npc task + Acentos em scripts2 - Gostei do conceito pra ideia de tasks, se ninguém fizer quando eu tiver um tempo desenvolvo pra você.
3 - Já tem solução pra isso no fórum, da uma procurada.
-
lucasmoniz deu reputação a Werner em Remere's Map Editor - Dúvidas e soluções de bugsOlá.
Ultimamente vejo que estão criando muitos tópicos com duvidas quanto ao rme, muitas que ja foram solucionadas. Então para facilitar a pesquisa, colocarei alguns erros comuns do RME e sua solução neste tópico juntamente com um simples tutorial de introdução ao mapping, para facilitar a pesquisa e soluções, tudo junto em um só tópico.
O tutorial de introdução é bem superficial. Caso queira aprofundar-se no assunto, existem tópicos próprios para isso.
Tutorial de Introdução:
__
Esta parte será voltada para solução de erros.
1. Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia insalation folder.
2. Invalid Itens (fica um piso vermelho, ou determinado item com sprite de outro)
3. Lag no RME
4. Rme stop working
-
lucasmoniz deu reputação a Heyron em (RME Extension 8.6) - Zao Bridge.(RME Extension 8.6) - Zao Bridge.
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:
<brush name="snowy ramp"/> 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="zao bridge"/> 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="zao bridge" type="doodad" server_lookid="11868" draggable="true" on_blocking="true" thickness="100/100"> -- BY: Heyron -- -- This content has been made exclusively to TibiaKing.com -- <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="11868"/> </tile> <tile x="0" y="1"> <item id="11869"/> </tile> <tile x="0" y="2"> <item id="11870"/> </tile> <tile x="0" y="3"> <item id="11871"/> </tile> <tile x="1" y="0"> <item id="11864"/> </tile> <tile x="1" y="1"> <item id="11856"/> </tile> <tile x="1" y="2"> <item id="11856"/> </tile> <tile x="1" y="3"> <item id="11856"/> </tile> <tile x="2" y="0"> <item id="11873"/> </tile> <tile x="2" y="1"> <item id="11874"/> </tile> <tile x="2" y="2"> <item id="11876"/> </tile> <tile x="2" y="3"> <item id="11877"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="11868"/> </tile> <tile x="0" y="1"> <item id="11869"/> </tile> <tile x="0" y="2"> <item id="11872"/> </tile> <tile x="0" y="3"> <item id="11870"/> </tile> <tile x="0" y="4"> <item id="11871"/> </tile> <tile x="1" y="0"> <item id="11864"/> </tile> <tile x="1" y="1"> <item id="11856"/> </tile> <tile x="1" y="2"> <item id="11856"/> </tile> <tile x="1" y="3"> <item id="11856"/> </tile> <tile x="1" y="4"> <item id="11856"/> </tile> <tile x="2" y="0"> <item id="11873"/> </tile> <tile x="2" y="1"> <item id="11874"/> </tile> <tile x="2" y="2"> <item id="11875"/> </tile> <tile x="2" y="3"> <item id="11876"/> </tile> <tile x="2" y="4"> <item id="11877"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0"> <item id="11868"/> </tile> <tile x="0" y="1"> <item id="11869"/> </tile> <tile x="0" y="2"> <item id="11872"/> </tile> <tile x="0" y="3"> <item id="11872"/> </tile> <tile x="0" y="4"> <item id="11870"/> </tile> <tile x="0" y="5"> <item id="11871"/> </tile> <tile x="1" y="0"> <item id="11864"/> </tile> <tile x="1" y="1"> <item id="11856"/> </tile> <tile x="1" y="2"> <item id="11856"/> </tile> <tile x="1" y="3"> <item id="11856"/> </tile> <tile x="1" y="4"> <item id="11856"/> </tile> <tile x="1" y="5"> <item id="11856"/> </tile> <tile x="2" y="0"> <item id="11864"/> </tile> <tile x="2" y="1"> <item id="11856"/> </tile> <tile x="2" y="2"> <item id="11856"/> </tile> <tile x="2" y="3"> <item id="11856"/> </tile> <tile x="2" y="4"> <item id="11856"/> </tile> <tile x="2" y="5"> <item id="11856"/> </tile> <tile x="3" y="0"> <item id="11873"/> </tile> <tile x="3" y="1"> <item id="11874"/> </tile> <tile x="3" y="2"> <item id="11875"/> </tile> <tile x="3" y="3"> <item id="11875"/> </tile> <tile x="3" y="4"> <item id="11876"/> </tile> <tile x="3" y="5"> <item id="11877"/> </tile> </composite> </alternate> Salve e feche arquivo.
Pronto! Sua nova extensão para o RME foi instalada.
Sua nova extensão está na paleta Terrain Palette/Stairs.
Se você não encontrar a nova extensão lá, veja na paleta Terrain Palette/Snow.
Para ir alterando o tamanho e posição das pontes, pressione Z ou X no RME.
Créditos: Heyron
-
lucasmoniz deu reputação a DdJs em Brimstone Bug Cave | 10.98Brimstone Bug Caves
Version: 10.98
Download:
Type: .Rar
Size: 53KB
Position: [X: 1000 Y: 1000 Z: 8]
File password: tibiaking
Scan:
Images: