Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Tipo: Creaturescripts.

Testado: No.

Oque Faz: Ele muda a mensagem quando você upar de level, modifique-a a vontade.


@Instalando

Vá na pasta do seu servidor depois em data agora entre em outra pasta chamada creaturescripts e entre na pasta chamada scripts duplique um arquivo da extensão .lua e adicione o seguinte conteúdo dentro:

function onAdvance(cid, skill, oldLevel, newLevel)


local lvl = oldLevel - newLevel


if skill == 8 then

   return false

end

	  doPlayerAddLevel(cid, lvl)

	  doPlayerSendTextMessage(cid, 27, "Você avançou " .. lvl .. " " .. lvl > 1 and "níveis" or "nível" .. " parabéns[do " .. oldLevel .. " para o " .. newLevel .. "].")

	return true

end

agora volte uma pasta e entre no arquivo creaturescripts.xml e adicione a seguinte linha nele
<event type = "advance" name = "level_message" script = "nome_do_script.lua"/>

agora volte na pasta creaturescripts/scripts e entre no arquivo login.lua e adicione essa linha nele
registerCreatureEvent(cid, "level_message")


Lembrando que se não funcionar, então só nas sources para modificar.

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

Bom tutorial.

Rep+

Meus Trabalhos ^^

[bot] Macro Expert - repete seus movimentos / todas versões

Criando Houses no RME Map editor [NEW]

Hunt ótima para tibia 8.54

Galera, se inscreve no meu canal ai, tutoriais diversos, photoshop/tibia/habbo e muito mais.

Link para o post
Compartilhar em outros sites
  • 1 year later...

Isso não conflitaria com as sources do servidor e mandaria uma mensagem duplicada de levelup? Sendo uma em inglês e a outra "mudada"?

Não consigo testar no momento.

 

Desculpa o Bump em um post avô, mas necessito sanar essa minha dúvida.

Link para o post
Compartilhar em outros sites
  • 1 year later...

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 jeddhemi
      script que estou utilizando trearak.lua: 
       

       
      local tpId = 1387 local tps = {          ["Trearak"] = {pos = {x=32646, y=31307, z=15}, toPos = {x=32689, y=31470, z=13}, time = 60}, }     function removeTp(tp)         local t = getTileItemById(tp.pos, tpId)         if t then                 doRemoveItem(t.uid, 1)                 doSendMagicEffect(tp.pos, CONST_ME_POFF)         end end     function onDeath(cid)         local tp = tps[getCreatureName(cid)]         if tp then                 doCreateTeleport(tpId, tp.toPos, tp.pos)                 doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)                 addEvent(removeTp, tp.time*1000, tp)         end         return TRUE end   <event type="death" name="tp" event="script" value="Trearak.lua"/>   <ali onde esta escrito "tp" eu possuo outro monstro que funciona o script e no events tambem esta com "tp" isso pode interferir em outros script repetir o mesmo evento?  no caso: <event type="death" name="tp" event="script" value="AncientLightDwarvenKingdom.lua"/>    
    • Por TsplayerT
      ALO, COM QUEM EU FALO?
       
           Galera fui abrir meu Server de POkeTibia, porém apareçeu erros no Console quando fui logar-se e assim não consigui entrar no server
           Erro apresentado no Console:

       
      Estarei disponibilisando os arquivos citados no erro.
       
      Arquivo: Cooldown Bar
       


       
      Arquivo: Login
       


       
      POR FAVOR, ME AJUDEM PORQUE SEMPRE TENTO AJUDAR A TODOS
      DAREI REP +
      Obrigado
    • Por luangop
      Olá, gostaria que alguém me ajudasse neste sistema... tenho um conceito bolado porém não sei desenvolver os scripts... Meu TFS é 0.4.
       
      *Explicação do uso do sistema: Todos os dias as 20:00 horas um teleport é criado no templo, sendo que quem entrar nele será levado para a área donate, e as 20:45 o teleport some e todos que entraram no mesmo são teleportados para o templo.
       
      De acordo com o conceito que elaborei o sistema se divide em duas partes:
      Primeira parte:
      Acredito que essa primeira parte não seja muito difícil.. o mais complicado vem agora:
       
      Segunda parte:
      *Obs sobre a segunda parte: Não sei se é possível fazer com que mesmo os players que entraram e receberam a storage, e no momento (20:45) estiverem offline sejam levados para o templo, caso isso não seja possível a solução seria criar uma função onLogin em creaturescripts para quando o player logar se tiver a storage registrada ser teleportado imediatamente para o templo.
       
      É isso galera, tentei explicar com o máximo de detalhes o que eu quero, mas qualquer dúvidas é só perguntar que esclareço! Conto com a ajuda de vocês!
    • Por EddyHavoc
      Perfect Vip system 2.2
      Versão Testada:TFS 0.3.6 - 8.54 - 8.60
      Creditos pelas modificações: Kydrai,Nicekid e Marcryzius e EddyHavoc
      Creditos pelas publicações: EddyHavoc e Vodkart
      Oque Contém no Sistema vip 2.2?
      Quote
      - Compra Vip pela talkaction ( Comando !buyvip ) -- ou sem o comando.
      - Tile para somente Players Vip passarem ( conta também com funçâo os.time )
      - verifica quantos dias de Vip o character ainda possui.
      - Administradores(GOD) podem adicionar e remover dias de Vip para characters.
      -- Administradores(GOD) podem checkar dias de Vip dos Players.
      -- É adicionado [VIP] ao nome e retirado quando a vip Acabar.
      GOD Adicionando e Removendo dias de Vip
       
      Comprando VIP e Checkando dia da sua VIP
      Quote
      Comando:
       
      comprar vip:
      !buyvip
      checkar dias de vip:
      !vipdays
      God checkar dias de vip do character:
      /checkvip Nick
      exemplo: /checkvip Nicekid
       
       
      God adionar dias ao character:
      /addvip Nick,dias
      exemplo: /addvip Nicekid,5
      aqui adicionei 5 dias de vip.
      God Retirar dias de Vip do character:
      /delvip Nick,dias
      exemplo: /delvip Nicekid,5
      aqui retirei 5 dias de vip.
      Primeiro passo
       
      vá até talkactions/scripts Crie um arquivo.lua e renomeie para systemvip.lua
      dentro coloque:
        -- Script System Vip 2.2 -- function onSay(cid, words, param) if(words == "!buyvip") then local price = 5000000 if doPlayerRemoveMoney(cid, price) == TRUE then local days = 30 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local name = getCreatureName(player) local days = t[2] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local daysvalue = days*3600*24 local storageplayer = getPlayerStorageValue(player, 13540) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) if string.find(tostring(getCreatureName(pid)),"[[Vip]]") then doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") else setPlayerStorageValue(player, 13540, time) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";") doRemoveCreature(player) end end elseif(words == "/delvip") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. if(getPlayerStorageValue(C.uid,13540) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end price = é o quanto a vip vai custar em gps days = quantos dias de vip serão adicionados ao player em talkactions.xml adicione a tag:
        <talkaction words="!vipdays;!buyvip;/checkvip;/addvip;/delvip" script="systemvip.lua"/> Pronto primeiro passo terminado. Sistema vip sem o !buyvip abra a spoiler Spoiler ---------------------------------------------------------------------------------------------------------------------------- Tile VIP Segundo passo. vá até movements/scripts crie um arquivo.lua e renomeie para vipe.lua dentro coloque:
        -- Script Vip Sytem 1.0 -- function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você não e vip ,fale com Administrador do Server.", msgWelcome = "Seja Bem Vindo a Area vip." } if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) return TRUE end Em movements.xml adicione a tag: <movevent type="StepIn" uniqueid="13700" event="script" value="vipe.lua"/> FIM DA VIP creaturescript/script crie um arquivo.lua e renomeie para endvip.lua e cole isso dentro dele:
        --[[ by EddyHavoc Tibiaking.com ]]-- function onLogin(cid) if getPlayerStorageValue(cid, 13540) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end local pos = {x = 157, y = 50, z = 7} -- posiçao do templo. function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then doTeleportThing(cid, pos) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end em creaturescript.xml adicione a tag:
        <event type="login" name="CheckVip" script="endvip.lua"/>[i] Pronto Seu sistema Vip está terminado.
    • Por Rusherzin
      Andei procurando um Heart System e a maioria deu erros, então, eu resolvi fazer um..

      Para quem não sabe, ele funciona assim:
      Se (e somente se) um player matar outro ele ganhará um coração (usei como exemplo aquele coração de um Morgaroth que é geralmente usado) e nele virá escrito o seguinte:
      Ex: Matei o player Rusherzin :c
      Receberei o item assim:
      You see the Rusherzin Heart's. It weighs 35.00 oz. Killed at Level 694 by Eu. (Unjustified) Ok, agora que sabemos como funciona vamos ao script.
       
      data/creaturescripts/
      creaturescripts.xml
         <event type="kill" name="Reward" event="script" value="reward.lua"/>
      data/creaturescripts/scripts/
      reward.lua
      function onKill(cid, target)     if isPlayer(cid) and isPlayer(target) then     if getPlayerIp(cid) ~= getPlayerIp(target) then  local config = { Kname = getPlayerName(cid), Tname = getPlayerName(target), Tlevel = getPlayerLevel(target), } local heart = doPlayerAddItem(cid, 5943, 1) doItemSetAttribute(heart, "name", "" ..config.Tname.. " Heart's") doItemSetAttribute(heart, "description", "Killed at Level "..config.Tlevel.." by "..config.Kname..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))     elseif getPlayerIp(cid) == getPlayerIp(target) then doPlayerAddExp(cid, -10000)     end end return true end

      OBS: Se o player matar algum char dele (com mesmo ip), ele não receberá o coração e será punido com perda de  Experience. Configurável nessa parte:
      doPlayerAddExp(cid, -10000) Qualquer dúvida ou erro que ocorra é só perguntar aí, abraço.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo