BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[100 GoldNugget = 1 Gold ingot]

[100 GoldNugget = 1 Gold ingot]

#1 [100 GoldNugget = 1 Gold ingot] el Miér Feb 04, 2015 7:35 pm

jukiman


Novato
Buenos dias buenas tardes y buenas noshes :v v:


Como muy bien lo dice el titulo necesito un script para que 100Gn = 1 Gold ingot !




Estos son mis changegold scripts nose si sirva de algo ._. pero aqui tà!


Changegold.lua      l
                          V



Código:
--Configurations
local ITEM_NUGGET = 2157 -- Nugget ID
--End of Configs

function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.itemid == ITEM_GOLD_COIN and item.type == ITEMCOUNT_MAX then --Gold Coin to Platinum Coin
doChangeTypeItem(item.uid, item.type - item.type)
doPlayerAddItem(cid, ITEM_PLATINUM_COIN, 1)
doSendAnimatedText(fromPosition, "Platinum", TEXTCOLOR_LIGHTBLUE)
elseif item.itemid == ITEM_PLATINUM_COIN and item.type == ITEMCOUNT_MAX then --Platinum Coin to Crystal Coin
doChangeTypeItem(item.uid, item.type - item.type)
doPlayerAddItem(cid, ITEM_CRYSTAL_COIN, 1)
doSendAnimatedText(fromPosition, "Crystal!", TEXTCOLOR_TEAL)
elseif item.itemid == ITEM_PLATINUM_COIN and item.type < ITEMCOUNT_MAX then --Platinum Coin to Gold Coin
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, ITEM_GOLD_COIN, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "Gold", TEXTCOLOR_YELLOW)
elseif item.itemid == ITEM_CRYSTAL_COIN and item.type < ITEMCOUNT_MAX then --Crystal Coin to Platinum Coin
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, ITEM_PLATINUM_COIN, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "Platinum", TEXTCOLOR_LIGHTBLUE)
elseif item.itemid == ITEM_CRYSTAL_COIN and item.type == ITEMCOUNT_MAX then --Crystal Coin to Nugget
doChangeTypeItem(item.uid, item.type - item.type)
doPlayerAddItem(cid, ITEM_NUGGET,1)
doSendAnimatedText(fromPosition, "Ingot", TEXTCOLOR_YELLOW)
else
return FALSE
end
return TRUE
end
 Actions.xml
------------------
Código:
<action itemid="2157" script="other/changegold.lua"/>

Es todo lo que tengo~Les agradezo su ayuda ñwñ~

#2 Re: [100 GoldNugget = 1 Gold ingot] el Jue Feb 05, 2015 11:51 am

Belerofonte


Administrador
Servidor/Data/Lib/... 000-constant.lua
Si con ese tipo de extensión .xml o .lua usas el programa:
Bloc de notas normal de windows, pues presiona las teclas "Control + B".
Si por el contrario, usas el Notepad++, pues presiona las teclas "Control + F".
Para que se abra como un mini-buscador de palabras, en el cual pones ITEM_GOLD_COIN y clíck en "Buscar siguiente" para que te envíe directamente a la zona donde se ha de hallar.

Un a vez ahí, verifica que tengas estos items registrados y de la siguiente forma (si no, pues los pones):
Código:
ITEM_GOLD_COIN = 2148
ITEM_PLATINUM_COIN = 2152
ITEM_CRYSTAL_COIN = 2160
ITEM_GOLDEN_NUGGET = 2157
ITEM_GOLDEN_INGOT = 9971



Servidor/Data/Actions/... Actions.xml
Busca y elimina todas las líneas que tengas relacionadas con el archivo: other/changegold.lua
Para en su lugar poner:
Código:
<action itemid="2148;2152;2160;2157;9971" event="script" value="other/changegold.lua"/>

Servidor/Data/Actions/Other/... changegold.lua
Código:
 local coins = {
    [ITEM_GOLD_COIN] = {
        to = ITEM_PLATINUM_COIN,
        colour = COLOR_YELLOW,
        text = "Gold"
    },

    [ITEM_PLATINUM_COIN] = {
        from = ITEM_GOLD_COIN,
        to = ITEM_CRYSTAL_COIN,
        colour = COLOR_LIGHTBLUE,
        text = "Platinum"
    },

    [ITEM_CRYSTAL_COIN] = {
        from = ITEM_PLATINUM_COIN,
        to = ITEM_GOLDEN_NUGGET,
        colour = COLOR_TEAL,
        text = "Crystal"
    },

    [ITEM_GOLDEN_NUGGET] = {
        from = ITEM_CRYSTAL_COIN,
        to = ITEM_GOLDEN_INGOT,
        colour = COLOR_DARKYELLOW,
        text = "Nugget"
    },

    [ITEM_GOLDEN_INGOT] = {
        from = ITEM_GOLDEN_NUGGET,
        colour = COLOR_WHITE,
        text = "Ingot"
    },

}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then
      return false
    end

  local coin = coins[item.itemid]
    if(not coin) then
      return false
    end

    if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then
        doChangeTypeItem(item.uid, item.type - item.type)
        doPlayerAddItem(cid, coin.to, 1)
        doSendAnimatedText(fromPosition, coins[coin.to].text, coins[coin.to].colour)
     elseif(coin.from ~= nil) then
        doChangeTypeItem(item.uid, item.type - 1)
        doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
        doSendAnimatedText(fromPosition, coins[coin.from].text, coins[coin.from].colour)
    end
  return true
end



Por último, te vas a Servidor/Data/Items/... Items.xml y buscas de la anterior forma, primero el objeto gold coin o 2148.
A mí por ejemplo, me aparece así:
   <item id="2148" article="a" name="gold coin" plural="gold coins">
       <attribute key="weight" value="10"/>
       <attribute key="worth" value="1"/>
   </item>
Has de fijarte bien en esa palabra (aún sin cambiar nada) dado que dependiendo del servidor puede cambiar a "worth" o "currency".

Eso sirve para añadirle el valor económico al objeto, a la hora de usarlo al comprar/vender. Por ejemplo:
1 Gold Coin: worth/currency = 1 Gold coin
1 Platinum Coin: worth/currency = 100 Gold coin
1 Crystal Coin: worth/currency = 10000 Gold coin
1 Gold Nugget: worth/currency = 1000000 Gold coin
1 Gold Ingot: worth/currency = 100000000 Gold coin

Ahora vuelves a buscar otro, ID: gold ingot o 9971, ha de aparecerte algo así:
   <item id="9971" article="a" name="gold ingot" plural="gold ingots">
       <attribute key="weight" value="1800"/>
   </item>

Pues le agregas la línea que le da valor monetario:
   <attribute key="worth" value="100000000"/>
o
   <attribute key="currency" value="100000000"/>
Dependiendo de la palabra esa que tengas en las otras monedas registradas worth o currency.



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]

#3 Re: [100 GoldNugget = 1 Gold ingot] el Jue Feb 05, 2015 12:44 pm

jukiman


Novato
Gracias belero me funciono 
Explicas muy bien +rep :33

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 .