Ir para conteúdo
  • Cadastre-se

Programação FALA TIME, ESSE SCRIPT ELE NÃO DÁ NENHUM ERRO NO CONSOLE, POIS NÃO LIBERA A ACTION DESCRITA


Posts Recomendados

.Qual servidor ou website você utiliza como base? TFS 1.3

 

Qual o motivo deste tópico? AJUDAR A RESOLVER A ACTION

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

NAO

 

Você tem o código disponível? Se tiver publique-o aqui: 

function onUse(cid, item, fromPosition, itemEx, toPosition)
  local config =
  {
  minLevel = 200, -- Level mínimo para adquirir a gema.
  gems = 2154, 2155, 2156, 2158, -- id gemas
  storage = {5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008},
  interval = {600, 600, 600, 600, 600, 600, 600}, -- Intervalo dos efeitos
  efeito = {"' .    ,", ".    ' ,", "`  .  ,", ",    ' ."},
  colorDruid = {182,213},
  colorSorcerer = {215,215},
  colorPaladin = {89,89},
  colorKnight = {210,210},
  colorMajesticDruid = {182,213},
  colorSupremeSorcerer = {215,215},
  colorLordPaladin = {89,89},
  colorMonsterKnight = {210,210}
  }
local vocations = {
-- Vocation id 1 gonna upgrade to vocation id 2
-- Easy, huh?
[5] = 9,
[6] = 10,
[7] = 11,
[8] = 12,
}

local player = Player(cid)
if getPlayerLevel(cid) >= config.minLevel then
local vocation = player:getVocation()
local vocID = vocation:getId()
local vocationName = vocation:getName()
if vocation[vocID] then
  player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have succesfully upgraded from a '..vocationName..' to a '..Vocation(vocations[vocID]):getName()..'. ')
  player:getPosition():sendMagicEffect(28)
  player:setVocation(Vocation(vocations[vocID]))
  Item(gems.uid):remove()
else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Voce ja adquiriu sua gema espiritual.")
doSendMagicEffect(getCreaturePosition(cid), 3)
end
else
doPlayerSendCancel(cid, "Voce precisa ser level "..config.minLevel.." para adquirir a gema espiritual.")
end
return TRUE
end
function doUseGems(cid, item)
local vocation = player:getVocation()
local interval = gems.interval[vocID]

if gems.itemid ~= gems.id[vocID] or getPlayerStorageValue(cid, gems.storage[vocID]) > 0 then
  return FALSE
end

setPlayerStorageValue(cid, config.storage[voc], 1)
sendMagicEffect(cid, config.storage[voc], gems.interval[voc])
doRemoveItem(item.uid, 1)



return TRUE  
end


