Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Screen_Shot9318.jpg

Citar

    <movevent event="Equip" itemid="7697" slot="ring" function="onEquipItem"/>
    <movevent event="DeEquip" itemid="7697" slot="ring" script="others/exp_ring.lua"/>
    <movevent event="Equip" itemid="7708" slot="ring" script="others/exp_ring.lua"/>
    <movevent event="DeEquip" itemid="7708" slot="ring" script="others/exp_ring.lua"/>

Spoiler

-- exp_ring.lua

 

 function onEquip(cid, item, slot)
 doTransformItem(item.uid, 7697, 1)
 doPlayerSendCancel(cid, 'Agora você ganha o dobro de experiencia!')
 doPlayerSetExperienceRate(cid, 2)

 return TRUE
 end
 
 function onDeEquip(cid, item, slot)
 doTransformItem(item.uid, 7708, 1)
 doPlayerSendTextMessage(cid, 20, 'Experiencia extra cancelada.')
 doPlayerSetExperienceRate(cid, 1)
  

 return TRUE
 end

 

doPlayerSetExperienceRate

doPlayerAddExp

setPlayerExtraExpRate

 

doesn't work (^^^)

 

Spoiler

-- compat.lua

 

function doPlayerAddExp(cid, exp, useMult, ...)
    local player = Player(cid)
    if player == nil then
        return false
    end

    if useMult then
        exp = exp * Game.getExperienceStage(player:getLevel())
    end
    return player:addExperience(exp, ...)
end

 

alguém pode fix to me?

Editado por BoneFox (veja o histórico de edições)

tk-melhor.png

Link para o post
Compartilhar em outros sites

MMHUCMQ.png  Esta é uma mensagem automática, este tópico foi movido para a área correta.
  Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680

Este tópico foi movido:
De: Scripting OTServ > OTServ > CreatureScripts, GlobalEvents e MoveMents
Para: Suporte OTServ > OTServ > Suporte de Scripts

Link para o post
Compartilhar em outros sites
function onEquip(cid, item, slot)
	doTransformItem(item.uid, 7697, 1)
	doPlayerSendCancel(cid, 'Agora você ganha o dobro de experiencia!')
	setPlayerExtraExpRate (cid, 2)

	return TRUE
end

function onDeEquip(cid, item, slot)
	doTransformItem(item.uid, 7708, 1)
	doPlayerSendTextMessage(cid, 20, 'Experiencia extra cancelada.')
	setPlayerExtraExpRate (cid, 1)
	return TRUE
end 

Não sei se vai funcionar, só atualizei a funcão de adicionar/remover a exp extra.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
Spoiler
1 hora atrás, vankk disse:


function onEquip(cid, item, slot)
	doTransformItem(item.uid, 7697, 1)
	doPlayerSendCancel(cid, 'Agora você ganha o dobro de experiencia!')
	setPlayerExtraExpRate (cid, 2)

	return TRUE
end

function onDeEquip(cid, item, slot)
	doTransformItem(item.uid, 7708, 1)
	doPlayerSendTextMessage(cid, 20, 'Experiencia extra cancelada.')
	setPlayerExtraExpRate (cid, 1)
	return TRUE
end 

Não sei se vai funcionar, só atualizei a funcão de adicionar/remover a exp extra.

 

Screen_Shot9319.jpg

 

Com a função doPlayerAddExp (do arquivo compat.lua) executa sem erro, mas tbm não acontece nada.

Editado por BoneFox
vankk (veja o histórico de edições)

tk-melhor.png

Link para o post
Compartilhar em outros sites

Atualiza a funcão para doPlayerSetRate

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
24 minutos atrás, vankk disse:

Atualiza a funcão para doPlayerSetRate

 

Screen_Shot9320.jpg

 

doPlayerSetRate - erro

doPlayerAddExp - noway

 

Screen_Shot9323.jpgScreen_Shot9324.jpgScreen_Shot9325.jpg

Editado por BoneFox (veja o histórico de edições)

tk-melhor.png

Link para o post
Compartilhar em outros sites
Em 11/11/2015 16:25:46, vankk disse:

Qual TFS voce usa?

 

TFS 1.x

 

 

 

doPlayerSetExperienceRate

doPlayerSetRate

doPlayerSetExtraExpRate

 

 

Em 05/06/2014 09:32:25, luanluciano93 disse:

O melhor que consegui fazer foi isso .. porem a função setExperienceRate não existe no TFS 1.0 e tbem não achei nada parecido, se alguém puder ajudar ... 

 

Editado por BoneFox
vankk (veja o histórico de edições)

