Ir para conteúdo
  • 0

Ganha Addon Exclusivo ao usar item!


Dennyz Dias

Pergunta

Posts Recomendados

  • 0

fiz pelo cell, tenta assim, nao testei

 

 

 

local config = {

item = ID_DO_ITEM,

addon = STORAGE DO ADDON,

}

function onUse(cid, item, frompos, item2, topos)

 

if getPlayerStorageValue(cid, config.addon) >= 1 then

doPlayerSendTextMessage(cid, "Você já recebeu esse addon")

end

 

if item.itemid = config.item then

doPlayerSendTextMessage(cid,22,"Você recebeu um Addon.")

setPlayerStorageValue(cid, config.addon, 1)

return true

end

end

 

 

-- coloca essa tag no xml

 

<action itemid="ID_DO_ITEM" event="script" value="nome_do_arquivo"/>

 

 

 

ai em data/xml/outfits

 

aciona uma nova outfit tipo assim

ex:

<outfit id="id_outfit" quest="storage_da_quest, a mesma do script no action" vocation="1">
<list gender="Numero_sexo" lookType="numero_do_lookType" name="Nome_da_outfit"/>
</outfit>
Link para o comentário
Compartilhar em outros sites

  • 0

 

fiz pelo cell, tenta assim, nao testei

 

 

 

local config = {

item = ID_DO_ITEM,

addon = STORAGE DO ADDON,

}

function onUse(cid, item, frompos, item2, topos)

 

if getPlayerStorageValue(cid, config.addon) >= 1 then

doPlayerSendTextMessage(cid, "Você já recebeu esse addon")

end

 

if item.itemid = config.item then

doPlayerSendTextMessage(cid,22,"Você recebeu um Addon.")

setPlayerStorageValue(cid, config.addon, 1)

return true

end

end

 

 

-- coloca essa tag no xml

 

<action itemid="ID_DO_ITEM" event="script" value="nome_do_arquivo"/>

 

 

 

ai em data/xml/outfits

 

aciona uma nova outfit tipo assim

ex:

<outfit id="id_outfit" quest="storage_da_quest, a mesma do script no action" vocation="1">
<list gender="Numero_sexo" lookType="numero_do_lookType" name="Nome_da_outfit"/>
</outfit>

 

Nao foi parça

passa o id do addon ou newtype seria uma newtype ou um addon?

newtype pode bota o 69 mesmo porinquanto

Link para o comentário
Compartilhar em outros sites

  • 0

data/actions/scripts/ e crie um arquivo.lua chamado addonex.lua e adicione o seguinte código :

function onUse(cid, item, frompos, item2, topos)             
 
local config={
removeOnUse = "yes", -- remover quando usar ("yes" or "no")
id = 69 --- id da newtype
}
 
addonstatus = getPlayerStorageValue(cid,28103)
if addonstatus == -1 or addonstatus == 0 then
 
