Pessoal, alguém poderia me ajudar com um script que se vc clicar em X item (configurável) vc ganha X montaria (configurável)
se eu estiver postado no lugar errado, por favor, perdão!
grato
Clicar no item e ganhar montaria (10.0)

Creio que não seja exatamente isso que esteja procurando mas essa script faz o player usar a bike/montaria com speed configuravel, porém não adiciona o item ao personagem.
local config =
{
velocidadeDaSuaBike = 5000,
outfitMale = 3612, -- Outfit MALE
outfitFemale = 3613, -- Outfit FEMALE
storageValue = 243656,
}
function onUse(cid, item, itemEx, fromPosition, toPosition)
if getPlayerStorageValue(cid, 17001) > 0 or getPlayerStorageValue(cid, 17000) > 0 or getPlayerStorageValue(cid, 63215) > 0 then
doPlayerSendCancel(cid, "Você não pode usar esta outfit em situações especiais.")
return true
end
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end
if getPlayerStorageValue(cid, config.storageValue) <= 0 then
local a = {lookType = config.outfitMale, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}
local b = {lookType = config.outfitFemale, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}
setPlayerStorageValue(cid, 3624, ""..getPlayerStamina(cid).."")
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, config.velocidadeDaSuaBike)
setPlayerStorageValue(cid, config.storageValue, 1)
if getPlayerSex(cid) == 0 then
doSetCreatureOutfit(cid, b, -1)
else
doSetCreatureOutfit(cid, a, -1)
end
else
setPlayerStorageValue(cid, config.storageValue, 0)
doRemoveCondition(cid, CONDITION_OUTFIT)
end
return true
end
Creditos: Lucas Rafaeel
mano obrigado por tentar ajudar mas não é isso que eu procuro. eu procuro um script com o id 2278 (configuravel) que ao clicar nesse item ele dar X montaria (configuravel) ao personagem que clicar por que eu quero vender esse item no meu site entendeu? para quando a galera comprar eu configurar os items e os ids e colocar qual montaria vai dar de acordo com o id da montaria na xml tlgd?
Desculpa o incomodo, e mais uma vez, obrigado por tentar me ajudar!
Entendo
Em 13/03/2020 em 10:22, Jhony Araujo disse:
Sim amigo, você criou o post na seção errada, o certo seria em Pedidos de Script já que quer um script, e essa seção é para pessoas que tem um script existente e precisa de suporte.
Mas vamos lá, vai em Data/Actions/Scripts e crie um arquivo recebe_montaria.lua e adicione o código dentro:
local id_montaria = XXXX -- AQUI COLOCA O ID DA MONTARIA local repetir = false -- AQUI É UMA CONDIÇÃO PARA SABER SE O PLAYER PODE RECEBER NOVAMENTE A MONTARIA, CASO ELE SÓ POSSA USAR O ITEM 1 VEZ, DEIXE FALSE, SENÃO TRUE local storage = 36587 -- STORAGE PARA SABER SE O PLAYER JÁ USOU O ITEM ANTES local level = 1 -- NÍVEL MÍNIMO PARA USAR O ITEM function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) < level then doPlayerSendTextMessage(cid, 27, "You need to be at least level " ..level.. " or more to use this item.") return true end if (getPlayerStorageValue(cid, storage) < 1) and (not repetir) then doSendMagicEffect(getThingPos(cid), 29) doPlayerAddMount(cid, id_montaria) doPlayerSendTextMessage(cid, 27, "Congratulations! You received a mount " ..getItemNameById(id_montaria).. ".") doRemoveItem(item.uid) setPlayerStorageValue(cid, storage, 1) return true elseif (getPlayerStorageValue(cid, storage) > 0) and (not repetir) then doPlayerSendTextMessage(cid, 27, "You have already used the item before.") return true end if repetir then doSendMagicEffect(getThingPos(cid), 29) doPlayerAddMount(cid, id_montaria) doPlayerSendTextMessage(cid, 27, "Congratulations! You received a mount " ..getItemNameById(id_montaria).. ".") doRemoveItem(item.uid) return true end return true end end
agora vai em Data/Actions e abra o Scripts.xml e adicione a seguinte tag dentro:
<action itemid="2278" event="script" value="recebe_montaria.lua"/> <!-- COLOCA O ID DO ITEM ALI ONDE PEDE -->
Coloque o ID da montaria na variável onda ta "XXXX".
Como você não deu muitas informações do item, se pode usar mais de uma vez ou não, eu deixei para usar só 1 vez, mas caso queira usar mais, só mudar a variável repetir para true, senão deixa false. (Seria bom avisar se quer que repita ou não, porque com a condição que deixei deixo o código um pouco poluído, ai sabendo como você quer, eu deixo o código limpo caso não possa repetir.)
Também coloquei uma verificação de nível, mas deixei 1 para que todos possa usar, mas caso queira especificar, só mudar na variável level.
Testa e me fala, eu fiz de cabeça e não consigo testar porque não tenho nenhuma base de Tibia aqui.
16 horas atrás, Yan18 disse:Sim amigo, você criou o post na seção errada, o certo seria em Pedidos de Script já que quer um script, e essa seção é para pessoas que tem um script existente e precisa de suporte.
Mas vamos lá, vai em Data/Actions/Scripts e crie um arquivo recebe_montaria.lua e adicione o código dentro:
local id_montaria = XXXX -- AQUI COLOCA O ID DA MONTARIA local repetir = false -- AQUI É UMA CONDIÇÃO PARA SABER SE O PLAYER PODE RECEBER NOVAMENTE A MONTARIA, CASO ELE SÓ POSSA USAR O ITEM 1 VEZ, DEIXE FALSE, SENÃO TRUE local storage = 36587 -- STORAGE PARA SABER SE O PLAYER JÁ USOU O ITEM ANTES local level = 1 -- NÍVEL MÍNIMO PARA USAR O ITEM function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) < level then doPlayerSendTextMessage(cid, 27, "You need to be at least level " ..level.. " or more to use this item.") return true end if (getPlayerStorageValue(cid, storage) < 1) and (not repetir) then doSendMagicEffect(getThingPos(cid), 29) doPlayerAddMount(cid, id_montaria) doPlayerSendTextMessage(cid, 27, "Congratulations! You received a mount " ..getItemNameById(id_montaria).. ".") doRemoveItem(item.uid) setPlayerStorageValue(cid, storage, 1) return true elseif (getPlayerStorageValue(cid, storage) > 0) and (not repetir) then doPlayerSendTextMessage(cid, 27, "You have already used the item before.") return true end if repetir then doSendMagicEffect(getThingPos(cid), 29) doPlayerAddMount(cid, id_montaria) doPlayerSendTextMessage(cid, 27, "Congratulations! You received a mount " ..getItemNameById(id_montaria).. ".") doRemoveItem(item.uid) return true end return true end endagora vai em Data/Actions e abra o Scripts.xml e adicione a seguinte tag dentro:
<action itemid="2278" event="script" value="recebe_montaria.lua"/> <!-- COLOCA O ID DO ITEM ALI ONDE PEDE -->
Coloque o ID da montaria na variável onda ta "XXXX".
Como você não deu muitas informações do item, se pode usar mais de uma vez ou não, eu deixei para usar só 1 vez, mas caso queira usar mais, só mudar a variável repetir para true, senão deixa false. (Seria bom avisar se quer que repita ou não, porque com a condição que deixei deixo o código um pouco poluído, ai sabendo como você quer, eu deixo o código limpo caso não possa repetir.)
Também coloquei uma verificação de nível, mas deixei 1 para que todos possa usar, mas caso queira especificar, só mudar na variável level.
Testa e me fala, eu fiz de cabeça e não consigo testar porque não tenho nenhuma base de Tibia aqui.
beleza irei testar, obrigado irmão quando eu testar aviso!
30 minutos atrás, Jhony Araujo disse:
beleza irei testar, obrigado irmão quando eu testar aviso!
De nada bro ☺️, só não esquece de colocar o ID da montaria porque coloquei XXX pois não sei qual o id da que quer, se não trocar vai dar erro no script.
Qualquer problema só me avisar.
pode deixar é noix irmão obrigado mesmo