BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

(Pedido) NPC para residencia.

(Pedido) NPC para residencia.

#1 (Pedido) NPC para residencia. el Lun Ene 06, 2014 3:40 am

chanofmp94


Novato
Buenas noches, quisiera saber si no tienen algún script de un NPC que te de a escoger ciertas ciudades para vivir, o sea para ser residente de una en específico, lo necesito para cuando entren los nuevos Characters, agarren un cofre y después escogan la ciudad para vivir, con ese NPC.

Gracias!

#2 Re: (Pedido) NPC para residencia. el Lun Ene 06, 2014 4:18 am

Carlitos Flow


Miembro
claro:
ve a data/npc/y agrega un npc al nombre que gustes y dentro pon eso:
Código:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Captain Kurt" script="data/npc/scripts/iodship.lua" walkinterval="2000" floorchange="0">
    <health now="100" max="100"/>
    <look type="96" head="0" body="0" legs="0" feet="0" addons="0"/>
       <parameters>
      <parameter key="message_greet" value="Hello |PLAYERNAME|."/>
        <parameter key="message_farewell" value="Good bye."/>
      <parameter key="message_walkaway" value="Farewell then.." />
    </parameters>
</npc>
Despues ve a data/npc/scripts/creas un archivo llamado iodship.lua y agregas dentro eso
Código:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local Topic, Town = {}, {}

function onCreatureAppear(cid) npcHandler:eek:nCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:eek:nCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:eek:nCreatureSay(cid, type, msg) end
function onThink() npcHandler:eek:nThink() end

function thinkCallback(cid)
if math.random(300) == 1 then
npcHandler:say("Harr! Wanna go off this island? Need me an' my ship!")
end
return true
end

