BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Pedido] NPC 1 item x 3

[Pedido] NPC 1 item x 3

#1 [Pedido] NPC 1 item x 3 el Sáb Sep 13, 2014 5:41 pm

Archonth


Estudiante
Buenas BT
Alguien me puede ayudar con un Npc mission?
Consiste en que le tengas que entregar ''3'' Items acambio de ''1''
-
--
---
----
Player: HI
NPC: Hola (Name), Me llamo ''X'' y Me dedico a crear y reparar objetos magicos, Me especializo en los poderes curativos.
Player: (Mission) (Yes) (Wand)
NPC: Yo te puedo ayudar!!!, Traeme x1(Name), x1(Name) y x1(Name), y Te creo una wand con los poderes curativos mas poderosos que te imaginas, Mi trabajo no tiene precio, Es por puro gusto.

-Este seria el dialogo si tienes los items necesarios para el trade :

Player (Mission) (Yes) (Wand)
NPC: Aqui tienes amigo, Diviertete.

-Este seria el dialogo si no tienes los items necesarios para el trade :

NPC: Ya conseguiste los objetos?

#2 Re: [Pedido] NPC 1 item x 3 el Sáb Sep 13, 2014 5:58 pm

chaotiick


Miembro
Código:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="name" script="script.lua" walkinterval="500" floorchange="0">
   <health now="1" max="1"/>
   <look type="23" head="76" body="94" legs="114" feet="114" addons="2"/>
   <parameters>
      <parameter key="message_greet" value="Texto."/>
   </parameters>
</npc>

script del npc:

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
if(msgcontains(msg, 'quest')) then
selfSay('{mission!}', cid)
end
---------------------------------------------------------
if(msgcontains(msg, 'mission')) then
selfSay('well, go and bring me a {Item que pedira.}', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'minotaur leather') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,5600) > 0) then ------------ storage
selfSay('texto que dira si le vuelves a decir mission o help etc.. ejemplo "no tengo mas misiones para ti"!.', cid)
else
if(doPlayerRemoveItem(cid, 5878, 100) == TRUE) then
setPlayerStorageValue(cid,5600,1)
doPlayerAddItem(cid, 2152,150 ) ----- item que dara...
doPlayerAddExperience(cid, 500000) ------ exp que dara
selfSay('Excellent work!', cid)
selfSay('texto al despues que le des los items ', cid)
else
selfSay('sorry, you need a {item que ocuparas.}...', cid)
end
end
return true
end
---------------------------------------------------------
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


sorry ando sin tiempo byeXD arreglalo como gustes. agregale items etc.

#3 Re: [Pedido] NPC 1 item x 3 el Sáb Sep 13, 2014 6:37 pm

Archonth


Estudiante
El problema es que no c como hacer esas funciones....

#4 Re: [Pedido] NPC 1 item x 3 el Sáb Sep 13, 2014 6:39 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Buenas BT
Alguien me puede ayudar con un Npc mission?
Consiste en que le tengas que entregar ''3'' Items acambio de ''1''
-
--
---
----
Player: HI
NPC: Hola (Name), Me llamo ''X'' y Me dedico a crear y reparar objetos magicos, Me especializo en los poderes curativos.
Player: (Mission) (Yes) (Wand)
NPC: Yo te puedo ayudar!!!, Traeme x1(Name), x1(Name) y x1(Name), y Te creo una wand con los poderes curativos mas poderosos que te imaginas, Mi trabajo no tiene precio, Es por puro gusto.

-Este seria el dialogo si tienes los items necesarios para el trade :

Player (Mission) (Yes) (Wand)
NPC: Aqui tienes amigo, Diviertete.

-Este seria el dialogo si no tienes los items necesarios para el trade :

NPC: Ya conseguiste los objetos?
¿Y que lo pueda realizar todas las veces que quiera teniendo esos objetos requeridos? ¿o que solamente sea por 1 vez como las quest?



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#5 Re: [Pedido] NPC 1 item x 3 el Sáb Sep 13, 2014 7:22 pm

Archonth


Estudiante
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Buenas BT
Alguien me puede ayudar con un Npc mission?
Consiste en que le tengas que entregar ''3'' Items acambio de ''1''
-
--
---
----
Player: HI
NPC: Hola (Name), Me llamo ''X'' y Me dedico a crear y reparar objetos magicos, Me especializo en los poderes curativos.
Player: (Mission) (Yes) (Wand)
NPC: Yo te puedo ayudar!!!, Traeme x1(Name),  x1(Name) y x1(Name), y Te creo una wand con los poderes curativos mas poderosos que te imaginas, Mi trabajo no tiene precio, Es por puro gusto.

-Este seria el dialogo si tienes los items necesarios para el trade :


Player (Mission) (Yes) (Wand)
NPC: Aqui tienes amigo, Diviertete.

-Este seria el dialogo si no tienes los items necesarios para el trade :


NPC: Ya conseguiste los objetos?
¿Y que lo pueda realizar todas las veces que quiera teniendo esos objetos requeridos? ¿o que solamente sea por 1 vez como las quest?

Hola belero
Que lo pueda hacer todas las veces que guste el player, El unico requizito serán los 3 items.

#6 Re: [Pedido] NPC 1 item x 3 el Dom Sep 14, 2014 2:02 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Buenas BT
Alguien me puede ayudar con un Npc mission?
Consiste en que le tengas que entregar ''3'' Items acambio de ''1''
-
--
---
----
Player: HI
NPC: Hola (Name), Me llamo ''X'' y Me dedico a crear y reparar objetos magicos, Me especializo en los poderes curativos.
Player: (Mission) (Yes) (Wand)
NPC: Yo te puedo ayudar!!!, Traeme x1(Name),  x1(Name) y x1(Name), y Te creo una wand con los poderes curativos mas poderosos que te imaginas, Mi trabajo no tiene precio, Es por puro gusto.

-Este seria el dialogo si tienes los items necesarios para el trade :

Player (Mission) (Yes) (Wand)
NPC: Aqui tienes amigo, Diviertete.

-Este seria el dialogo si no tienes los items necesarios para el trade :

NPC: Ya conseguiste los objetos?
¿Y que lo pueda realizar todas las veces que quiera teniendo esos objetos requeridos? ¿o que solamente sea por 1 vez como las quest?

Hola belero
Que lo pueda hacer todas las veces que guste el player, El unico requizito serán los 3 items.


Que tardé más de la cuenta porque ayer mismo te puse el script pero hoy me di cuenta de que tenía un fallito así que tuve que volver a hacerlo y de la forma que puso chaotiick

Servidor/Data/Npc/... creas un archivo.xml y en su interior pegas lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="1x3" script="data/npc/scripts/daItem aCambio.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="285" head="7" body="87" legs="7" feet="87" addons="2"/>
   <parameters>
       <parameter key="message_greet" value="Hola, |PLAYERNAME|, Me llamo ''X'' y Me dedico a crear y reparar objetos magicos, Me especializo en los poderes curativos."/>
       <parameter key="message_farewell" value="Hasta luego, |PLAYERNAME|."/>
       <parameter key="message_walkaway" value="Ehmmmm... ADIOS, eh!?" />
   </parameters>
</npc>

Servidor/Data/Npc/Scripts/... creas un archivo.lua y en su interior pegas lo siguiente:
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 c = {
   Requer = {2386, 2376, 2398}, -- 3 Objetos necesarios.
   Recomp = {2160, 2}, -- Objeto recompensa, Cantidad del cual.
  }

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, string.lower('mission')) or msgcontains(msg, string.lower('yes')) or msgcontains(msg, string.lower('wand'))) and talkState[talkUser] == nil) then
       selfSay('Yo te puedo ayudar!!!, Traeme x1 '..getItemNameById(c.Requer[1])..', x1 '..getItemNameById(c.Requer[2])..' y x1 '..getItemNameById(c.Requer[3])..', y Te creo una wand con los poderes curativos mas poderosos que te imaginas, Mi trabajo no tiene precio, Es por puro gusto.', cid)
       talkState[talkUser] = 1
    elseif ((msgcontains(msg, string.lower('mission')) or msgcontains(msg, string.lower('yes')) or msgcontains(msg, string.lower('wand'))) and talkState[talkUser] == 1) then
       if getPlayerItemCount(cid,c.Requer[1]) > 0 and getPlayerItemCount(cid,c.Requer[2]) > 0 and getPlayerItemCount(cid,c.Requer[3]) > 0 then
           if doPlayerRemoveItem(cid,c.Requer[1],1) and doPlayerRemoveItem(cid,c.Requer[2],1) and doPlayerRemoveItem(cid,c.Requer[3],1) then
               doPlayerAddItem(cid, c.Recomp[1], c.Recomp[2])
               selfSay('Aqui tienes amigo, Diviertete.', cid)
           end
        else
          selfSay('Ya conseguiste los objetos?', cid)
       end
    end
  return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#7 Re: [Pedido] NPC 1 item x 3 el Miér Sep 17, 2014 3:37 pm

Archonth


Estudiante
Muchas Gracias belero , Disculpa y me puedes modificar el script para que ahora sea 25 items de un mismo Id por 1 Item ?

Osea darle 25 fichas al npc acambio de 1 key... (Ejemplo) Gracias hermano

#8 Re: [Pedido] NPC 1 item x 3 el Miér Sep 17, 2014 5:17 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Muchas Gracias belero , Disculpa y me puedes modificar el script para que ahora sea 25 items de un mismo Id por 1 Item ?

Osea darle 25 fichas al npc acambio de 1 key... (Ejemplo) Gracias hermano
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 c = {
    Requer = {2637, 3}, -- {Objeto requerido, Cantidad del cual},
    Recomp = {2160, 2}, -- {Objeto recompensa, Cantidad del cual},
  }
function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
      return false
    end
  local item = getPlayerItemById(cid, false, c.Requer)
  local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    if  ((msgcontains(msg, string.lower('mission')) or msgcontains(msg, string.lower('yes')) or msgcontains(msg, string.lower('wand'))) and talkState[talkUser] == nil) then
        selfSay('Hey! te puedo ayudar! Traeme {x'..c.Requer[2]..' '..getItemPluralNameById(c.Requer[1])..'} y te creare una wand con los poderes curativos mas poderosos de los que te podrias imaginar. Mi trabajo no tiene precio, es por puro gusto.', cid)
        talkState[talkUser] = 1
      elseif ((msgcontains(msg, string.lower('mission')) or msgcontains(msg, string.lower('yes')) or msgcontains(msg, string.lower('wand'))) and talkState[talkUser] == 1) then
        if getPlayerItemCount(cid, c.Requer[1]) >= c.Requer[2] then
            if doPlayerRemoveItem(cid, c.Requer[1], c.Requer[2]) then
                doPlayerAddItem(cid, c.Recomp[1], c.Recomp[2])
                selfSay('Aqui tienes amigo. Diviertete!', cid)
            end
          else
            selfSay('Ya conseguiste los objetos?', cid)
        end
    end
  return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

local c = {
Requer = {2637, 3}, -- {Objeto requerido, Cantidad del cual},
Recomp = {2160, 23}, -- {Objeto recompensa, Cantidad del cual},
}



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#9 Re: [Pedido] NPC 1 item x 3 el Miér Sep 17, 2014 7:12 pm

Archonth


Estudiante
I love you

#10 Re: [Pedido] NPC 1 item x 3 Hoy a las 4:11 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 .