Ir para conteúdo

Posts Recomendados

Pra fazer nadar igual ao global, você deve adicionar no mapa os tiles de água que possibilitam o nado. Os id's vão do item 7943 ao item 7954. Quanto ao npc de barco, você pode usar o script abaixo:

 

Crie um arquivo na pasta Data/Npc, com o nome de Capitão.xml e coloque isto dentro do arquivo:

 

<npc name="Capitão" script="default.lua" walkinterval="0" floorchange="0">
<health now="150" max="150"/>
<look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/>
<parameters>
       <parameter key="module_travel" value="1"/>
<parameter key="message_greet" value="Congratulations |PLAYERNAME|. Wanna you meet my ship rotes? If you say {travel}, I'll can help you!" />
       <parameter key="travel_destinations" value="NOMEDOLUGAR,POS.X,POS.Y,POS.Z,PREÇO"/>
</parameters>
</npc>

 

Edite o NOMEDOLUGAR, POS.X, POS.Y, POS.Z e o PREÇO.

 

 

Veja se funcionou.

 

flw

Link para o comentário
https://xtibia.com/forum/topic/128158-nadando-barco/#findComment-846008
Compartilhar em outros sites

Entao me desculpa, eu errei a versao, é 8.54. eu vo tenta aqui e depois edito *-----* Valeeo !. e outra coisa. como eu faço um npc pra barco P.A e VI p?

Editado por victor of hell
Link para o comentário
https://xtibia.com/forum/topic/128158-nadando-barco/#findComment-846221
Compartilhar em outros sites

Para barcos premium, você tem que fazer o arquivo LUA do npc, usando a função "getPlayerPremiumDays(cid)".

Já para npc vip, depende do seu sistema de vip, se é por storage ou pela database. Caso seja por storage, você terá de usar a função "getPlayerStorageValue(cid, storage)". Caso seja pela database, temos de criar uma função "isVip(cid)" para verificar se o jogador é vip ou não.

 

ps: A base do script para premium players é esta:

 

 

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

------------------Fim das funções default----------------------

 

if msgcontains(msg, "travel") then

selfSay("I can bring you to city.", cid)

talk_state = 1

 

elseif msgcontains(msg, "city") and talk_state == 1 then

selfSay("I can bring you to city for 100 gold. Wanna travel?", cid)

talk_state = 2

 

elseif msgcontains(msg, "yes") and talk_state == 2 then

if getPlayerPremiumDays(cid) >= 1 then

if doPlayerRemoveMoney(cid,100) then

doTeleportThing(cid, {x=10, y=10, z=7})

selfSay("Good bye.", cid)

talk_state = 0

else

selfSay("You do not have money.", cid)

end

else

selfSay("Only premium players are allowed to travel.", cid)

talk_state = 0

end

 

elseif msgcontains(msg, "no") and talk_state == 2 then

selfSay("Ok then.", cid)

end

return TRUE

end

 

---------------------------Fim do script de interação com o npc----------

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

 

flw

Editado por apocarai
Link para o comentário
https://xtibia.com/forum/topic/128158-nadando-barco/#findComment-846302
Compartilhar em outros sites

×
×
  • Criar Novo...