tk-melhor.png

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 Doria Louro
      Olá nobre senhores, tudo bem com vocês?
      Servidor: TFS 0.3.6
      Cliente:    8.60
       
      Estou com a seguinte ideia, criar conjuntos de equipamentos em meu servidor, que aumente os atributos do player ao utilizar o conjunto/set completo, exemplo:

       
      Um exemplo dos itens contidos no meu itens.xml:
      <item id="2487" article="a" name="warrior armor"> <attribute key="weight" value="9000" /> <attribute key="armor" value="13" /> <attribute key="skillSword" value="1" /> <attribute key="skillAxe" value="1" /> <attribute key="skillClub" value="1" /> <attribute key="slotType" value="body" /> <attribute key="healthGain" value="2" /> <attribute key="healthTicks" value="3000" /> <attribute key="description" value="+2 HP every 3s, Sale value: $5000" /> </item>  
      Em meu movements.xml:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="function" value="onEquipItem"> <vocation id="8" /> </movevent> <movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem" />  
      Entretanto eu fico limitado aos eventos de Equip default, se eu altero para meu script full_set.lua:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="script" value="full_set.lua"> <vocation id="8" /> </movevent>  
      Executando meu script  eu perco os atributos contidos no itens.xml, tais como o aumento de skill, ganho de HP por segundo e também qualquer vocação pode utilizar o equipamento.
       
      Simplificando, é possível utilizar os recursos padrões de Equip do movements e adicionar um/mais scripts personalizáveis sem perder as funcionalidades da function onEquipItem?
      Meu objetivo é quanto mais partes do set o jogador possuir, mais bônus ele obterá, um exemplo:
       
      Warrior Set
      [2 peças] - Aumenta em 100 HP total
      [4 peças] - Aumenta em 2 shielding
       
      Eu tenho uma ideia de colocar essa verificação no creaturescripts, entretanto não gostaria de tomar esse rumo pois acredito que poderia sobrecarregar meu servidor com as verificações por thing.
      Efetuei consultas pela internet e geralmente o pessoa que tem essa duvida utiliza itens que não tem status, tipo um ring, no meu caso é diferente.
       
      Possível solução: Seria utilizar o código Equip padrão no meu script e depois aplicar meu código, entretanto eu não encontrei em nenhum local esse script de Equip,
       
      Quem puder me ajudar eu ficaria eternamente grato já que esse é um sistema chave no meu projeto, agradeço desde já
    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por Sphynx1
      Olá galera, vocês conhecem as lendas dos Trolls de baixo da ponte? Eles estão sempre na espreita, aguardando alguém para roubar, assassinar, estuprar e comer suas almas (as últimas partes são brincadeira). Me baseando nessa lenda eu fiz esse simples script, é um dos primeiros códigos que consigo desenvolver sozinho(tive ajuda), eu espero que ajude alguém em algum lugar do tempoespaço, é um script ótimo se você assim como eu gosta de pontes e também sempre teve a vontade de incrementar alguns de seus mapas com scripts.




       
      1º. Acesse a pasta raiz do seu servidor, logo após siga o seguinte caminho: data/movements e abra o arquivo movements.xml. O código que você devera adicionar dentro deste arquivo está listado abaixo.
      <movevent type="StepIn" actionid="DigiteONumeroDeUmaActionAqui" event="script" value="ponte.lua"/>  
      2º. Dentro de data/movements abra a pasta 'scripts' e crie um arquivo .lua nomeado de 'ponte', dentro deste adicione o seguinte código.
      function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local configuration = { monstrosTime = 1*5*1000, -- tempo até a criatura aparecer tempoDeStorage = 1*20*1000, -- em quanto tempo será removido a storage e se tornará possivel as criaturas resurgirem storage = 987459, -- numero da storage monsters = { [1] = {name = "Troll Champion", pos = {x = 1001, y = 1110, z = 9}}, -- Nome, quantidade e posição dos monstros, altere a vontade [2] = {name = "Troll", pos = {x = 1000, y = 1107, z = 9}}, [3] = {name = "Troll", pos = {x = 1007, y = 1109, z = 9}} } } if isPlayer(cid) == true then if getPlayerStorageValue(cid, configuration.storage) < 1 then doCreatureSay(cid, "A ponte não parece segura e quando você dá o primeiro passo ouve um grunhido e nota a presença de um ser estranho.", TALKTYPE_ORANGE_1) -- MSG que você quer exibir addEvent(function() for k, v in pairs(configuration.monsters) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) setPlayerStorageValue(cid, configuration.storage, 1) addEvent(function() setPlayerStorageValue(cid, configuration.storage, 0) end, configuration.tempoDeStorage) end end return true end  
      3º. Inicie o seu servidor e adicione o número da 'ActionID' que você inseriu em 'movements.xml' a algum piso de sua preferência, no caso eu adicionei no meio da ponte. Seja criativo.
    • Por lordzetros
      TFS 1.3 - TESTADO EM VERSÃO 10.98
      * Introdução *
       
          Bom, estive navegando no Fórum e vi que o usuário @Cleiton Felipi pediu um script que ao player entrasse no teleport de um X monstro, um Demon por exemplo, listasse qual hunt o jogador queria entrar. Achei interessante, e resolvi desenvolver e postar no TK, já que não tinha ainda, :).
       
       
       
      * Sobre o sistema *
       
           Você utiliza diversas hunts com vários tps criados no mapa no seu servidor do mesmo monstro? Bom, este script será muito útil para você! Pois ele permitirá que você habilite ao jogador em qual hunt ele quer caçar, por exemplo, se tiver Demon 01, Demon 02, Demon 03, Demon X, basta apenas você criar um tp indicando o monstro e que uma janela irá aparecer com a lista de opções de hunts, prático, né? Segue imagens de demonstração:


       
       
      OBS¹.: Você pode colocar TODOS OS MONSTROS neste script, contando que tenha o actionID que ficará no teleporte, não é de uma quantidade limitada, em outras palavras, você pode adicionar as hunts de Demon, Frost Dragon, Dragon, ..., tudo aqui, apenas mudando o actionID (tudo configurável, não se preocupe).
       
      * Instalação *
       
      Em data/movements/scripts/ crie um arquivo chamado mov_janela_hunts.lua e adicione dentro:
      --[[ Script - Lordzetros Fórum Tibia King ]] local config = { titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela } CONFIG_TPS_JANELA = { [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, [19091] = { {nome = "Frost 01", pos = {x = 98, y = 140, z = 7}}, {nome = "Frost 02", pos = {x = 93, y = 145, z = 7}}, {nome = "Frost 03", pos = {x = 91, y = 141, z = 7}}, {nome = "Frost 04", pos = {x = 94, y = 139, z = 7}}, {nome = "Frost 05", pos = {x = 95, y = 137, z = 7}}, }, } function onStepIn(creature, item, pos, fromPosition) if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then JANELA_TP_ACTION = item:getActionId() creature:teleportTo(fromPosition, true) creature:registerEvent("janela hunts") local janela = ModalWindow(1000, config.titulo, config.mensagem) for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do janela:addChoice(i, v.nome) end janela:addButton(100, "Confirmar") janela:addButton(101, "Fechar") janela:setDefaultEnterButton(100) janela:setDefaultEscapeButton(101) janela:sendToPlayer(creature) end return true end  
      Em data/movements/movements.xml adicione o seguinte código abaixo de um semelhante:
      <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" />  
       
      Agora em data/creaturescripts/scripts/ crie um arquivo chamado creature_janela_hunts.lua e adicione dentro:
      function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("janela hunts") if (modalWindowId == 1000) then if (buttonId == 100) then local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos player:teleportTo(tele_pos) local pos_t = Position(tele_pos) pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE) end end return true end  
      Em data/creaturescripts/creaturescripts.xml adicione o seguinte código abaixo de um semelhante:
      <event type="ModalWindow" name="janela hunts" script="creature_janela_hunts.lua"/>  
      * Configuração *
          Bom, apesar de que não seja difícil de configurar, é necessário uma explicação, vamos lá...
      1 - 
      [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, Em [19090] este número de dentro é o actionID que ficará no portal. Com ele será identificado de qual monstro se trata, bastando apenas configurar este número e o nome das opções de monstros que você quer aparecendo na janela, em seguida, a posição na qual o jogador será teleportado, seguindo a ordem. Segue imagem de como deve ficar o seu portal:

      OBS²: VOCÊ EDITA O ACTIONID NO SEU EDITOR DE MAPA COLOCANDO NO ID DO ITEM DE TELEPORTE.
      OBS³: PARA ADICIONAR NOVAS HUNTS NO SCRIPT, BASTA SEGUIR O PADRÃO QUE ESTÁ NO CÓDIGO, DO 19090 PARA O 19091.
       
      2 - (por fim)
      Em data/movements/movements.xml
      <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> itemID = Id do item que o player andará para abrir a janela de hunt
      Está como 5023 por conta que o magic forcefield é 5023, no qual utilizei para teste, aconselho você deixar da mesma forma (caso seja o mesmo id no seu servidor), ou mude, mas cuidado para não cometer algum erro.
       
       
      Enfim, algo simples, porém não encontrei no TK.
      Abraços.  
       
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo