Ir para conteúdo
  • 0

Transformação De Item Após Dar Use


smarf

Pergunta

Fala galerinha XTibiana!

 

Estou querendo por uns scripts novos no meu servidor ,e veio em mente o seguinte script.

Quando o player de "USE" no 1kk ele vira outro item , tipo aquele Golden Nuget (acho que é assim).

Alguem tem esse script e pode me passar ?

Tanks !,

 

Tipo do script: Transformação de item.



Protocolo (versão do Tibia):8.60

Servidor utilizado: Subwat Editado

Nível de experiência: Tanto fais rsrs....

Adicionais/Informações: PORFAVOR o mais rapido o possivel !

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Actions/script

 

function onUse(cid, item, fromPos, itemEx, toPos)

 

local iddoitem = 2157

 

if getPlayerItemCount(cid,2160) == 100 and doPlayerAddItem(cid,iddoitem,1) or doPlayerSendTextMessage(cid,22, "Você não tem 1kk") then

end

end

 

 

Tag:

 

Você vai ter que preocura pele action.xml por 2160 pois ja existe um script de changegold,

dai é só você troca o nome do value

 

axo q vai ta:

value="other/changegold.lua"/>

 

bota:

 

 

value="localscript.lua"/>
Editado por Vilden
Link para o comentário
Compartilhar em outros sites

  • 0

Fica dizendo "Você não tem 1kk"....

Mais estou com 1 zilhão de kk na bp

:o.

E outra , os 100 golden coins , não virão mais 1 platinum, tanto como 100 platinum não vira 10k

:/

Link para o comentário
Compartilhar em outros sites

  • 0

function onUse(cid, item, position, itemEx, fromPosition)
local m = {
gold = xx,
crystal = xx
}
if doPlayerRemoveItem(cid,crystal,100) == TRUE then
doPlayerAddItem(cid,gold,1)
doPlayerSendTextMessage(cid,27,"You transform your crytal coins in gold nuget")
else
doPlayerSendTextMessage(cid,27,"Sorry you no have 100 crystal coins")
end
end

 

 

nos xx e o id dos itens

Editado por mulizeu
Link para o comentário
Compartilhar em outros sites

  • 0

@smarf,

1 Passo: Transformar o gold nugget em um item de money.

Procure o gold nugget em "items/items.xml", e logo abaixo da tag:

<attribute key="weight" value="10" />

insira a seguinte tag:

<attribute key="worth" value="1000000" />

 

2 Passo: Configurar a action para transformar 100 crystal coins em 1 gold nugget.

Vá até "actions/actions.xml" e adicione a seguinte tag:

<action itemid="2157" event="script" value="other/changegold.lua"/>

vá até o arquivo changegold.lua pelo caminho "actions/scripts/other/changegold.lua" e substitua seu conteúdo por este:

local coins = {
[iTEM_GOLD_COIN] = {
to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
},
[iTEM_PLATINUM_COIN] = {
from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
},
[iTEM_CRYSTAL_COIN] = {
from = ITEM_PLATINUM_COIN, to = ITEM_GOLD_NUGGET, effect = TEXTCOLOR_TEAL
},
[iTEM_GOLD_NUGGET] = {
from = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_YELLOW
}
}
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].effect)
elseif(coin.from ~= nil) then
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
end
return true
end

 

Pronto agora seu sistema de Cash está totalmente configurado.

 

Desculpe a Identação esse editor aqui alinha tudo a esquerda!

ATENÇÂO: Os ID's dos items usados no script são os id's padrão de tais items, se vier a ter divergência com seus Id's e só mudar.

Qualquer problema ou duvida posta ai denovo, vlw!

Editado por Sofft
Link para o comentário
Compartilhar em outros sites

  • 0

function onUse(cid, item, fromPos, itemEx, toPos)

 

local iddoitem = 2157

 

if getPlayerItemCount(cid,2160) >= 100 and doPlayerAddItem(cid,iddoitem,1) or doPlayerSendTextMessage(cid,22, "Você não tem 1kk") then

end

end

Link para o comentário
Compartilhar em outros sites

  • 0

@Vilden, essa função sua está incompleta, da uma verificada ai pra você ver.

