Ir para conteúdo
  • 0

Script Que De Novos Addons


Bocoh

Pergunta

Alguem tem o script que adciona novos addons ao player quando ele clica no item e o item some?

 

Os addons sao esses

 

http://www.tibiawiki.com.br/wiki/Barbarian_Brutetamer para female

 

http://www.tibiawiki.com.br/wiki/The_Hag para male (nao sei se tem outro mais dahora, que use cajado)

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Em data/actions/script crie um arquivo.lua e cole isto dentro:

 

function onUse(cid, item, itemEx, toPosition, fromPosition)
if getPlayerStorageValue(cid, 19000) <= 0 then
setPlayerStorageValue(cid, 19000, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou um novo outfit.")
doSendMagicEffect(getPlayerPosition(cid), 30)
doRemoveItem(item.uid)
if getPlayerSex(cid) == 0 then
doPlayerAddOutfit(cid, 264, 1)
else
doPlayerAddOutfit(cid, 254, 1)
end
else
doPlayerSendCancel(cid, "Você já tem esse outfit.")
return true
end
return true
end

 

Troque o 264 (female) e o 254 (male) pelo looktype dos outfits desejados.

 

Em actions.xml cole a tag: <action itemid="ID-DO-ITEM" event="script" value="NOMEDOSEUARQUIVO.lua"/>

 

No seu outfits.xml coloque o storage de lá de cima, seguindo o exemplo:

 

<outfit id="ID_DO_PROXIMO_OUTFIT" premium="yes" quest="19000">

<list gender="0" lookType="LOOKTYPE" name="NOMEDOOUTFIT"/> -- female

<list gender="1" lookType="LOOKTYPE" name="NOMEDOOUTFIT"/> --- male

</outfit>

 

Perceba que ali em quest, está o storage 19000 que é igual ao de lá de cima no script. Vlw, espero ter ajudado.

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

  • 0

Entao Leoxtibia nao sei ver qual é meu systema rsrsrsr eu peguei um tutorial mas nao me recordo onde vo postar como ta minha talkaction do systema

 

[spoil]

 

function onSay(cid, words, param)

if(words == "!buyvip") then

local price = 6000000

if doPlayerRemoveMoney(cid, price) == TRUE then

local days = 30

local daysvalue = days * 24 * 60 * 60

local storageplayer = getPlayerStorageValue(cid, 13540)

local timenow = os.time()

 

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

time = timenow + daysvalue

else

time = storageplayer + daysvalue

end

 

if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(cid, 13540, time)

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(cid, 13540, time)

local name = getCreatureName(cid)

db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")

doRemoveCreature(cid)

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.")

end

 

elseif(words == "!vipdays") then

local timenow = os.time()

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.")

 

elseif(words == "/checkvip") then

if getPlayerAccess(cid) == 5 then

if not param then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")

end

 

local player = getPlayerByName(param)

if not isPlayer(player) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.")

end

 

local timenow = os.time()

 

local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60))

doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.")

return TRUE

end

 

elseif(words == "/addvip") then

if getPlayerAccess(cid) == 5 then

local t = string.explode(param, ",")

if not t[2] then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")

end

 

local player = getPlayerByName(t[1])

local name = getCreatureName(player)

local days = t[2]

local pid = getPlayerByNameWildcard(t[1])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")

return TRUE

end

 

local daysvalue = days*3600*24

local storageplayer = getPlayerStorageValue(player, 13540)

local timenow = os.time()

local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)

 

if string.find(tostring(getCreatureName(pid)),"[[Vip]]") then

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")

setPlayerStorageValue(player, 13540, time)

local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.")

else

setPlayerStorageValue(player, 13540, time)

db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";")

doRemoveCreature(player)

end

end

 

elseif(words == "/delvip") then

if getPlayerAccess(cid) == 5 then

local dec = MESSAGE_INFO_DESCR

if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end

local C,t = {},string.explode(param, ",")

C.pos = getPlayerPosition(cid)

C.uid = getCreatureByName(t[1])

C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia.

C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip.

 

if(getPlayerStorageValue(C.uid,13540) < C.time)then

doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.')

else

doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.')

setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time)

end

doSendMagicEffect(C.pos, math.random(28,30))

end

end

 

return TRUE

end

[/spoil]

Link para o comentário
Compartilhar em outros sites

  • 0

Então.. o seu é o perfect vip system e esse script de outfit já existe no fórum ^^.

 

Em data/creaturescripts/scripts crie um arquivo.lua e cole isto dentro:

 

--[[ Script By Vodkart]]--
function onLogin(cid)

local x = {
[0] = {lookType = 136, lookHead =  getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = 0}, -- Outfit Female caso acabe a vip (n precisa mexer)
[1] = {lookType = 128, lookHead =  getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = 0} -- Outfit Male caso acabe a vip (n precisa mexer)  
}
quest_storage = 19000 -- numero da sua storage escolhida

if getPlayerStorageValue(cid, 13540) - os.time() >= 1 and getPlayerStorageValue(cid, quest_storage) == -1  then
setPlayerStorageValue(cid, quest_storage, 1)
elseif getPlayerStorageValue(cid, 13540) - os.time() <= 0 and getPlayerStorageValue(cid, quest_storage) >= 1 then  
setPlayerStorageValue(cid, quest_storage, -1)
doCreatureChangeOutfit(cid, x[getPlayerSex(cid)])
end
return TRUE
end

 

Perceba que aqui nessa linha, está o storage que colocou no outfit, lá no outfit.xml:

quest_storage = 19000 -- numero da sua storage escolhida

 

Em creaturescripts.xml cole a tag: <event type="login" name="OutfitVip" script="NOMEDOSEUARQUIVO.lua"/>

 

Qualquer dúvida, vá ao tópico do script: http://www.xtibia.co...jogadores-vips/

 

Vlw, espero ter ajudado.

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

  • 0

Leoxtibia obrigado vou testar se der certo respondo aqui, não posso reinicia o ot agora porque tem muito player on mas depois que testar venho por a resposta.

Grato.

Link para o comentário
Compartilhar em outros sites

  • 0

Leoxtibia eu criei aqui mas ta dando erro, vou refazer e testar de novo se der um erro de novo vou printa e posto aqui.

 

 

Edited:

 

 

Bom deu o mesmo erro em actions/ropa1

que é esse script

 

function onUse(cid, item, itemEx, toPosition, fromPosition)

if getPlayerStorageValue(cid, 19000) <= 0 then

setPlayerStorageValue(cid, 19000, 1)

doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou um novo outfit.")

doSendMagicEffect(getPlayerPosition(cid), 30)

doRemoveItem(item.uid)

if getPlayerSex(cid) == 0 then

doPlayerAddOutfit(cid, 264, 1)

else

doPlayerAddOutfit(cid, 254, 1)

end

else

doPlayerSendCancel(cid, "Você já tem esse outfit.")

return true

end

return true

end

 

No jogo o item funciona normal o addon aparece normal no player mas quando vc da OK para trocar o addon ele não muda, continua no mesmo addon que vc estava.

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...