function creatureSayCallback(cid, type, msg)
if (msgcontains(msg, "hello") or msgcontains(msg, "hi")) and (not npcHandler:isFocused(cid)) then
local v, k = getPlayerVocation(cid), getCreatureName(cid)
if v == 0 then
npcHandler:say(getPlayerSex(cid) == 0 and "Well hello there, lovely lady! Can't sail you anywhere without a {vocation}, though. Y'should talk to the four vocation {masters} first, " .. k .. "." or "How cute, a freshly hatched newcomer. Harr. Can't leave this island without a {vocation}, y'know? Y'should talk to the four vocation {masters} first, " .. k.. ".", cid)
Topic[cid] = 0
else
npcHandler:say("Harrr, a new " .. getVocationInfo(v).name .. "! Can't wait to get off this lousy island and head for adventure, eh? Want me to bring ya somewhere nice, " .. k .. "?", cid)
Topic[cid] = 1
end
Town[cid] = nil
npcHandler:addFocus(cid)
elseif(not npcHandler:isFocused(cid)) then
return false
elseif msgcontains(msg, "bye") or msgcontains(msg, "farewell") then
npcHandler:say("Hrrrm. Better y'stay here for a bit, aight.", cid, TRUE)
Topic[cid] = nil
Town[cid] = nil
npcHandler:releaseFocus(cid)
elseif Topic[cid] == 1 then
if msgcontains(msg, "yes") then
npcHandler:say("Take a hint from old Cap'n Kurt. Make sure y'dun leave here before yer equipped well. Ya went for rob- err, shopping and got stuff like rope, armor, and weap'n?", cid)
Topic[cid] = 2
elseif msgcontains(msg, "no") then
npcHandler:say("Then what'd ya want? Learn about the main Tibian cities?", cid)
Topic[cid] = 3
else
npcHandler:say("Kid, one thing y'should learn. Answer with {yes} or {no} and ya'll get much farther than with random babbling.", cid)
Topic[cid] = 1
end
elseif Topic[cid] == 2 then
if msgcontains(msg, "yes") then
npcHandler:say("Harrharr. Good answer. Wanna know somethin' about the main Tibian cities before you choose yer new home?", cid)
Topic[cid] = 3
elseif msgcontains(msg, "no") then
npcHandler:say("Then prepare yourself and come back later, eh?", cid)
npcHandler:releaseFocus(cid)
Topic[cid] = nil
end
elseif Topic[cid] == 3 then
if msgcontains(msg, "yes") then
npcHandler:say("Aye. Wanna know about {City 1}, {City 2}, {City 3}, {City 4}?", cid)
Topic[cid] = 0
elseif msgcontains(msg, "no") then
npcHandler:say(isPremium(cid) and "So ya know it all, eh? Where'd ya want me to bring ya then, kid? {City 1}, {City 2}, {City 3}, {City 4}?", cid)
Topic[cid] = 4
end
elseif Topic[cid] == 4 then
if msgcontains(msg, "city 1") then
npcHandler:say("So it's city 1 y'wanna live in? What y'say, {yes} or {no}?", cid)
Topic[cid] = 5
Town[cid] = "city 1" ------------- AQI PONDRAS EL NAME DE LA CITY QUE VIENE EN TU MAP IGUAL ABAJO
elseif msgcontains(msg, "city 2") then
npcHandler:say("So it's city 2 y'wanna live in? What y'say, {yes} or {no}?", cid)
Topic[cid] = 5
Town[cid] = 'city 2'
else
npcHandler:say("Nope, can't bring y'there without a premium account. Y'should be glad you get to travel by ship, usually a premium service, too, y'know.", cid)
Topic[cid] = 0
end
elseif msgcontains(msg, "City 3") then
npcHandler:say("So it's City 3 y'wanna live in? What y'say, {yes} or {no}?", cid)
Topic[cid] = 5
Town[cid] = 'City 3'
elseif msgcontains(msg, "City 4") then
npcHandler:say("So it's City 4 y'wanna live in? What y'say, {yes} or {no}?", cid)
Topic[cid] = 5
Town[cid] = 'City 4'
else
npcHandler:say("Nope, can't bring y'there without a premium account. Y'should be glad you get to travel by ship, usually a premium service, too, y'know.", cid)
Topic[cid] = 0
end
elseif msgcontains(msg, "passage") or msgcontains(msg, "sail") or msgcontains(msg, "travel") then
if getPlayerVocation(cid) == 0 then
npcHandler:say("Nope, yer not going anywhere. Can't transport ya without a {vocation}, y'know?", cid)
Topic[cid] = 0
else
npcHandler:say("So, y'chose your new home city? Which one's it gonna be?", cid)
Topic[cid] = 4
end
elseif Topic[cid] == 5 then
if msgcontains(msg, 'yes') then
npcHandler:say("And off we go! If yer lost, dun forget t'talk to the guide on the ship!", cid)
local v = getTownId(Town[cid])
npcHandler:releaseFocus(cid)
doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
doTeleportThing(cid, getTownTemplePosition(v))
doSendMagicEffect(getTownTemplePosition(v), CONST_ME_TELEPORT)
doPlayerSetTown(cid, v)
Topic[cid] = nil
end
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:setMessage(MESSAGE_WALKAWAY, "Hrrrrm. And a good day to you, too!")
npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback)

City 1, city 2, city 3, city 4, seran el nombre de tus ciudades, alo demas no le tomes mucha importancia suerte:) los city 1, 2, 3 etc, se supone que son el name de tu ciudad que viene en el mapa por defecto o que hayas creado:)

http://flowland.sytes.net/?subtopic=latestnews

#3 Re: (Pedido) NPC para residencia. el Lun Ene 06, 2014 12:26 pm

chanofmp94


Novato
Oh está muy bien amigo pero te hace residente de la ciudad?

#4 Re: (Pedido) NPC para residencia. el Lun Ene 06, 2014 2:41 pm

Carlitos Flow


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Oh está muy bien amigo pero te hace residente de la ciudad?
Si asi es bro:)

http://flowland.sytes.net/?subtopic=latestnews

#5 Re: (Pedido) NPC para residencia. el Lun Ene 06, 2014 5:28 pm

chanofmp94


Novato
Gracias bro! Ya te había dado rep:)

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .