Ir para conteúdo
  • 0

Clicar no item e ganhar montaria (10.0)


Jhony Araujo

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 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.

 

Spoiler

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

Link para o comentário
Compartilhar em outros sites

  • 0

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!

Link para o comentário
Compartilhar em outros sites

  • 0
Em 13/03/2020 em 10:22, Jhony Araujo disse:
Versão do Servidor: TFS - 0.4
Tipo de Script: actions
Código:
  Ocultar conteúdo



 

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

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.

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

  • 0
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

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.

 

beleza irei testar, obrigado irmão quando eu testar aviso!

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

  • 0
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.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...