elseif (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
doPlayerAddOutfit(cid, config.id, 3)
setPlayerStorageValue(cid,28103,1)
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou uma nova outfit")
else
doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit")
end
return true
end
em actions.xml
        <action itemid="ID DO ITEM" event="script" value="addonex.lua"/>
e veja este TUTORIAL para aprender adicionar novas outfits no servidor, siga o tutorial para que o script funcione normal e coloque o id da outfit que vai ser usado no script.
Link para o comentário
Compartilhar em outros sites

  • 0

 

data/actions/scripts/ e crie um arquivo.lua chamado addonex.lua e adicione o seguinte código :

function onUse(cid, item, frompos, item2, topos)             
 
local config={
removeOnUse = "yes", -- remover quando usar ("yes" or "no")
id = 69 --- id da newtype
}
 
addonstatus = getPlayerStorageValue(cid,28103)
if addonstatus == -1 or addonstatus == 0 then
 
elseif (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
doPlayerAddOutfit(cid, config.id, 3)
setPlayerStorageValue(cid,28103,1)
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou uma nova outfit")
else
doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit")
end
return true
end
em actions.xml
        <action itemid="ID DO ITEM" event="script" value="addonex.lua"/>
e veja este TUTORIAL para aprender adicionar novas outfits no servidor, siga o tutorial para que o script funcione normal e coloque o id da outfit que vai ser usado no script.

 

Não foi manow , nao da erro em nada , quando cliko no item ele nao fais nada

item :8985

Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim

 

 

function onUse(cid, item, frompos, item2, topos)             
 
local config={
removeOnUse = "yes", -- remover quando usar ("yes" or "no")
id = 69 --- id da newtype
}
 
if item.uid == 8985 then
addonstatus = getPlayerStorageValue(cid,28103)
if addonstatus == -1 or addonstatus == 0 then
 
elseif (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
doPlayerAddOutfit(cid, config.id, 3)
setPlayerStorageValue(cid,28103,1)
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou uma nova outfit")
else
doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit")
end
return true
end
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

tenta assim

function onUse(cid, item, frompos, item2, topos)             
 
local config={
removeOnUse = "yes", -- remover quando usar ("yes" or "no")
id = 69 --- id da newtype
}
 
if item.uid == 8985 then
addonstatus = getPlayerStorageValue(cid,28103)
if addonstatus == -1 or addonstatus == 0 then
 
elseif (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
doPlayerAddOutfit(cid, config.id, 3)
setPlayerStorageValue(cid,28103,1)
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou uma nova outfit")
else
doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit")
end
return true
end
end

tambem nao manow mesmo jeito

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta esse, mas é por talkaction e eu não testei.

 

data/talkactions/scripts e crie um arquivo chamado addonplayer.lua:

 

 

function onSay(cid, words, param, channel)

local cfg = {
["NOMEDAOUTFIT"] = {
outfit = {
male = 518, -- ID DA OUTFIT MALE
female = 519, -- ID DA OUTFIT FEMALE
addon = 3, -- NUMERO DE ADDONS QUE SERAO LIBERADOS
storage = 11002
},
items = {
{2160,1} --- (IDDOITEM, QUANTIDADE}.
}
}
}
local v, removeItems = cfg[param], 0, 0
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return true
end
if (not isPremium(cid)) then
doPlayerSendCancel(cid, "Você não é premium account.")
return true
end
if(getPlayerStorageValue(cid, v.outfit.storage) == -1) then
for i = 1, #v.items do
if(getPlayerItemCount(cid, v.items[1]) >= v.items[2]) then
removeItems = removeItems+1
end
end
if(removeItems == #v.items) then
if(getPlayerSex(cid) == 1) then
doPlayerAddOutfit(cid, v.outfit.male, v.outfit.addon)
elseif(getPlayerSex(cid) == 0) then
doPlayerAddOutfit(cid, v.outfit.female, v.outfit.addon)
end
for i = 1, #v.items do
doPlayerRemoveItem(cid, v.items[1], v.items[2])
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu seus addons!")
doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW)
setPlayerStorageValue(cid, v.outfit.storage, 1)
else
for i = 1, #v.items do
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você precisa de " .. v.items[2] .. "x " .. getItemNameById(v.items[1]) .. " para comprar os addons.")
end
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você já possui esses addons.")
end
return true
end

data/talkcations/talkactions.xml:

<talkaction words="!addon" case-sensitive="no" event="script" value="addonplayer.lua"/>

OBS: Para o comando funcionar, use o comando + nome da outfit no script, exemplo: !addon citizen
é isso, sei que não é o que você pediu, mas pode ser funcional :)
Editado por Bluester
Link para o comentário
Compartilhar em outros sites

  • 0
function onUse(cid, item, fromPosition, itemEx, toPosition)          
 
local config={
id = 69 --- id da newtype
}
 
if item.uid == 8985 then
queststatus = getPlayerStorageValue(cid,60397)
if queststatus == -1 then
doPlayerAddOutfit(cid, config.id, 3)
doRemoveItem(item.uid,1)
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou uma nova outfit")
setPlayerStorageValue(cid,60397,1)
else
doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit")
end
return true
end
end

lembre-se de adicionar o addon no seu servidor, no tutorial que deixei lá no outro post.

Link para o comentário
Compartilhar em outros sites

  • 0
function onUse(cid, item, fromPosition, itemEx, toPosition)          
 
local config={
id = 69 --- id da newtype
}
 
if item.uid == 8985 then
queststatus = getPlayerStorageValue(cid,60397)
if queststatus == -1 then
doPlayerAddOutfit(cid, config.id, 3)
doRemoveItem(item.uid,1)
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou uma nova outfit")
setPlayerStorageValue(cid,60397,1)
else
doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit")
end
return true
end
end

lembre-se de adicionar o addon no seu servidor, no tutorial que deixei lá no outro post.

 

aa manow nada ainda PQP porq sera, nao da erro nao da nada

ta tudo serto , se nao era pra mostra no distro...

 

 

Mais achei 1 aki fuçano na net esse funfou...

 

 

 

function onUse(cid, item)

 

local cfg = {

 

addon_name = "Citizen", -- NOME DO ADDON

addon_male = xxx,

addon_female = xxx,

storage = 9784 -- Lembre-se de trocar o numero da storage em cada item

}

if getPlayerStorageValue(cid, cfg.storage) < 1 then

doPlayerAddOutfit(cid, cfg.addon_male, 3)

doPlayerAddOutfit(cid, cfg.addon_female, 3)

doSendMagicEffect(getThingPos(cid), 29)

doPlayerSendTextMessage(cid, 19, "Addon " .. cfg.addon_name .. "full adicionado!!")

doRemoveItem(item.uid, 1)

setPlayerStorageValue(cid, cfg.storage, 1)

else

doPlayerSendTextMessage(cid, 19, "you already have this adon.")

end

 

return true

end

 

REP + QUEM TENTO AJUDA AI

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

  • 0

Cara, eu acabei de fazer um tutorial pra você, quando fui ver o fim do tópico, você tinha editado acrescentando que achou um script que funcionou .. hahahaha'

 

Mas, como o tópico não foi fechado e marcado como "resolvido", vou deixar aqui um código, talvez tenha outra pessoa com a mesma dúvida, vai saber..

 

Primeiro de tudo, vá em: Data, XML, outfits.xml

Adicione:

<outfit id="37" quest="60397" vocation="4">
          <list gender="1" lookType="69" name="Teste"/>
     </outfit>
"Reload não adianta com isso, tem que reiniciar o server mesmo."

 

Logo após, vá em: data/actions/script, ponha:

 

function onUse(cid, item, fromPosition, toPosition)          
 
          
local config = {
slot = "True", -- Quer que o item precise estar equipado ? Se sim, mude para "True", se não, deixe em "False" mesmo... Lembrando que True ou False, tem a primeira letra em maiúscula.. "False, True".
slotid = 10, -- Não altere.
id = 69, -- id da newtype
item = 2167, -- Ponha qual item você quiser.
}
 
if config.slot == "True" then
            local item = getPlayerSlotItem(cid, config.slotid)
                  if item.uid <= 1 or item.itemid ~= config.item then
                  doPlayerSendTextMessage(cid, 27, "Você tem que estar com a "..getItemNameById(config.item).." equipada no lugar das munições, em baixo do seu shield.")
                     doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
                  return true
                  end
         end
          
          if item.itemid == config.item then
             local storage = 60397 -- Não altere.
             local removeitem = 2167 -- Mais uma vez, deixa aqui o ID do item que tu tá usando. hehe

                   if getPlayerStorageValue(cid, storage) < 1 then
                       doPlayerAddOutfit(cid, config.id, 3)
                       doPlayerRemoveItem(cid, removeitem, 1) 
                       doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma nova outfit.")
                       setPlayerStorageValue(cid, storage, 1)
                       doSendMagicEffect(getThingPos(cid), 51)
                       doPlayerSendTextMessage(cid, 27, "O item foi removido pois você acabou de usa-lo.")
                   else
                       doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit.")
                   end
    return true
end
end

E use a Tag:

<action itemid="id_do_Item" event="script" value="nomedoarquivo.lua"/>

Vlw :/ kk'

 

 

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

  • 0

Cara, eu acabei de fazer um tutorial pra você, quando fui ver o fim do tópico, você tinha editado acrescentando que achou um script que funcionou .. hahahaha'

 

Mas, como o tópico não foi fechado e marcado como "resolvido", vou deixar aqui um código, talvez tenha outra pessoa com a mesma dúvida, vai saber..

 

Primeiro de tudo, vá em: Data, XML, outfits.xml

Adicione:

<outfit id="37" quest="60397" vocation="4">
          <list gender="1" lookType="69" name="Teste"/>
     </outfit>
"Reload não adianta com isso, tem que reiniciar o server mesmo."

 

Logo após, vá em: data/actions/script, ponha:

 

function onUse(cid, item, fromPosition, toPosition)          
 
          
local config = {
slot = "True", -- Quer que o item precise estar equipado ? Se sim, mude para "True", se não, deixe em "False" mesmo... Lembrando que True ou False, tem a primeira letra em maiúscula.. "False, True".
slotid = 10, -- Não altere.
id = 69, -- id da newtype
item = 2167, -- Ponha qual item você quiser.
}
 
if config.slot == "True" then
            local item = getPlayerSlotItem(cid, config.slotid)
                  if item.uid <= 1 or item.itemid ~= config.item then
                  doPlayerSendTextMessage(cid, 27, "Você tem que estar com a "..getItemNameById(config.item).." equipada no lugar das munições, em baixo do seu shield.")
                     doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
                  return true
                  end
         end
          
          if item.itemid == config.item then
             local storage = 60397 -- Não altere.
             local removeitem = 2167 -- Mais uma vez, deixa aqui o ID do item que tu tá usando. hehe

                   if getPlayerStorageValue(cid, storage) < 1 then
                       doPlayerAddOutfit(cid, config.id, 3)
                       doPlayerRemoveItem(cid, removeitem, 1) 
                       doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma nova outfit.")
                       setPlayerStorageValue(cid, storage, 1)
                       doSendMagicEffect(getThingPos(cid), 51)
                       doPlayerSendTextMessage(cid, 27, "O item foi removido pois você acabou de usa-lo.")
                   else
                       doPlayerSendTextMessage(cid,22,"Você já ganhou a outfit.")
                   end
    return true
end
end

E use a Tag:

<action itemid="id_do_Item" event="script" value="nomedoarquivo.lua"/>

Vlw :/ kk'

 

 

kkkk mais vlw REP+

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...