Tentei fazer sozinho, obviamente não consegui. Vou postar as minhas tentativas caso ajude alguém a me ajudar.
Agradeço desde já!
Tipo do script: Action
Protocolo (versão do Tibia): 9.1
Servidor utilizado: TFS
Nível de experiência: Médio-baixo
Adicionais/Informações:
Queria que quando uma criatura, qualquer criatura, estivesse com o looktype 399 fosse possível usar o item 13537 nela e ganhar a mount de id 13, então a criatura e o item iriam sumir.
Minha tentativa:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local outfit = getCreatureOutfit(itemEx.uid)
if isCreature(itemEx.uid) then
if outfit == 399 then
doPlayerAddMount(cid,13)
doCreatureSay(cid, 'You tamed it!', TALKTYPE_ORANGE_1)
doSendMagicEffect(fromPosition, CONST_ME_POFF)
doRemoveCreature(itemEx.uid)
elseif outfit ~= 399 or isCreature(itemEx.uid) == FALSE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
end
return TRUE
end
end
Tipo do script: NPC
Protocolo (versão do Tibia):
Servidor utilizado: TFS
Nível de experiência: Médio-baixo
Adicionais/Informações: Queria que ele desse o mount id 22, como consegui, mas depois de 24hrs o mount sumisse.
Minha tentativa:
local parameters = {cid = cid}
function removeMount(parameters)
if getPlayerMount(cid,22) == TRUE or getPlayerMount(cid,24) == TRUE or getPlayerMount(cid,25) == TRUE then
doPlayerRemoveMount(cid,22)
doPlayerRemoveMount(cid,24)
doPlayerRemoveMount(cid,25)
end
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
if ((msgcontains(msg, 'rent')) and (getPlayerMount(cid,22) == FALSE or getPlayerMount(cid,24) == FALSE or getPlayerMount(cid,25) == FALSE)) then
selfSay('Do you want to rent a horse for one day at a price of 500 gold?', cid)
talkState[talkUser] = 1
elseif ((msgcontains(msg, 'no') or msgcontains(msg, 'nah')) and (talkState[talkUser] == 1)) then
selfSay('Maybe next time then.', cid)
talkState[talkUser] = 0
elseif ((msgcontains(msg, 'yes') or msgcontains(msg, 'yeah')) and (talkState[talkUser] == 1)) then
selfSay('Here you are, but take care of it.', cid)
doPlayerAddMount(cid,22)
AddEvent(removeMount, 1000*60*60*24, parameters)
talkState[talkUser] = 0
end
return TRUE
end
PS: Eu sei que faltam alguns detalhes nos scripts, mas não no funcionamento em geral.
Espero que consigam me ajudar.