BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

ayuda con un npc

ayuda con un npc

#1 ayuda con un npc el Miér Oct 02, 2013 5:22 pm

Darkarmort


Miembro
Bueno vengo a pedirles si por ahi tienen un script o podrian hacer un script sencillo de un NPC que te cambien de ciudad por ejemplo si eres residente de thais al hablar con el npc puedas elegir ser residente de venore, ankrhamun, port hope o edron... y en vez de que pida dinero "crystals" pida este item 7633.

espero haberme explicado en si se trata que el npc te cambien la ciudad de donde eres..

si me sirve les doy rep+ y gracias por su tiempo.

no quiero usar teleport y en cuanto a editar el npc de rookgaard no supe hacerlo ya que no se mucho de script por esa razon estoy solicitando su ayuda :S



Última edición por Darkarmort el Jue Oct 03, 2013 3:28 pm, editado 1 vez (Razón : respuesta a comentarios)

http://lighthell.webs.com

#2 Re: ayuda con un npc el Jue Oct 03, 2013 11:44 am

Amy Azzkaban


Miembro
Pero puedes editar el npc que está en la isla al salir de Rookgaard.

#3 Re: ayuda con un npc el Jue Oct 03, 2013 1:15 pm

9863530


Novato
porque mejor no creas un teleport que necesite ese item para poder pasar y al pasar puedas ser residente de esa ciudad.

#4 Re: ayuda con un npc el Vie Oct 04, 2013 4:55 pm

Darkarmort


Miembro
!BUMP¡

:S :S


EDIT:

ok cuando lo tengas te doy tu rep+ y muchas gracias



Última edición por Darkarmort el Sáb Oct 05, 2013 1:48 am, editado 1 vez (Razón : respuesta del comentario siguiente)

http://lighthell.webs.com

#5 Re: ayuda con un npc el Sáb Oct 05, 2013 8:10 am

Strack


Scripter
editalo a tu gusto, not tested!

npc/residencia.xml:
Código:
<?xml version="1.0"?>

<npc name="Residencia" script="data/npc/scripts/residencia.lua" walkinterval="0" access="5" lookdir="3">
    <mana now="800" max="800"/>
    <health now="200" max="200"/>
    <look type="404" head="114" body="114" legs="113" feet="114" addons="0"/>
   <parameters>
        <parameter key="message_greet" value="Hola |PLAYERNAME|." />
    </parameters>
</npc>

residencia.lua
Código:

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

local cities = {
-- [nombre ciudad] = ID ciudad
['venore'] = 1,
['thais'] = 2,
['carlin'] = 3,
}

local payment = {id=7633, q=1} -- ID del item con que se paga, cantidad necesaria

local city = "" -- no tocar
 
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, 'cities') or msgcontains(msg, 'ciudades') then
      local text = ""
      local i = 0
      for name,num in pairs(cities) do
         i=i+1
         if i == #cities then
            text = text.."y {"..name.."}."
         else
            text = text.."{"..name.."}, "
         end
      end
      npcHandler:say("Puedes ser residente de "..text, cid)
   elseif cities[msg:lower()] then
      npcHandler:say("Quieres cambiar tu residencia a "..msg:lower().."? Eso te costará "..payment.q.." "..getItemNameById(payment.id)..".", cid)
      talkState[talkUser] = 1
      city = msg:lower()
   elseif msgcontains(msg, 'yes') or msgcontains(msg, 'si') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, payment.id) < payment.q then
         npcHandler:say("No puedes pagar la residencia, largo!", cid)
         talkState[talkUser] = 0
      else
         doPlayerRemoveItem(cid, payment.id, payment.q)
         npcHandler:say("Enorabuena, ahora resides en "..city.."!", cid)
         doPlayerSetTown(cid, cities[city])
         talkState[talkUser] = 0
      end
   end
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

#6 Re: ayuda con un npc el Dom Oct 06, 2013 2:14 am

Darkarmort


