Solicitud Script NPC Cambiador de Items

kurinino

Member
Messages
66
Points
168
Hola amigos Alex, te quería pedir ayuda con un Script para un NPC que te pueda cambiar por ejemplo: 3 "Soulcrusher" (Mazo de 1 mano de la "Bag you Desire"), por una ficha de cambio "Ficha Bag you Desire". Y esa ficha tu puedes escoger cualquier item a elección dentro de la bolsa Bag you Desire. Entonces si has looteado varias bolsas de Bag you Desire, pero no te sale el item que tu quieres, puedes "sacrificar" 3 iguales para poder escoger el que necesitas. Te lo agradecería mucho Alex. Felices fiestas.
 
Solution
Hola,

No es por el orden, me costo la primera vez entenderlo, te explico:
Entre comas " ", la palabra que pondras, no tiene que contener las mismas letras que otras, en el caso de los soul items, "soul-bastion" y "soul-crusher" empiezan por soul, entonces uno o el otro funcionara, no los dos.
Lo que puede haces es agregar palabras distintas y te las cogera todas, cualquier orden,
Podrias no lo sé, soulbastion para uno y el otro le das otro nombre, dejando saber que es un soulcrusher ( club-soulcrusher ) por ejemplo, y al poner club, sabra que es esa palabra el soulcrusher.

Si es tonto, pero solo toma 1 palabra en todo el script que contenga las mismas letras.
Muchas gracias Alex, al final gracias a utilizar la nomenclatura...
Hola amigos Alex, te quería pedir ayuda con un Script para un NPC que te pueda cambiar por ejemplo: 3 "Soulcrusher" (Mazo de 1 mano de la "Bag you Desire"), por una ficha de cambio "Ficha Bag you Desire". Y esa ficha tu puedes escoger cualquier item a elección dentro de la bolsa Bag you Desire. Entonces si has looteado varias bolsas de Bag you Desire, pero no te sale el item que tu quieres, puedes "sacrificar" 3 iguales para poder escoger el que necesitas. Te lo agradecería mucho Alex. Felices fiestas.

Un ejemplo, de una necessitas un script npc que coga el "player", el caso de Cledwyn, el se le puede agregar player.

entonces por ejemplo al principio en su texto sale:

JavaScript:
if MsgContains(message, 'token') or MsgContains(message, 'tokens') then
        npcHandler:say("If you have any {silver} tokens with you, let's have a look! Maybe I can offer you something in exchange.", npc, creature)
    elseif MsgContains(message, 'information') then
        npcHandler:say("With pleasure. <bows> I trade {token}s. There are several ways to obtain the {token}s I am interested in - killing certain bosses, for example. In exchange for a certain amount of tokens, I can offer you some first-class items.", npc, creature)

cogeremos desde el "elseif" y cambiaremos por:
Code:
elseif MsgContains(message, 'soulcrusher') then
if player:removeItem(ID_SOULCRUSHER, 3) then
        npcHandler:say("You have sucessfully exchanged x3 Soulcrusher for 1 token bag you desire.", npc, creature)
        player:addItem(ITEM_ID_TOKEN_BAG_YOU_DESIRE, 1)
else 
npcHandler:say("Sorry, you didn't have x3 Soulcrusher.", npc, creature)
end

Repite el código para más armas.
Claro el ejemplo de cledwyn es bastante largo el script del npc, encuentra quizas otro o bien borra todo lo que no necessitas dentro.
 
Muchas gracias Alex, me funciona bien pero a medias, me pasa que si quiero cambiar los items Soul, debo hacerlos en ese orden, ejemplo: Primero el "Soulcrusher" (linea 113), luego el "Pair of Soulwalkers" (linea 126) y asi, tal cual el orden que está en el código, porque si parto por ejemplo cambiando primero el "soulbastion" (linea 139), después no puedo cambiar un Soulcrasher porque está al inicio del código. Debe ser un problema con las funciones elseif pero no se como arreglarlo para que pueda cambiar cualquier item sin importar el orden del código. Si me pudieras ayudar a corregirlo te lo agradecería.


itemSoul.png
 
Muchas gracias Alex, me funciona bien pero a medias, me pasa que si quiero cambiar los items Soul, debo hacerlos en ese orden, ejemplo: Primero el "Soulcrusher" (linea 113), luego el "Pair of Soulwalkers" (linea 126) y asi, tal cual el orden que está en el código, porque si parto por ejemplo cambiando primero el "soulbastion" (linea 139), después no puedo cambiar un Soulcrasher porque está al inicio del código. Debe ser un problema con las funciones elseif pero no se como arreglarlo para que pueda cambiar cualquier item sin importar el orden del código. Si me pudieras ayudar a corregirlo te lo agradecería.


View attachment 4559


Hola,

No es por el orden, me costo la primera vez entenderlo, te explico:
Entre comas " ", la palabra que pondras, no tiene que contener las mismas letras que otras, en el caso de los soul items, "soul-bastion" y "soul-crusher" empiezan por soul, entonces uno o el otro funcionara, no los dos.
Lo que puede haces es agregar palabras distintas y te las cogera todas, cualquier orden,
Podrias no lo sé, soulbastion para uno y el otro le das otro nombre, dejando saber que es un soulcrusher ( club-soulcrusher ) por ejemplo, y al poner club, sabra que es esa palabra el soulcrusher.

Si es tonto, pero solo toma 1 palabra en todo el script que contenga las mismas letras.
 
Entiendo Alex, algo así sospeché cuando me di cuenta que el npc no te tomaba si no incluía la palabra “token” para empezar a hablar con el jajaja. Que raro pero entiendo, mañana lo probaré y te cuento como me va. Muchas gracias 😁👍🏻
 
Hola,

No es por el orden, me costo la primera vez entenderlo, te explico:
Entre comas " ", la palabra que pondras, no tiene que contener las mismas letras que otras, en el caso de los soul items, "soul-bastion" y "soul-crusher" empiezan por soul, entonces uno o el otro funcionara, no los dos.
Lo que puede haces es agregar palabras distintas y te las cogera todas, cualquier orden,
Podrias no lo sé, soulbastion para uno y el otro le das otro nombre, dejando saber que es un soulcrusher ( club-soulcrusher ) por ejemplo, y al poner club, sabra que es esa palabra el soulcrusher.

Si es tonto, pero solo toma 1 palabra en todo el script que contenga las mismas letras.
Muchas gracias Alex, al final gracias a utilizar la nomenclatura club-soulcrusher, si funciona 😁👍
 
Solution

Tibia Server Lists

#1 FEATURED US Ultron OT 1,686 / 5,000Online EXPStages PROTO8.6 ENGINEUltron OT RANK PTS5.9 +100% VOTES0 #2 FEATURED US Nefera 156 / 0Online EXPx1 PROTO15.20 ENGINECrystal Server RANK PTS5.1 +100% VOTES0 #3 FEATURED ES Deixis 0 / 0Offline EXPStages PROTO1098 ENGINETFS RANK PTS3.7 +100% VOTES1 #4 FEATURED ES Maeli 7 / 150Online EXPx10 PROTO10.98 ENGINETFS 1.4.2 RANK PTS3.6 +100% VOTES0 #5 MX Marlboro War 30 / 300Online EXP999 PROTO8.6 ENGINETFS 0.3.7 RANK PTS5.5 -33% VOTES0 #6 BR Tibinha YurOts 22 / 150Online EXPStages PROTO7.4 ENGINEYurOTS 1.5 RANK PTS5.2 -11% VOTES0 #7 US Halera 5 / 0Online EXPStages PROTO10.98 ENGINETFS 1.4.2 RANK PTS4.9 -83% VOTES0 #8 BR Exordion Legacy 56 / 2,000Online EXPx2 PROTO7.72 ENGINEExordion RANK PTS4.9 +100% VOTES0 #9 PL Lubelski 10 / 1,000Online EXP200 PROTO7.6 ENGINELubelskiOTS 2.56.0 RANK PTS4.6 -16% VOTES0 #10 DE DBU Online 0 / 400Online EXP11 PROTO8.6 ENGINETFS 1.0 RANK PTS4.3 +100% VOTES0 #11 PL ReWar 0 / 2,000Online EXPcustom PROTO8.6 ENGINEOther RANK PTS4.3 0% VOTES0 #12 PL Velesta 0 / 1,000Offline EXP20 PROTO8.0 ENGINETFS 1.4.2 RANK PTS4.3 -98% VOTES0 #13 ES JustRL FreeTC 1530 46 / 250Online EXPx2 PROTO15.30 ENGINECrystal Server RANK PTS4.3 +100% VOTES0 #14 ES Farlia Global 2026 0 / 333Offline EXPx5 PROTO15.25 ENGINEFarliaServ 1.525 RANK PTS3.9 -15% VOTES0 #15 SE MortalisOT Custom 0 / 500Offline EXP100x -1.2x PROTO10.98 ENGINEMortalisOT V1 RANK PTS3.7 +100% VOTES0 #16 US Rommania 0 / 500Online EXPstages, x10 PROTO7.4 ENGINETFS 0.4 RANK PTS3.6 +100% VOTES0 #17 US BerethaOnline 2 / 2,000Online EXPStages PROTO10.98 ENGINETFS RANK PTS3.4 +100% VOTES0
Top