function sendGemEffect(cid, storage, interval)
local pos = getThingPos(cid)
local vocation = player:getVocation()
local color = 1
if voc == 5 then
color = efeito.colorDruid[math.random(1,#efeito.colorDruid)]
elseif voc == 6 then
color = efeito.colorSorcerer[math.random(1,#efeito.colorSorcerer)]
elseif voc == 7 then
color = efeito.colorPaladin[math.random(1,#efeito.colorPaladin)]
elseif voc == 8 then
color = efeito.colorKnight[math.random(1,#efeito.colorKnight)]
elseif voc == 9 then
color = efeito.colorDruid[math.random(1,#efeito.colorMajesticDruid)]
elseif voc == 10 then
color = efeito.colorSorcerer[math.random(1,#efeito.colorSupremeSorcerer)]
elseif voc == 11 then
color = efeito.colorPaladin[math.random(1,#efeito.colorLordPaladin)]
elseif voc == 12 then
color = efeito.colorKnight[math.random(1,#efeito.colorMonsterKnight)]
end

doSendAnimatedText(pos, config.efeito[math.random(1,#gemMsg.efeito)], color)
if getPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)]) >= 1 then 
  addEvent(sendMagicEffect, interval, cid, storage, interval)
end
end

function doRemoveMagicEffect(cid)
if getPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)]) < 1 then
  return FALSE
end
setPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)], 0)
return TRUE
end

function doRemoveAllGemEffect(cid)
for i = 1, table.maxn(config.storage) do
  setPlayerStorageValue(cid, config.storage[i], 0)
end
return TRUE
end

function isGemActivated(cid)
if getPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)]) > 0 then
  return TRUE
end
return FALSE
end











 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
Em 25/04/2023 em 12:24, kaleh disse:

.Qual servidor ou website você utiliza como base? TFS 1.3

 

Qual o motivo deste tópico? AJUDAR A RESOLVER A ACTION

 

Está surgindo algum erro? Se sim coloque-o aqui. 

 

Você tem o código disponível? Se tiver publique-o aqui: 


function onUse(cid, item, fromPosition, itemEx, toPosition)
  local config =
  {
  minLevel = 200, -- Level mínimo para adquirir a gema.
  gems = 2154, 2155, 2156, 2158, -- id gemas
  storage = {5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008},
  interval = {600, 600, 600, 600, 600, 600, 600}, -- Intervalo dos efeitos
  efeito = {"' .    ,", ".    ' ,", "`  .  ,", ",    ' ."},
  colorDruid = {182,213},
  colorSorcerer = {215,215},
  colorPaladin = {89,89},
  colorKnight = {210,210},
  colorMajesticDruid = {182,213},
  colorSupremeSorcerer = {215,215},
  colorLordPaladin = {89,89},
  colorMonsterKnight = {210,210}
  }
local vocations = {
-- Vocation id 1 gonna upgrade to vocation id 2
-- Easy, huh?
[5] = 9,
[6] = 10,
[7] = 11,
[8] = 12,
}

local player = Player(cid)
if getPlayerLevel(cid) >= config.minLevel then
local vocation = player:getVocation()
local vocID = vocation:getId()
local vocationName = vocation:getName()
if vocation[vocID] then
  player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have succesfully upgraded from a '..vocationName..' to a '..Vocation(vocations[vocID]):getName()..'. ')
  player:getPosition():sendMagicEffect(28)
  player:setVocation(Vocation(vocations[vocID]))
  Item(gems.uid):remove()
else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Voce ja adquiriu sua gema espiritual.")
doSendMagicEffect(getCreaturePosition(cid), 3)
end
else
doPlayerSendCancel(cid, "Voce precisa ser level "..config.minLevel.." para adquirir a gema espiritual.")
end
return TRUE
end
function doUseGems(cid, item)
local vocation = player:getVocation()
local interval = gems.interval[vocID]

if gems.itemid ~= gems.id[vocID] or getPlayerStorageValue(cid, gems.storage[vocID]) > 0 then
  return FALSE
end

setPlayerStorageValue(cid, config.storage[voc], 1)
sendMagicEffect(cid, config.storage[voc], gems.interval[voc])
doRemoveItem(item.uid, 1)



return TRUE  
end


function sendGemEffect(cid, storage, interval)
local pos = getThingPos(cid)
local vocation = player:getVocation()
local color = 1
if voc == 5 then
color = efeito.colorDruid[math.random(1,#efeito.colorDruid)]
elseif voc == 6 then
color = efeito.colorSorcerer[math.random(1,#efeito.colorSorcerer)]
elseif voc == 7 then
color = efeito.colorPaladin[math.random(1,#efeito.colorPaladin)]
elseif voc == 8 then
color = efeito.colorKnight[math.random(1,#efeito.colorKnight)]
elseif voc == 9 then
color = efeito.colorDruid[math.random(1,#efeito.colorMajesticDruid)]
elseif voc == 10 then
color = efeito.colorSorcerer[math.random(1,#efeito.colorSupremeSorcerer)]
elseif voc == 11 then
color = efeito.colorPaladin[math.random(1,#efeito.colorLordPaladin)]
elseif voc == 12 then
color = efeito.colorKnight[math.random(1,#efeito.colorMonsterKnight)]
end

doSendAnimatedText(pos, config.efeito[math.random(1,#gemMsg.efeito)], color)
if getPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)]) >= 1 then 
  addEvent(sendMagicEffect, interval, cid, storage, interval)
end
end

function doRemoveMagicEffect(cid)
if getPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)]) < 1 then
  return FALSE
end
setPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)], 0)
return TRUE
end

function doRemoveAllGemEffect(cid)
for i = 1, table.maxn(config.storage) do
  setPlayerStorageValue(cid, config.storage[i], 0)
end
return TRUE
end

function isGemActivated(cid)
if getPlayerStorageValue(cid, config.storage[getPlayerVocation(cid)]) > 0 then
  return TRUE
end
return FALSE
end











 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

 

 

local config = {
    minLevel = 200, -- Nível mínimo para adquirir a gema.
    gems = {2154, 2155, 2156, 2158}, -- IDs das gemas
    storage = {5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008},
    interval = 600, -- Intervalo dos efeitos
    colors = {
        [5] = {182, 213}, -- Druida
        [6] = {215, 215}, -- Sorcerer
        [7] = {89, 89}, -- Paladin
        [8] = {210, 210}, -- Knight
        [9] = {182, 213}, -- Druida majestoso
        [10] = {215, 215}, -- Feiticeiro supremo
        [11] = {89, 89}, -- Paladino Senhor
        [12] = {210, 210}, -- Cavaleiro monstro
    },
    effects = {"' .    ,", ".    ' ,", "`  .  ,", ",    ' ."}, -- Efeitos das gemas
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local player = Player(cid)
    if not player then
        return false
    end

    if getPlayerLevel(cid) < config.minLevel then
        player:sendCancelMessage("Você precisa ser nível " .. config.minLevel .. " para adquirir a gema espiritual.")
        return true
    end

    local vocation = player:getVocation()
    local vocationId = vocation:getId()
    local vocationName = vocation:getName()
    if not config.vocations[vocationId] then
        player:sendCancelMessage("Você já adquiriu sua gema espiritual.")
        return true
    end

    if not isInArray(config.gems, item.itemid) then
        return false
    end

    local storageValue = config.storage[vocationId]
    if getPlayerStorageValue(cid, storageValue) > 0 then
        player:sendCancelMessage("Você já adquiriu a gema espiritual para essa vocação.")
        return true
    end

    player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você adquiriu a gema espiritual e atualizou sua vocação para " .. Vocation(config.vocations[vocationId]):getName() .. ".")
    player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
    player:setVocation(Vocation(config.vocations[vocationId]))
    player:addItem(item.itemid, -1)
    setPlayerStorageValue(cid, storageValue, os.time())

    addEvent(sendGemEffect, config.interval, cid, vocationId)

    return true
end

function sendGemEffect(cid, vocationId)
    local player = Player(cid)
    if not player or getPlayerStorageValue(cid, config.storage[vocationId]) == 0 then
        return false
    end

    local color = config.colors[vocationId][math.random(#config.colors[vocationId])]
    local effect = config.effects[math.random(#config.effects)]

    player:getPosition():sendAnimatedText(effect, color)
    addEvent(sendGemEffect, config.interval, cid, vocationId)
end

 

function removeAllGemEffects(cid)
for i = 1, #config.storage do
setPlayerStorageValue(cid, config.storage[i], 0)
end
local player = Player(cid)
if player then
player:removeCondition(CONDITION_INFIGHT)
player:removeCondition(CONDITION_OUTFIT)
player:removeCondition(CONDITION_FIRE)
player:removeCondition(CONDITION_ENERGY)
player:removeCondition(CONDITION_POISON)
player:removeCondition(CONDITION_DRUNK)
player:removeCondition(CONDITION_DROWN)
player:removeCondition(CONDITION_FREEZING)
player:removeCondition(CONDITION_DAZZLED)
player:removeCondition(CONDITION_CURSED)
end
return true
end

function isGemActivated(cid)
local playerVocation = getPlayerVocation(cid)
if playerVocation ~= 0 and getPlayerStorageValue(cid, config.storage[playerVocation]) > 0 then
return true
end
return false
end

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo