Amigo, reportado, pois seu post deveria estar no pedidos de scripts, e não aqui, aqui serve para postar e não pedir, reportado :button_cancel:
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- Npc Que So Teleporta Player Com Promotion!
3
679
1 mês depois...
info
Grupo: Campones
Registrado: 04/10/11
Posts: 12
Reputação: +9

07 de outubro de 2011 às 08:41
info
Grupo: Artesão
Registrado: 27/03/10
Posts: 112
Reputação: +108
Gênero: Masculino
Char no Tibia: Ny Uchiha

07 de outubro de 2011 às 14:59
Tenta usa esse Aqui:
Em Data/Npc/Script crie um arquivo LUA chamado NpcTeleport e adicione isso dentro:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local poscarlin = {x=139,y=59,z=7} -------------- Pos para onde o player sera levado em Carlin
local posvenore = {x=139,y=59,z=7} -------------- Pos para onde o player sera levado em Venore
local posedron = {x=139,y=59,z=7} -------------- Pos para onde o player sera levado em Edron
local skull = getCreatureSkullType(cid)
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
if msgcontains(msg, "Job") or msgcontains(msg, "job") then
selfSay("Eu realizo viagens para jogadores com Promotion para {Carlin}, {Venore}, {Edron}.", cid)
elseif(msgcontains(msg, 'Carlin')) or msgcontains(msg, "carlin") then
selfSay('Uma viagem para Carlin vai te custar {200 R$}.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'Venore')) or msgcontains(msg, "venore") then
selfSay('Uma viagem para Venore vai te custar {200 R$}.', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'Edron')) or msgcontains(msg, "edron") then
selfSay('Uma viagem para Edron vai te custar {200 R$}.', cid)
talkState[talkUser] = 3
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) and getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then
if(getPlayerVocation(cid) >= 5) then
if(doPlayerRemoveMoney(cid, 200)) then
selfSay('Thanks!', cid)
doTeleportThing(cid, poscarlin)
talkState[talkUser] = 0
else
selfSay('Você não tem dinheiro.', cid)
end
else
selfSay('Soh jogadores com Promotion podem usar esse Barco.', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) and getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then
if(getPlayerVocation(cid) >= 5) then
if(doPlayerRemoveMoney(cid, 200)) then
selfSay('Thanks!', cid)
doTeleportThing(cid, posvenore)
talkState[talkUser] = 0
else
selfSay('Você não tem dinheiro.', cid)
end
else
selfSay('Soh jogadores com Promotion podem usar esse Barco.', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) and getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then
if(getPlayerVocation(cid) >= 5) then
if(doPlayerRemoveMoney(cid, 200)) then
selfSay('Thanks!', cid)
doTeleportThing(cid, posedron)
talkState[talkUser] = 0
else
selfSay('Você não tem dinheiro.', cid)
end
else
selfSay('Soh jogadores com Promotion podem usar esse Barco.', cid)
talkState[talkUser] = 0
end
else
selfSay('Soh jogadores sem {Battle} podem usar esse barco.', cid)
talkState[talkUser] = 0
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Agora crie 1 Npc em Data/Npc e adicione isso dentro:
<npc name="Edcarlos" script="data/npc/scripts/NpcTeleport.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {job}." />
<parameter key="message_farewell" value="Tchau." />
<parameter key="message_walkaway" value="Tchau." />
</parameters>
</npc>
Não esqueça de mudar essa parte
local poscarlin = {x=139,y=59,z=7} -------------- Pos para onde o player sera levado em Carlin
local posvenore = {x=139,y=59,z=7} -------------- Pos para onde o player sera levado em Venore
local posedron = {x=139,y=59,z=7} -------------- Pos para onde o player sera levado em Edron
Eu não testei Aqui, então qualquer coisa me avisa.
Editado Outubro 7 por DeathAngels


info
Grupo: Campones
Registrado: 17/07/11
Posts: 27
Reputação: +5
Char no Tibia: Paladzinha
Exp: quero faser um NPC que só teleportas player com promotion ou seja, player EK,RP,MS,ED
Obs:poderia me ajudar tabem ,colocando esse npc um bloker para que ele nao teletransportasem player pk, ou com pz!?