E tipo, se alguém for usar a sua função ele tem que mudar a função changegold, pois terá 2 scripts com o ID do crystal coin (2160),

 

E isso ai, espero que me entenda como um critica construtiva ein!

Link para o comentário
Compartilhar em outros sites

  • 0

@Vilden, essa função sua está incompleta, da uma verificada ai pra você ver.

E tipo, se alguém for usar a sua função ele tem que mudar a função changegold, pois terá 2 scripts com o ID do crystal coin (2160),

 

E isso ai, espero que me entenda como um critica construtiva ein!

 

* Você vai ter que preocura pele action.xml por 2160 pois ja existe um script de changegold,

dai é só você troca o nome do value

Link para o comentário
Compartilhar em outros sites

  • 0

@kelvinvictor

 

Vou dar uma olhada qualquer coisa comento aqui.

Obrigado mesmo assim !

 

@Edit

 

Cara só não achei esse global.lua

sabes onde fica ?

Editado por smarf
Link para o comentário
Compartilhar em outros sites

  • 0

Ei galera essa função que postei ali em cima funciona perfeitamente!

 

 

1 Passo: Transformar o gold nugget em um item de money.

Procure o gold nugget em "items/items.xml", e logo abaixo da tag:

<attribute key="weight" value="10" />

insira a seguinte tag:

<attribute key="worth" value="1000000" />

 

2 Passo: Configurar a action para transformar 100 crystal coins em 1 gold nugget.

Vá até "actions/actions.xml" e adicione a seguinte tag:

<action itemid="2157" event="script" value="other/changegold.lua"/>

vá até o arquivo changegold.lua pelo caminho "actions/scripts/other/changegold.lua" e substitua seu conteúdo por este:

local coins = {
[iTEM_GOLD_COIN] = {
to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
},
[iTEM_PLATINUM_COIN] = {
from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
},
[iTEM_CRYSTAL_COIN] = {
from = ITEM_PLATINUM_COIN, to = ITEM_GOLD_NUGGET, effect = TEXTCOLOR_TEAL
},
[iTEM_GOLD_NUGGET] = {
from = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_YELLOW
}
}
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].effect)
elseif(coin.from ~= nil) then
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
end
return true
end

 

Pronto agora seu sistema de Cash está totalmente configurado.

 

Desculpe a Identação esse editor aqui alinha tudo a esquerda!

ATENÇÂO: Os ID's dos items usados no script são os id's padrão de tais items, se vier a ter divergência com seus Id's e só mudar.

Editado por Sofft
Link para o comentário
Compartilhar em outros sites

  • 0
Em 20/04/2012 em 09:22, Sofft disse:

Ei galera essa função que postei ali em cima funciona perfeitamente!

 

 

1 Passo: Transformar o gold nugget em um item de money.

Procure o gold nugget em "items/items.xml", e logo abaixo da tag:

 


<attribute key="weight" value="10" />
 

 

insira a seguinte tag:

 


<attribute key="worth" value="1000000" />
 

 

 

2 Passo: Configurar a action para transformar 100 crystal coins em 1 gold nugget.

Vá até "actions/actions.xml" e adicione a seguinte tag:

 


<action itemid="2157" event="script" value="other/changegold.lua"/>
 

 

vá até o arquivo changegold.lua pelo caminho "actions/scripts/other/changegold.lua" e substitua seu conteúdo por este:


local coins = {
[iTEM_GOLD_COIN] = {
to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
},
[iTEM_PLATINUM_COIN] = {
from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
},
[iTEM_CRYSTAL_COIN] = {
from = ITEM_PLATINUM_COIN, to = ITEM_GOLD_NUGGET, effect = TEXTCOLOR_TEAL
},
[iTEM_GOLD_NUGGET] = {
from = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_YELLOW
}
}
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].effect)
elseif(coin.from ~= nil) then
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
end
return true
end
 

 

Pronto agora seu sistema de Cash está totalmente configurado.

 

Desculpe a Identação esse editor aqui alinha tudo a esquerda!

ATENÇÂO: Os ID's dos items usados no script são os id's padrão de tais items, se vier a ter divergência com seus Id's e só mudar.

Amigo, fiz isso no meu servidor , ele só transforma do Gold Nugget pra 1kk e não do 1kk pro gold nugget... sabe porque?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...