Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal.

 

Estou com um problema para implementar um sistema de recompensa quando o player alcança um certo level, queria dar uma arma da profissão e crystal coin, e que aparecesse na bag do player.

 

Vi um tópico sobre esse assunto aqui no site, mas é bem mais antigo do que a versão que utilizo (sim eu tentei fazer os passos descrito lá no topico).

 

agradeço desde já a ajuda

Link para o post
Compartilhar em outros sites
  • Sub-Admin
10 horas atrás, Leonardo Oppai disse:

Olá pessoal.

 

Estou com um problema para implementar um sistema de recompensa quando o player alcança um certo level, queria dar uma arma da profissão e crystal coin, e que aparecesse na bag do player.

 

Vi um tópico sobre esse assunto aqui no site, mas é bem mais antigo do que a versão que utilizo (sim eu tentei fazer os passos descrito lá no topico).

 

agradeço desde já a ajuda

o que pude fazer pra vc foi isso fiz pra kinight então teste em knight, usa a mesma bases pra outras vocações, deixei tudo explicadinho.

 

function onAdvance(player, skill, oldlevel, newlevel) --função inicial.

--corpo funções
local knight1 = player:getVocation():getId() == 4 --id da vocação 4 = knight.
local level1 = player:getLevel() == 10 --level que vai receber a recompensa.
local storage1 = 232323 --storage só mexa se vc usa essa storage pra outra coisa.
local storageqt = 1 --quantidade de storage vai receber

local msgreward = "Voce recebeu uma recompenca!!!" -- msg ao receber a recompença.
local cormsg = 22 --cor da msg ao receber a recompença
--fim

--recompença em dinheiro.
local dinheirolekot = 2160 --id do dinheiro.
local dinheiroqtlekot = 1 --quantidade do dinheiro.
--fim

--recompença item.
local itemrewardlekot = 7382 --id do item tipo, espada, wands, armor etc..
local itemqtlekot = 1 --quantidade do item recompença.
--fim


if player:getStorageValue(storage1) == storageqt then --verificar pra não receber novamente ao morrer
end

if level1 then --verificação
if knight1 then --vocação knight
player:addItem(ITEM_BAG, 1):addItem(dinheirolekot, dinheiroqtlekot) --reawrd
player:addItem(ITEM_BAG, 1):addItem(itemrewardlekot, itemqtlekot) --reward
player:sendTextMessage(cormsg, msgreward) --msg reward
end
--fim

player:setStorageValue(storage1, storageqt) --verificação level para dar storage

end	

    return true
end

tag creturescript.xml

 

<event type="advance" name="teste" script="reward_level_up.lua" />

 

 

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

 @L3K0T Mano, muito obrigado, você me ajudou demais.

So deu um problema que toda vez que ganha um lvl, ou uma skill da o prêmio.

 

 

Editado por Leonardo Oppai (veja o histórico de edições)
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 Anderson Sacani
      Surgimento de portal com horário pré definido
      Revscript para surgimento de portal em determinado horário, com configurações ajustáveis
       
      O que o script faz?
      Cria um portal as 10:00 no local que recebeu a variável portalPosition, e o mesmo teletransporta jogadores para o destino que recebeu a variável goToPosition.
      Na variável time você pode alterar o horário em que o portal será criado.
      local config = { time = "10:00:00", portalPosition = { x = 100, y = 100, z = 7 }, goToPosition = { x = 200, y = 200, z = 7 }, broadcast = true, text = "A portal appeared inside the dark mage's house.", } local portal = GlobalEvent("Portal") function portal.onTime(interval) local item = Game.createItem(1387, 1, config.portalPosition) if item:isTeleport() then item:setDestination(config.goToPosition) if config.broadcast then Game.broadcastMessage(config.text, MESSAGE_EVENT_ADVANCE) end end end portal:time(config.time) portal:register()  
    • Por Darcio Antonio
      Fiz em video para melhor explicar
      Video
       
    • Por RafaelMCA
      Salve Família do TK... Estava tentando fazer 2 scripts aqui porem me deparo com um impasse... que é ele o seguinte:
       
      Antigamente a uns 6 anos eu tinha um OT e eu vivia criando Scripts, porem desta vez quando fui criar minha script de mensagem automática de publicidade do servidor, eu me deparei que meu distro não tem o arquivo globalevents.xml como no outro OT existia.. então agora fiquei perdido... pois não sei como fazer para o servidor reconhecer as scripts que eu adicionei, sendo que antes eu dava este comando pelo arquivo "principal" da pasta... Se alguém poder me dar uma luz, ficarei muito grato, alias desde já obrigado!
    • Por Mor3nao
      Isso aqui eu to postando como uma extensão de um sistema de daily task que postei ontem, você pode ver ele aqui --> LINK
      É um script simples, q tem como função contar quantos de cada monstro tem no servidor, bem util pra quem vai fazer algum sistema de tasks, afinal, é bem complicado vc escolher quantos monstros alguém vai ter q matar, se vc nao sabe quantos tem, fica dificil mensurar a dificuldade de determinada task, então fiz esse script que cria um arquivo contando exatamente quantos de cada monstro tem xD
      Vou ensinar colocar ele, focando no meu sistema de daily tasks, mas caso queira usar pra outra finalidade, a vontade :}
       
      Como "instalar" o script:
      1 - Vá em /data/globalevents/globalevents.xml e adicione a tag:
      <globalevent name="MonsterCount" type="startup" script="MonsterCount.lua" /> 2 - Em /data/globalevents/scripts crie o arquivo MonsterCount.lua e dentro dele escreva:
       
           E pronto! Com isso sempre que vc abrir o server ele vai contar quantos monstros tem, e atualiza-los se for o caso. Não precisa criar o arquivo .lua mas é preciso que o caminho(com as pastas) esteja feito, se quiser, pode mudar o diretorio tb, sem problemas.
      OBS: Mude o caminho pro seu spawn.xml!!
       
       
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+  DAQUI PRA BAIXO É SÓ PRA APLICAR NO MEU SISTEMA DE DAILY TASKS  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       
           Agora vou ensinar como aplicar isso no sistema de tasks que eu disse no inicio(Leia-o primeiro), é bem simples, vamos alterar o esquema, ao invés de escolhermos o numero maximo e minimo de cada task, vamos escolher a % max e minima, ex, as tasks easy que vao de 50 a 300 monstros, vai ficar como 50% e 300% da quantidade do monstro tal, Para entender:
       
      Se vc só tem 10 orcs no server, a task pode vir de 5 a 30 orcs, assim como se vc tiver 200, a task vem de 100 a 600
       
      1. Pra colocar: Depois de vc ter colocado os scripts que mandei aí em cima, vc vai em /data/lib/lib.lua, e acrescente a linha:
      dofile('data/lib/task/monster_count.lua') *** Lembre-se de colocar essa linha ANTES dessa »»» dofile('data/lib/task/dailytask.lua')  
       
      2. Depois vá em  data/lib/task/dailytask.lua  e troque o arquivo por esse:
       
       
      Imagens de amostra:
      Na distrô:

       
      O arquivo criado, (note q ja vem em tabela,  prontinho pra usar):

       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo