Ir para conteúdo

RaioX

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    RaioX recebeu reputação de jhosefra7 em [PEDIDO] Vender house por item   
    É possível executar um comando específico e gerar aquele documento da house, mas não para um player que estiver perto, para poder colocar na backpack, no market, etc?
  2. Gostei
    Dentro de alguns dias, ok. Mas tem alguma previsão? Se ele estiver mais completo do que os servidores daqui, não desperdiçamos tempo corrigindo os bugs dos outros e esperaremos o seu. De qualquer forma, parabéns pelo seu trabalho e pela preocupação em ajudar. 
  3. Gostei
    (PARA QUEM NÃO SABE COMPILAR UM OT NO LINUX CLIQUE AQUI)
     

    Seacrest Grounds  War System  Taming System  DB  WOE Quest  All Mounts Roshamuul, Oramond, Venore, AB, Zao, Farmine  PTR & CR Quest Browse Field  Opção "Report Coordenate" (CTRL+Z)  Todas Hunts do 10.8/10.9 Cast System  REWARD SYTEM BATTLEFIELD EVENT Várias quests desbugadas (YALAHAR QUEST COMO EXEMPLO) Recompensas pra LVL 30+ (BANK SYSTEM)  
     

     
     

     
    Datapack: MediaFire
    Scan: VirusTotal
     
    Website(Gesior): MediaFire
     
    Sources: MediaFire
     
    Database necessária: MediaFire
     

    Créditos à CIPSOFT e ao TFS Team por disponibilizar Sistemas feitos pela equipe CIPSOFT.
  4. Gostei
    RaioX deu reputação a Elwyn em Sistema de reward   
    Script feito para TFS 1.x
     
    Esse script foi feito para ajudar os mappers a fazerem quests sem precisar saber scriptwriting. Basta criar um bau, por actionid 15000 e um uniqueid que não coincida com outras storages usadas. Dentro do baú é só por quantos itens quiser.
    Em data/actions/scripts crie um script chamado reward_system.lua e cole o seguinte código:
     



     
    E em actions.xml cole a seguinte tag:
        <!-- Reward System -->     <action actionid="15000" script="reward_system.lua"/> E pronto.
     
    Edit: Atualizado, agora o baú pode conter bags/backpacks/containers que contém itens.
  5. Gostei
    RaioX deu reputação a Nechros em Free for use!   
    Tutorialzinho pra fazer folhagens,

    Usei essa técnica pra fazer a arvore de cima. Pode ajudar alguém
    C achar q vale a pena pode dar REP++ ai, n sei pra q serve, mas pelo jeito ajuda ja q tanta gente pede haha
  6. Gostei
    RaioX deu reputação a Bruno Minervino em Compilando TFS 1.3 com vídeo-aula   
    Compilando TFS 1.3 no Windows

    1. Baixe os softwares requeridos
     
    Para compilar o The Forgotten Server no Windows, você vai precisar:
     
    Visual Studio 2015 (Compilador)
    TFS SDK v3.2 (libs)
    Libs do Boost C++ (32-bits, 64-bits)
     
    2. Instale os softwares requeridos

    Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0).

    3. Baixe as sources

    Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando:
     
    > git clone https://github.com/otland/forgottenserver.git  
    Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip

    4. Compilando

    Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar.

    Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Plataforma você irá compilar: 32-bits (Win32) ou 64-bits (x64).

    Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B).

    5. Vídeo-aula

    https://www.youtube.com/watch?v=Zfil84FMJsk

    6. Créditos
    Mark - Autor do tutorial e do projeto The Forgotten Server
    Bruno Minervino - Tradução e gravação do vídeo
     
  7. Gostei
    RaioX deu reputação a Drazyn1291 em Compilando TFS 1.3 com vídeo-aula   
    Funciona para versões menores de 1.x tbm?
  8. Gostei
    RaioX deu reputação a leoleo em Train System (sistema de trem com video) testado tfs 1.0 by leoleo   
    Bem, venho trazer para vocês hoje um sistema de train  funcionando 100% em TFS 1.0.
    Direto ao assunto postei um video para verem o funcionamento
     
     http://youtu.be/Lrw1lhTxp8E
     
     
     
    Instalação
    Primeiramente pessoal, deverão abrir a pasta data/movements/scripts/  . Copie qualquer arquivo  renomeando-o como 'train.lua' sem as aspas. Abra esse arquivo e cole o seguinte codigo.




     
    Feito isso pessoal, vão em data/movements/movements.xml  e cole isso logo apos o primeiro <movements> do arquivo




     
     
    Gostaria de convida-los para visitar o topico onde estou desenvolvendo meu projeto. O Pronoba
    Acesse o PRONOBA
     
    Obrigado
     
    Creditos pelo script 
    LEOLEO
  9. Gostei
    @Mitsuig Cara, estou seu servidor e a source 10.76 com cast system + map editor + otb (com suporte a oramond) pronto para lançar, mas queria bater um papo com você antes. Me aceita skype ou chama pm aqui no tk...
     

  10. Gostei
    RaioX deu reputação a KekezitoLHP em Email System v1.3.9   
    -- Name: E-mail System
    -- Version: 1.3.9
    -- Credits: Conde2
    -- Tested: TFS 0.3.4(5) Crying Damson
    _________________________ 


    Sobre:
    Este é um simples sistema de e-mails, que te possibilita mandar mensagens para todos os players, ate os offiline.
    Necessário criar uma pasta chama "email" dentro da pasta DATA
    OBS: NECESSITA DA LIB EXHAUSTION DO TFS !!
     
    Comandos:
     
    Código:
    Agora vamos ao que interessa...
    Abra a pasta data/talkactions/script e adicione isso em um arquivo lua chamado email.lua.

    Dentro desse arquivo adicione esse Script: 
    EMAIL_BLOCK = 6364 EMAIL_ANTI_SPAWN = 15 EMAIL_MIN_MENSSAGE = 10 EMAIL_MAX_MENSSAGE = 100 EMAIL_STORAGE_ANTI_SPAWN = 6365 function onSay(cid, words, param) if words == "!sendemail" then if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param. Please use: !sendemail name, menssage") return TRUE end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "No menssage specified.") return TRUE end if (getPlayerGUIDByName(t[1]) == 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[1] .. " not exist.") return TRUE end if (string.len(t[2]) <= EMAIL_MIN_MENSSAGE) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't send this menssage, because so short.") return TRUE end if (string.len(t[2]) > EMAIL_MAX_MENSSAGE) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't send this menssage, because so long.") return TRUE end local id = getPlayerIdByName(""..t[1].."") if (getDataBaseStorage(id,EMAIL_BLOCK) == 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, the player: " .. t[1] .. " has been blocked yours menssages.") return TRUE end if exhaustion.check(cid, EMAIL_STORAGE_ANTI_SPAWN) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Please wait a ".. exhaustion.get(cid, EMAIL_STORAGE_ANTI_SPAWN) .." secondes to send other email.") return TRUE end local directory = "data//email//".. t[1] ..".txt" if onFile("exist", directory) == FALSE then onFile("create", directory, "BY: ".. getCreatureName(cid) .." [" .. os.date("%d/%m/%Y %H:%M:%S") .. "] ".. t[2] .."\n") doPlayerSendTextMessage(cid, 22, "You have send to ".. t[1] .." this menssage: " .. t[2] .. ".") exhaustion.make(cid, EMAIL_STORAGE_ANTI_SPAWN, EMAIL_ANTI_SPAWN) else onFile("update", directory, "BY: ".. getCreatureName(cid) .." [" .. os.date("%d/%m/%Y %H:%M:%S") .. "] ".. t[2] .."") doPlayerSendTextMessage(cid, 22, "You have send to ".. t[1] .." this menssage: " .. t[2] .. "") exhaustion.make(cid, EMAIL_STORAGE_ANTI_SPAWN, EMAIL_ANTI_SPAWN) end local target = getPlayerByNameWildcard(""..t[1].."") if(target == 0) then target = getCreatureByName(""..t[1].."") if(target == 0) then return TRUE end end local tmp = getCreaturePosition(target) if (isOnline(""..t[1].."") == TRUE) then addEvent(doSendAnimatedText, 1, tmp, "Menssage!", TEXTCOLOR_PURPLE) addEvent(doSendAnimatedText, 1000, tmp, "Menssage!", TEXTCOLOR_PURPLE) addEvent(doSendAnimatedText, 2000, tmp, "Menssage!", TEXTCOLOR_PURPLE) doPlayerSendTextMessage(target, 19, " A new menssage arrived, look your email box. (!checkemail)!!") end elseif words == "!checkemail" then local name = getCreatureName(cid) local directory = "data//email//".. name ..".txt" if onFile("exist", directory) == FALSE or onFile("load", directory) == nil then doPlayerSendTextMessage(cid, 22, "Sorry you don't have any menssage.") else for line in io.lines(directory) do doShowTextDialog(cid,7528, "You have menssages: \n \n ".. line .." \n \n \n For look the next menssage click in the button: OK") end end elseif words == "!deleteemail" then local name = getCreatureName(cid) local directory = "data//email//".. name ..".txt" if onFile("exist", directory) == TRUE and onFile("load", directory) ~= nil then onFile("delete", directory) onFile("erase", directory) doPlayerSendTextMessage(cid, 22, "Sucessful!! You have deleted all yours menssages !!") else doPlayerSendTextMessage(cid, 22, "Sorry you don't have any menssage to delete.") end elseif words == "!blockemail" then setPlayerStorageValue(cid, EMAIL_BLOCK, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You has been bloked your e-mail. Please relog to make effect.") elseif words == "!unblockemail" then setPlayerStorageValue(cid, EMAIL_BLOCK, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You has been unbloked your e-mail. Please relog to make effect.") end end Agora vá em data/global.lua
    Ou em data/lib/data.lua e adicione isso na última linha:
    function isOnline(name) -- by mock local players = getOnlinePlayers() name = string.lower(name) for i, player in ipairs(players) do player = string.lower(player) if name == player then return TRUE end end return FALSE end function getDataBaseStorage(pid,value_id) -- by Conde2 local coisa = db.getResult("SELECT * FROM `player_storage` WHERE `player_id` = ".. pid .." AND `key` ="..value_id..";") if coisa:getID() == -1 then return -1 else return coisa:getDataInt("value") end end function onFile(type, directory, content) -- by Conde2 local master = 0 if type == "create" then local file = io.open(directory, "w") master = file:write(content) file:close() elseif type == "erase" then local file = io.open(directory, "w+") master = file:write("") file:close() elseif type == "load" then local file = io.open(directory,"r") master = file:read() file:close() elseif type == "update" then local file = io.open(directory, "a+") master = file:write(content.."\n") file:close() elseif type == "return" then local file = io.open(directory, "a+") master = file:write(" "..content) file:close() elseif type == "delete" then os.remove(directory) elseif type == "exist" then file = io.open(directory) if file == nil then master = FALSE else master = TRUE end end return master end Tags:
    E finalmente vá para data/talkactions/talkactions.xml
    Abra ele com um bloco de notas e adicione isso:
    <talkaction words="!sendemail" event="script" value="email.lua"/> <talkaction words="!deleteemail" event="script" value="email.lua"/> <talkaction words="!checkemail" event="script" value="email.lua"/> <talkaction words="!blockemail" event="script" value="email.lua"/> <talkaction words="!unblockemail" event="script" value="email.lua"/> Configurando:
    Para configurar basta ir em data/talkactions/email.lua e editar isso:

    EMAIL_BLOCK = 6364
    EMAIL_ANTI_SPAWN = 15
    EMAIL_MIN_MENSSAGE = 10
    EMAIL_MAX_MENSSAGE = 100
    EMAIL_STORAGE_ANTI_SPAWN = 6365

    # Storage value para bloquear / desbloquear o email.
    # O tempo que o player terá que esperar para mandar outra mensagem (Em segundos)
    # Quantas letras no mínimo a mensagem tem que ter para poder ser enviada.
    # Quantas letras no máximo deverá ter a menssagem.
    # Storage para definir o exausted !! 
     
     
  11. Gostei
    RaioX deu reputação a MaXwEllDeN em {Simple} Level Points   
    #Introdução

    Este é um sistema muito simples e básico que eu fiz baseando-me no jogo Mu Online, no qual ao avançar de nível você ganha pontos que podem ser distribuídos para aumentar seus "stats".



    #Instalação




    Faça o download do sistema e cole na pasta do seu servidor.

    @Creaturescripts

    Depois abra a pasta creaturescripts/scripts que fica dentro da pasta data do seu servidor, abra o arquivo login.lua, com algum editor de texto, e lá no final antes do último return true cole a seguinte linha:


    registerCreatureEvent(cid, "PointSystem") #Configuração No arquivo PointsSystem.lua da pasta lib L_LvlPoints = { vocPoints = { -- [Skill] = Pontos que ganha, [1] = 3, [2] = 3, [3] = 3, [4] = 5, [5] = 5, [6] = 5, [7] = 5, [8] = 8, }, entre Colchetes fica o id da vocation, e depois do sinal de igualdade a quantidade de pontos que ele ganhará por level que for upado. attributes = { ["vitalidade"] = {np = 2, vl = 5, nm = "Hit Points"}, -- Precisa usar 2 points para adicionar 10 de hp ["energy"] = {np = 4, vl = 2, nm = "Mana Points"}, ["magic"] = {np = 30, vl = 1, nm = "Magic Level"}, ["shielding"] = {np = 40, vl = 1, nm = "Shielding Skill"}, ["sword"] = {np = 20, vl = 1, nm = "Sword Skill"}, ["axe"] = {np = 20, vl = 1, nm = "Axe Skill"}, ["club"] = {np = 20, vl = 1, nm = "Club Skill"}, ["distance"] = {np = 20, vl = 1, nm = "Distance Skill"}, } np - quantidade de pontos para adicionar o stat vl - quanto vai adicioanar pelo np. Exemplo: ["vitalidade"] = {np = 2, vl = 5, nm = "Hit Points"}

    Com 2 pontos eu compro 5 de HP

    É isso ai galera, bye bye
  12. Gostei
    RaioX deu reputação a luanluciano93 em [TFS 1.x] TK Vip System   
    Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.
     
    É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script:
    -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end  
     
    As funções são:
    • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database).
    • player:isVip() - Retorna se o player é vip ou não.
    • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days").
    • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days").
    • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days").
    • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player.
    • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player.
    • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo.
     

    Qualquer dúvida ou erro/bug poste aqui.
  13. Gostei
    RaioX deu reputação a Malblofor em [WebSite] Gesior Tfs 1.0 Modificado by Malblofor   
    up@
     
    37 down e nenhum comentario e nem rep+ 

Informação Importante

Confirmação de Termo