Miembro
me sirvio perfectamente el script Strack gracias por la ayuda.

rep+

http://lighthell.webs.com

#7 Re: ayuda con un npc el Dom Oct 06, 2013 4:29 am

Avsilon


Miembro
Yo tengo un problema a mi me da este error como lo soluciono??

Código:
<npc name="Rey Deronia" script="promotion.lua" autowalk="0" floorchange="0" access="5" level="1" maglevel="1">
   <health now="150" max="150"/>
   <look type="73" head="20" body="30" legs="40" feet="50" corpse="3128"/>
   <parameters>
<parameter key="message_greet" value="Hola |PLAYERNAME|. Tengo un poder para hacerte mas fuerte y que puedas defenderte de inumerables enemigos. Si lo quieres tendras que decirme 'poder'" />
       <parameter key="message_farewell" value="Farewell |PLAYERNAME|!" />
   </parameters>
</npc>
Lua Script Error: [Npc interface]
data/npc/scripts/residencia.lua:onCreatureSay

data/npc/scripts/residencia.lua:22: attempt to call method 'isFocused' .a nil value.

stack traceback:
data/npc/scripts/residencia.lua:22: in function 'callback'
data/npc/scripts/lib/npcsystem/npchandler.lua:299: in function 'oNCreatureSay'

data/npc/scripts/residencia.lua:7: in function .data/npc/scripts/residencia.lua:22.

Ayundenme....

#8 Re: ayuda con un npc el Dom Oct 06, 2013 5:41 am

Strack


Scripter
@up
prueba así:
Código:


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

local cities = {
-- [nombre ciudad] = ID ciudad
['venore'] = 1,
['thais'] = 2,
['carlin'] = 3,
}

local payment = {id=7633, q=1} -- ID del item con que se paga, cantidad necesaria

local city = "" -- no tocar
 
function creatureSayCallback(cid, type, msg)
  local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
 
  if msgcontains(msg, 'cities') or msgcontains(msg, 'ciudades') then
      local text = ""
      local i = 0
      for name,num in pairs(cities) do
        i=i+1
        if i == #cities then
            text = text.."y {"..name.."}."
        else
            text = text.."{"..name.."}, "
        end
      end
      npcHandler:say("Puedes ser residente de "..text, cid)
  elseif cities[msg:lower()] then
      npcHandler:say("Quieres cambiar tu residencia a "..msg:lower().."? Eso te costará "..payment.q.." "..getItemNameById(payment.id)..".", cid)
      talkState[talkUser] = 1
      city = msg:lower()
  elseif msgcontains(msg, 'yes') or msgcontains(msg, 'si') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, payment.id) < payment.q then
        npcHandler:say("No puedes pagar la residencia, largo!", cid)
        talkState[talkUser] = 0
      else
        doPlayerRemoveItem(cid, payment.id, payment.q)
        npcHandler:say("Enorabuena, ahora resides en "..city.."!", cid)
        doPlayerSetTown(cid, cities[city])
        talkState[talkUser] = 0
      end
  end
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
aun así... que versión de tibia utilizas?

#9 Re: ayuda con un npc el Dom Oct 06, 2013 6:44 am

Avsilon


Miembro
tengo un servidor tibia avesta 7.6

Lua Script Error: [Npc interface]
data/npc/scripts/residencia.lua:onCreatureSay

data/npc/scripts/residencia.lua:35: attempt to call global 'getItemNameById' (a
nil value)
stack traceback:
data/npc/scripts/residencia.lua:35: in function 'callback'
data/npc/scripts/lib/npcsystem/npchandler.lua:299: in function 'onCreatu
reSay'
data/npc/scripts/residencia.lua:7: in function (data/npc/scripts/residen
cia.lua:7)

pero ahora tengo este error..

nose porque falla lo del item y me gustaria que la residencia se tuviera que comprar con dinero por ejemplo 20 platinum coins???

#10 Re: ayuda con un npc Hoy a las 11:27 am

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 .