Ir para conteúdo

acesso123

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    acesso123 recebeu reputação de TheNorth em Castle 24 horas!   
    http://www.tibiaking.com/forum/topic/35731-castle-war-24h-conquiste-o-trono/
     
    http://www.tibiaking.com/forum/topic/33713-evento-blood-castle-autom%C3%A1tico/
  2. Gostei
    acesso123 deu reputação a liteon9y em [ACTION] Catapult System 8.6   
    Olá pessoal.
    Este é meu primeiro tópico trazendo algum conteúdo,
    então por favor peguem leve nas criticas xD
                   
     
    demonstração de como vai ficar o script depois de pronto:

     
    não tem nada de complicado pessoal, basta prestar atenção nas fotos, e se não der para fazer igual use a criatividade.
    INSTALANDO O SISTEMA:
    primeiramente vocâ deve abrir o RME, escolher o local desejado e seguir os seguintes passos.
     
     

    agora vamos configurar a parte do script.
    abra data/actions/actions.xml -> organizadamente adicione esta tag;
     
        <action actionid="8001-8002" event="script" value="catapulta.lua"/>
    aqui voce vai utilizar uma 'actionID para colocar atraves do RME na catapulta'
     
    agora vá para data/actions/scripts -> faça 1 copia de qualquer arquivo.lua e renomeie para ' catapulta '
    feito isso, abra o arquivo e adicione isto dentro dele;
     
    local positions = { {x = 1292, y = 969, z = 4}, {x = 1292, y = 972, z = 3}, {x = 1293, y = 974, z = 2}, {x = 1293, y = 976, z = 2}, {x = 1292, y = 976, z = 3} } function doTpDelayTwo(cid, delay) if delay > 0 then doTeleportThing(cid, positions[delay]) doSendMagicEffect(getThingPos(cid), 2) doSendMagicEffect(getThingPos(cid), 66) addEvent(doTpDelayTwo, 180, cid, delay-1) end end function onUse(cid, item, frompos, item2, topos) doTpDelayTwo(cid, #positions) return true end para configurar é bem simples
    aonde esta destacado em vermelho você deve por as positions correspondente aos
    tiles invisíveis que você adicionou no rme, lembra?, vale lembrar que a inteção é fazer com que
    o player faça um trajeto correto (subida e descida como se tivesse sido arremessado para o auto)
    para isso acontecer você deve prestar atenção na hora de configurar as positions.
    se precisar adicionar mais position que o original, basta ir adicionando novas linhas,  siga  o exemplo abaixo.
     
     
    eu achei bem bacana este sisteminha, porque pode ser feito bastante coisa legal com ele!
    aqui esta um outro exemplo do que eu fiz com este script, você também podera facilmente abusando da criatividade,
    adicionar bastante coisa legal no seu servidor com ele.

     
    CREDITOS:
    @Vodkart pelo grandioso script
    eu não mereço credito pois apenas pus em pratica o script de uma forma elaborada, apenas usei a criatividade.
    espero que alguém use este sistema, por favor deixe seu comentário sobre o que achou !
    REP+ se tiver achado legal !

     
     
  3. Gostei
    acesso123 deu reputação a Balkalima em Dúvida sobre TFS e compilação em Linux   
    Olá @acesso123, tudo bom? O melhor Linux para que você possa abrir um OT Server e copilar sua distro é o Ubuntu 12.04!
     
       Qual quer duvida que tiver e eu conseguir resolver pode mandar ... Não se esqueca de me dar REP+ se te ajudei 
  4. Gostei
    acesso123 deu reputação a Natanael Beckman em GesiorACC 2019 8.60 UPDATE 29/06/2019   
    Atualização de 29/06/2019.
     
    Olá meus amigos, essa é a minha última contribuição free que faço na área de OTserver, fiz uma atualização bem completa do Gesior comparando com os que existem disponíveis, não vou falar muito pois grande parte já conhecem... Vou apenas posta algumas imagem das mudanças feitas.
    Sempre gostei de evoluir e de oferecer aos demais uma facilidade de obter um material grátis e de qualidade, nunca utilizei meu pouco conhecimento para prejudicar os demais, pelo o contrario sempre foi na intenção de ajudar e se em algum momento falhei, falhei inconscientemente.
     
    - Foi mudado algumas imagens de layout para renovar a estrutura.

     
    - Server Info + Most Power Ful Guilds na mesma estrura.

     
    - Create Account exigindo senhas com letras minusculas, maiúsculas e números, fortalecendo
    a segurança do seu cliente e dificultando futuras dores de cabeças.

     
    - Adicionado o mecanismo que identifica os valores de Premuim Points e Backup Points.
    - Algumas mudanças de layout.
    - Nome do player abaixo linkado.

     
    - Adicionado um Box de doação, com a intenção apenas de complementar
    o layout enriquecendo a pagina.

     
    - Fixado o bug edit town, e melhorado o layout.

     
    - Characters.php refeito, nesta imagem é uma visão de uma conta com access admin.

     
    - Visão normal.

     
    - Inventário completo.
    - Guilds com visão ampliada.

     
    - Detalhes...

     
    - Novo SHOP com as estrutura de layout melhorada e modernizada.
    - Sem BUGs lembre-se do CTRL + F5 para atualizar os cookies nesta pagina.

     
    - Detalhes...

     
    - Detalhes...

     
    - Detalhes...

     
    - Histórico do SHOP...

     
    DOWNLOAD SITE
    SHOP.LUA XAMPP 1.7.3 DATABASE LIMPA MYSQL DATABASE COMPLETA MYSQL   TUTORIAIS ÚTEIS E COMPATÍVEIS PARA O SITE: PAGSEGURO AUTOMATICO SHOPGUILD BACKUP_POINTS SISTEMA VIP_TIME   Créditos: Gesior.pl(WEBMaster) Felipe Monteiro(WEBMaster, WEBDesigner) Natanael Beckman(WEBNada) Nailan (WEBMaster) Ivens Pontes (WEBMaster) Marcio Porto (WEBMaster) Danyel Varejão (Programmer LUA, C++)
  5. Gostei
    acesso123 deu reputação a Balkalima em TFS 0.3.6 e 0.4 Qual melhor?   
    Olá novamente @acesso123 a melhor distro é a 0.4 devido as inúmeras vantagens que ela oferece e segundo alguns é a mais estável, mas eu sempre encontrei problemas na sua compilação. Mas sem duvidas você deve escolher uma 0.4 para dar mais conteúdo ao seu OT!
     
       REP+ se eu te ajudei!  
  6. Gostei
    acesso123 recebeu reputação de rafaelclaumann em Duvida Compilacao   
    Não pense que sou grosso ou não quero ajudar, mas se entender isso, vai saber que só estou ajudando.
    Baixe uma nova versão com distro e datapack junto, que seja o mesmo, isso evita esses erros e facilita na hora de compilar, pois provável que alguém já tenha feito isso uma vez e se foi compilado é porque funcionou, nada que não tenha um erro ou outro, mas compilar e não compilar, é bem diferente. E Server "frankenstein" que pega pedaço daqui e dali, da problema.
  7. Gostei
    acesso123 recebeu reputação de thelifeofpbion em (Resolvido)Que vps é melhor?   
    Ola pablobion,
     
    empresas que vendem cloud/vps:
    4youstart Está é a melhor das três, porém com preço intermediário. Mas você não se incomodará.
    lgvhost Está é a mais em conta, porém, precisará fazer tudo sozinho, ao contrário da 4youstart.
    servercore Está é a mais cara dos três e com os menores recursos de máquina, porém se você tem grana, ela é ótima.
     
    No meu ponto de vista, a melhor a é 4youstart. O motivo de apresentar essas três para você, é que eles disponibilizam bom atendimento e vasta escolha de serviço e preço. Caso escolha algum desses ou de qualquer outro, nunca pegue com HD Sata e sim com HD SSD, pois isso muda bastante a velocidade de processamento do seu jogo.
    VPS que deveria escolher, para Baiak no mínimo 2gb de memória se for com jogo e site funcionando apenas para você, em caso de colocar como negócio, aconselho 4gb de memória. Com isso para diminuir lag, também seria legal verificar a quantidade de vCPU, velocidade banda de transferência de dados e trafego.
     
     
  8. Gostei
    acesso123 deu reputação a Vodkart em [8.6] [Talkactions] - Find Item   
    É um comando para procurar determinado item no servidor, ele procura em:
     
    *Jogador
    *Depot
    *House Tiles
     
    basta usar o comando /find NOME DO ITEM
     
    exemplo: /find solar axe
     

     

     

     
     
    Obs: Como é feito por DB, os items só ficaram salvo quando der serve save(hora que altera os valores na data base), então se o jogador receber o item as 15:00 e só de serve save as 16:00, só irá aparecer no comando as 16:00 horas.
     
     
     
    talkactions
     
    finditem.lua
    function onSay(cid, words, param) if param == '' or tonumber(param) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "/find item name") return true end local item_id = getItemIdByName(tostring(param), false) if not item_id then doPlayerSendCancel(cid, "This item does not exist.") return true end local str, player_depotitems, players_items, tile_items = "",{},{},{} local dp = db.getResult("SELECT `player_id`, `count` FROM `player_depotitems` WHERE `itemtype` = "..item_id),{} if (dp:getID() ~= -1) then repeat player_depotitems[#player_depotitems+1] = {dp:getDataInt("player_id"), dp:getDataInt("count") } until not(dp:next()) dp:free() end local pi = db.getResult("SELECT `player_id`, `count` FROM `player_items` WHERE `itemtype` = "..item_id),{} if (pi:getID() ~= -1) then repeat players_items[#players_items+1] = {pi:getDataInt("player_id"), pi:getDataInt("count") } until not(pi:next()) pi:free() end local hi = db.getResult("SELECT `tile_id`, `count` FROM `tile_items` WHERE `itemtype` = "..item_id),{} if (hi:getID() ~= -1) then repeat local tile = db.getResult("SELECT `house_id`, `x`, `y`, `z` FROM `tiles` WHERE `id` = "..hi:getDataInt("tile_id")),{} tile_items[#tile_items+1] = {tile:getDataInt("house_id"),tile:getDataInt("x"),tile:getDataInt("y"),tile:getDataInt("z")} until not(hi:next()) hi:free() end if #player_depotitems > 0 then str = str .. "#DEPOT ITEMS#\nQuantidade - Jogador\n" for i = 1, table.maxn(player_depotitems) do str = str .. player_depotitems[i][2] .. ' ' .. getPlayerNameByGUID(player_depotitems[i][1]) ..' \n' end end if #players_items > 0 then str = str .. (str ~= "" and "--------------//-------------\n\n#PLAYER ITEMS#\nQuantidade - Jogador\n" or "#PLAYER ITEMS#\nQuantidade - Jogador\n") for i = 1, table.maxn(players_items) do str = str .. players_items[i][2] .. ' ' .. getPlayerNameByGUID(players_items[i][1]) ..' \n' end end if #tile_items > 0 then str = str .. (str ~= "" and "--------------//-------------\n\n#TILE ITEMS#\nHouse ID - Tile Position\n" or "#TILE ITEMS#\nHouse ID -Tile Position\n") for i = 1, table.maxn(tile_items) do str = str .. tile_items[i][1] .. ' - {x = ' .. tile_items[i][2] ..', y = ' .. tile_items[i][3] ..', z = ' .. tile_items[i][4] ..'} \n' end end return doShowTextDialog(cid,item_id, str) end  
    TAG
    <talkaction log="yes" words="!find;/find" access="5" event="script" value="finditem.lua"/>  
  9. Gostei
    acesso123 deu reputação a Caronte em (Resolvido)Amuleto com 1 charge- erro   
    o certo é Suporte de Scripts, lá é para postar conteúdo, como npcs prontos, e não dúvidas, para entrar lá, é preciso criar um tópico na seção de aprovação.
     
     
    O tópico foi movido para a área correta, preste mais atenção da próxima vez!
    Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

    Este tópico foi movido:
    De: "OTServ → Scripting → Geral"
    Para: "OTServ → Suporte OTServ → Suporte de Scripts"


     
     
    Primeiro, você quer o npc ou o loot com 5 ou 1 de recarga?
     
     
    se for 5 charges no npc, poste o xml do npc, e o lua.
     
     
     
    veja o exemplo aqui:
    shopModule:addBuyableItem({'blank rune'}, 2260, 10, 1, 'blank rune') o npc dará 1 só runa, só não tenho certeza se é aplicável nas charges...
  10. Gostei
    acesso123 deu reputação a Nightz em Instalando, usando e entendendo o Screen   
    Olá cidadãos do TibiaKing!
     
    Neste tutorial de hoje vou ensinar a instalar e utilizar o Screen. Mas antes disso, vou explicar o que é e para que serve.
     
    O Screen (ou GNU Screen) é é um software livre multiplexador de terminal de linha de comando desenvolvido pelo Projeto GNU. Permite que o usuário acesse múltiplas sessões separadas de terminal a partir de uma mesma janela ou mesmo remotamente. É muito útil para manipular vários programas em uma mesma janela ou mesmo para manter processos em execução de fundo. [Wikipedia]
     
    Ou seja, reusmidamente, o Screen é um software que permite você rodar várias áreas de trabalhos com vários processos executando.
     
    E porque preciso de utilizar isso no meu servidor de OTServer?
    Simples! Quando for abrir o servidor utilizando o comando ./theforgottenserver &, ao fechar o SSH, o servidor continua rorando, certo? Mas você não pode mais ver os logs que o executável gera em tempo real no linux. Porém.. se você abrir o servidor dentro de uma área de trabalho do Screen, isso é possível! Sem contar com várias outras vantagens como maior estabilidade e possibilidade de continuar trabalhando no SSH sem interromper o servidor ou ter que abrir outra janela!
     
    Bom.. agora que já expliquei sobre o Screen.. Vamos ao tutorial!
     
    1. Instalando o Screen:
     
    1.1. Abra o terminal SSH do seu servidor.
     
    1.2. Ao logar no servidor, rode o seguinte comando para instalar o Screen:
     
    -> Servidores Ubuntu/Debian:
    apt-get install screen -> Servidores CentOS:
    yum install screen 1.3. Pronto, Screen instalado! Simples, não?
     
     
    Agora vamos a utilização!
     
     
    2. Utilizando o Screen:
     
    2.1. Abra o terminal SSH do seu servidor.
     
    2.2. Para criar uma nova área de trabalho do Screen, utilize o comando:
    screen -S NomeDaScreen -> Por exemplo:
    screen -S rodarServidor 2.3. Assim que o comando acima for executado, voce já estará em uma nova área de trabalho. Caso queira deixar algo rodando nela em segundo plano, basta rodar o que for rodar normalmente e sair da Screen sem fechar a área de trabalho.
     
    -> Por exemplo:
    screen -S TFS nightz@servidor:~$ cd /home/otserv nightz@servidor:/home/otserv$ ./theforgottenserver & 2.4. Depois que o comando já estiver rodando, basta pressionar as teclas CONTROL, A e D (Ctrl  A + D). Ao "minimizar" a área de trabalho, o Screen vai exibir uma frase informando que "deu tudo certo".
     
    -> Por exemplo:
    screen -S tst nightz@servidor:~$ [detached from 13077.tst] 2.5. Para entrar novamente na Screen, basta utilizar o comando abaixo:
    screen -r -x NomeDaScreen -> Por exemplo:
    screen -r -x tst 2.6. Mas e se eu esquecer o nome da Screen? Calma.. Para listar todas as Screens em execução, utilize o seguinte comando:
    screen -ls -> Por exemplo:
    nightz@server:$ screen -ls There is a screen on:     13077.tst    (10-06-2014 08:55:37)    (Detached) 1 Socket in /var/run/screen/S-476175. nightz@server:$ * De azul, temos o nome das Screens (neste caso, da Screen) em execução.
     
    2.7. E para fechar uma Screen, ao em vez de minimizá-la, como faço? Simples! Utilize o comando abaixo após acessar a Screen que deseja fechar:
    exit Pronto!
     
    3. Correção de problemas:
     
    Aqui em baixo, vou postando soluções de possíveis problemas do Screen, a medida que forem sendo reportados. Até hoje, o único problema por qual já passei foi a pasta do Screen perder permissão, fazendo com que eu não consiga ver as Screens em aberto, mas esse problema só não permite que a mesma seja resumida, as Screens todas continuaram funcionando normalmente.
    + Problema: Directory '/var/run/screen' must have mode 777. + Solução: chmod 777 /var/run/screen. Façam bom proveito!
     
    (Esse tutorial foi completamente escrito por mim. Qualquer cópia deve ser previamente autorizada e conter os devidos créditos.)
  11. Gostei
    acesso123 recebeu reputação de Heenrique em Sem acesso shop admin   
    Boa tarde, estou sem acesso ao shop admin como mostra a imagem:



     
    Ja tentei colocar através do phpmyadmin, coloquei page_acess  3   em accounts e não funcionou.  Meu TFS é 1.0
     
    Para ter acesso ao shop admin no gesior 2012 apenas coloque em page_acess 999999              (6x o número 9).
    Como mostra na imagem a baixo:



     
     
    Resolvido.
  12. Gostei
    acesso123 deu reputação a Vampira em [Tutorial] Iniciantes em RME Map Editor   
    O foco deste tutorial é ensinar a funcionalidade básica dos ícones do Remere's Map Editor, por tanto pode ajudar bastante aos usuários novatos que não conhecem a interface do RME.



    Creditos: eu e peroxide.
  13. Gostei
    acesso123 deu reputação a Qwizer em [TFS 1.0] VIP SYSTEM baseado no do Mock's   
    VIP System Completo
     
    Vá´ate o arquivo global.lua e adicione no fim dele as funções do vip system
    -- Vip system lib function getPlayerAccount(cid) return getAccountNumberByPlayerName(getPlayerName(cid)) end function setVipTable() db.query("ALTER TABLE `accounts` ADD `vip_time` INT( 15 ) NOT NULL;") end function getPlayerVip(cid) local resultId = db.storeQuery("SELECT `id`, `vip_time` FROM `accounts` WHERE `id` = '".. getPlayerAccount(cid) .."';") if resultId ~= false then return result.getDataInt(resultId, "vip_time") else error('Account not found.') end end function getVipByAcc(acc) local a = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '"..acc.."';") if a ~= false then return result.getDataInt(a, "vip_time") else error('Account not found.') end end function setPlayerVip(cid,secs) -- seconds if isPlayer(cid) then db.query("UPDATE `accounts` SET `vip_time` = '"..(os.time()+secs).."' WHERE `id` ='".. getPlayerAccount(cid) .."' LIMIT 1 ;") else error('Player not found.') end end getVipByAccount = getVipByAcc function hasVip(cid) if isPlayer(cid) then if os.time(day) < getPlayerVip(cid) then return true else return false end else error('Player not found.') end end function accountHasVip(acc) if os.time() < getVipByAccount(acc) then return true else return false end end function setVipByAccount(acc,secs) -- seconds local a = getVipByAcc(acc) if a ~= false then if tonumber(secs) ~= nil then db.query("UPDATE `accounts` SET `vip_time` = '"..(os.time()+secs).."' WHERE `id` ='"..acc.."' LIMIT 1 ;") return true else error('Time must be defined as number.') end else error('Account not found.') end return false end function getPlayerVipTime(cid) if getPlayerVip(cid)-os.time() > 0 then return getPlayerVip(cid)-os.time() else return 0 end end function getAccountVipTime(acc) if getVipByAcc(acc)-os.time() > 0 then return getVipByAcc(acc)-os.time() else return 0 end end function addVipByAccount(acc,secs) -- seconds local a = getVipByAcc(acc) if a ~= false then if tonumber(secs) ~= nil then db.query("UPDATE `accounts` SET `vip_time` = '"..os.time()+(getAccountVipTime(acc)+secs).."' WHERE `id` ='"..acc.."' LIMIT 1 ;") return true else error('Time must be defined as number.') end else error('Account not found.') end return false end function doPlayerAddVip(cid,secs) -- seconds local a = getPlayerVip(cid) if a ~= false then if tonumber(secs) ~= nil then return setPlayerVip(cid,(getPlayerVipTime(cid) + secs)) else error('Time must be defined as number.') end else error('Player not found.') end end function returnVipString(cid) if isPlayer(cid) == true then return os.date("%d %B %Y %X", getPlayerVip(cid)) else error('Player not found.') end end function returnVipCountdown(num) local d = (tonumber(string.format("%.0f", os.date("%j",num))) - 1) local h = (tonumber(string.format("%.0f", os.date("%H",num))) - 1) local m = (tonumber(string.format("%.0f", os.date("%M",num)))) local s = (tonumber(string.format("%.0f", os.date("%S",num)))) local tvar, tnames, text = {d, h, m, s}, {"day", "hour", "minute", "second"}, "" local nvar, nnames = {}, {} for i = 1, #tvar do local s = "" table.insert(nvar, tvar) if tvar > 1 then s = "s" end table.insert(nnames, tnames..s) if i == 1 then if tvar > 0 then text = text..nvar.." "..nnames else text = text end else if tvar > 0 then if text == "" then text = nvar.." "..nnames else if tvar[i+1] ~= nil and tvar[i+1] > 0 then text = text..", "..nvar.." "..nnames else text = text.." and "..nvar.." "..nnames end end else text = text end end end if text == "" then return "no more vip time" else return text.." of vip time" end end -- end of vip system lib depois vai em talkactions/scripts e crie um arquivo vip.lua e adicionei: 
    function onSay(cid, words, param) vipsystem_info = { name = "Vipsystem for TFS 1.0 by Zbizu(inspired by Mock's creation)", author = "Zbizu", version = "1.0", } vip_config = { log_opearations = true, -- logs date, IP integer and player name to make sure explainations of its user are truth if something go wrong, ignores players commands log_file = "vip_log.txt" } local daycounter = (math.floor((getVipByAccount(getPlayerAccount(cid))-os.time())/86400, 0) + 1) if getPlayerAccess(cid) > 0 then adm_info = "\nYou have special access which allows you to manage players viptime.\n\nAvailable params: see, add, reset\nsee - views player's viptime\nadd - adds player's viptime\nreset - makes player's viptime expired immediately\n\nUsage: "..words.." \"param, playername, time, reason" else adm_info = "" adm_info = "" end if param == "" or getPlayerAccess(cid) == 0 then if (daycounter)*(-1) == 1 then s = "" else s = "s" end local ret_ = getPlayerVip(cid) if ret_ == 0 then doPlayerPopupFYI(cid,"You don't have any vip time."..adm_info) return false else if getPlayerVipTime(cid) == 0 then if (daycounter)*(-1) == 0 then doPlayerPopupFYI(cid, "You don't have any vip time.\nYour vip expired in " .. os.date("%d %B %Y %X ",ret_) .. "(today)."..adm_info) return false else doPlayerPopupFYI(cid, "You don't have any vip time.\nYour vip expired in " .. os.date("%d %B %Y %X ",ret_) .. "(" .. (daycounter)*(-1) .. " day".. s .." ago)."..adm_info) return false end else doPlayerPopupFYI(cid, "Your vip status ends in " .. os.date("%d %B %Y %X",ret_) .. ".\nYou have: " .. (daycounter) .. " days left."..adm_info) return false end end else if vip_config.log_opearations then file = io.open(vip_config.log_file, "a+") file:write(os.date("[%x %X]", os.time()).."[IP: "..getPlayerIp(cid).."]["..getPlayerName(cid).."]: ".. words .." \"".. param .."\n") file:close() end local t = string.split(param, ", ", 4) local actions = {["see"] = 1, ["add"] = 2, ["reset"] = 3} local gen = {[0] = "She", [1] = "He", [2] = "This user"} if actions[t[1]] == nil then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Incorrect action specified.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "To see usage manual type "..words.." without params.") return false else local pid = getPlayerByName(t[2]) reason_text = t[4] if reason_text ~= nil then if(t[5] ~= nil) then for j = 5, #t do reason_text = reason_text .. ", " .. t[j] end end else reason_text = "" end if reason_text == "" then vip_comment = "" else vip_comment = "Reason: "..reason_text end if pid then if actions[t[1]] == 1 then if getPlayerVip(pid) == 0 then doPlayerPopupFYI(cid, getPlayerName(pid).."'s account never had any vip time.") else doPlayerPopupFYI(cid, getPlayerName(pid).."'s vip time expiration date:\n" .. os.date("%d %B %Y %X",getPlayerVip(pid)) .. "\n".. gen[getPlayerSex(pid)] .. " has ".. (getPlayerVipTime(pid)) .. " left.") end return false elseif actions[t[1]] == 2 then if tonumber(t[3]) ~= nil then if tonumber(t[3]) == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPlayerName(pid).."'s vip time wasn't changed.") return false else if tonumber(t[3]) > 0 then vip_action = "added to" vip_formula = tonumber(t[3]) else vip_action = "removed from" vip_formula = tonumber(t[3]*(-1)) end if vip_config.log_opearations then file = io.open(vip_config.log_file, "a+") file:write(os.date("Player had "..(getPlayerVipTime(pid)).." left\n")) file:close() end doPlayerAddVip(pid,tonumber(t[3])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, (vip_formula).." "..vip_action.." "..getPlayerName(pid).."'s account.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, gen[getPlayerSex(pid)] .. " has ".. (getPlayerVipTime(pid)) .. " now.") if vip_comment ~= "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, vip_comment) end doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, (vip_formula).." "..vip_action.." your account.") doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, "You have ".. (getPlayerVipTime(pid)) .. " now.") if vip_comment ~= "" then doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, vip_comment) end return false end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Time must be a number.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "To see usage manual type "..words.." without params.") end return false elseif actions[t[1]] == 3 then if vip_config.log_opearations then file = io.open(vip_config.log_file, "a+") file:write(os.date("Player had "..(getPlayerVipTime(pid)).." left\n")) file:close() end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPlayerName(pid).."'s vip status removed. ".. gen[getPlayerSex(pid)] .. " had "..(getPlayerVipTime(pid)).." left.") if vip_comment ~= "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, vip_comment) end doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, "Your vip status has been removed.") if vip_comment ~= "" then doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, vip_comment) end setPlayerVip(pid,0) return false end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "To see usage manual type "..words.." without params.") return false end end end return true end Depois em talkactions.xml adicione as 2 linhas:
    <talkaction words="/vip" script="vip.lua"/> <talkaction words="!vip" script="vip.lua"/> para add vip ai player e so usar o comando: 
    /vip "add, player NOME, 86400 86400 = 1 day em segundo vamos fazer o vip scroll, vai em actions/scripts e crie um arquivo vip.lua e adicione:
    function onUse(cid, item) if hasVip(cid) == false then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Agora voce e um player VIP.") doPlayerAddVip(cid, 2592000) -- 30 dias tempo em segudos. doRemoveItem(item.uid, 1) else  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Voce ja e VIP so poderá renovar daqui 30 dias.") end return TRUE end depois em actions.xml adicione a linha
    <action itemid="16101" script="vip.lua"/> vamos fazer o aviso ao logar, vai em creaturescripts/scripts e crie um arquivo vip.lua e adicione:
    function onLogin(cid) local player = Player(cid) if hasVip(cid) == true then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você tem 50% de exp a mais agora!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Tornesse vip e ganhe 50% a mais de experiencia!") end return true end depois em creaturescripts.xml adicione a linha:
    <event type="login" name="vipstatus" script="vip.lua"/> vamos fazer o piso vip, vai em movements/scripts e crie um arquivo vip.lua e adicione: function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você não e vip ,Compre =D.", msgWelcome = "Seja Bem Vindo a Area vip." } if hasVip(cid) == false 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 depois em movements.xml adicione a linha:
    <movevent event="StepIn" uniqueid="13500" script="vip.lua"/> agora vamos por extra exp vip para vip
     
    Crie um arquivo com o nome extraexp.lua em creaturescripts/scripts e coloque isso dentro: local rate = 50 --- porcentagem que irá ganhar a mais.   function onKill(cid, target, lastHit)   if hasVip(cid) == true then local monster = Monster(target) if not monster then return true end   for id, damage in pairs(monster:getDamageMap()) do local player = Player(id) if player then   local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience()  local expFormula = (((experience * Game.getExperienceStage(player:getLevel())) / 100) * rate) player:addExperience(math.floor(expFormula), true) end end end   return true end Em creaturescripts.xml adcione a tag:
    <event type="kill" name="Exp_Extra" event="script" value="extraexp.lua"/> E por fim add o evento no creaturescripts/scripts/login.lua:
    player:registerEvent("Exp_Extra") e não se esqueça de executa o comando no mysql pra criar a tabela vip_time:
    ALTER TABLE `accounts` ADD `vip_time` INT( 15 ) NOT NULL; Acho que e só isso qualquer duvidas só postar:
     
    Creditos: A min (por corrigir algumas coisas), Imkingran (pelo adptação) e luanluciano93 (pelo extra exp)
  14. Gostei
    acesso123 deu reputação a Bruno Minervino em [TFS 1.x] Vip System by Account   
    Este é o sistema de Vip Account do Mock, convertido ao TFS 1.1 e TFS 1.2, utilizando a nova funcionalidade de concatenação.

    Vip System:




    Piso Vip:




    Talkaction para Add Vip:




    Créditos:
    Bruno Minervino
    Mock
  15. Gostei
    acesso123 deu reputação a Qwizer em VIP SYSTEM (TFS 1.0 e 0.4) Funcional.   
    Na falta de coisa melhor fiz essa gambiarra que poderá ajudar muita gente
     
     
    Crie em actions/script/other um arquivo vip.lua function onUse(cid, item)               if getPlayerStorageValue(cid, 55489) - os.time() < 0 then               doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Agora voce e um player VIP.")               setPlayerStorageValue(cid, 55489, os.time() + (30*24*60*60))                doRemoveItem(item.uid, 1)           else              doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Voce ja e VIP so poderá renovar daqui 30 dias.")           end return TRUE end Nessa´parte 30*24*60*60 onde esta 30 coloca os dias que quer adicionar
    em actions.xml adicione <action itemid="16101" script="other/vip.lua"/> e pronto um sistema vip funcional, na falta de outra opção.
     
    Piso para passar somente que for VIP
    Crie em data/movements/scripts  um arquivo entradavip.lua
    function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você não e vip ,Compre =D.", msgWelcome = "Seja Bem Vindo a Area vip." } if getPlayerStorageValue(cid, 55489) - 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 TAG 0.4
    <movevent type="StepIn" uniqueid="13500" event="script" value="entradavip.lua"/> TAG 1.0
    <movevent event="StepIn" uniqueid="13500" script="entradavip.lua"/>
  16. Gostei
    acesso123 deu reputação a gpedro em [VIDEO]Instalando Gesior em Hospedagem   
    Instalando GesiorAAC em Hospedagem

    Por questão de qualidade de imagem eu não postei no YouTUBE, mas criei um link na minha hospedagem para visualizarem o video.

    http://gpedro.net/otserv/gesiorhosp/

    Resultado do Tutorial:
    LIVE DEMO: http://gpedro.net/xito/
  17. Gostei
    acesso123 deu reputação a luanluciano93 em [TFS 1.x] Gaz'Haragoth (Heal + Magia + Teleport)   
    <script> <event name="HealGaz" /> </script>
  18. Gostei
    1.  Entra no dedicado, baixa seu OTserv nele.
    2.  Baixa o no-ip e coloca o ip no config.lua e pronto!
     
    Se caso a dúvida for como se conectar no dedicado ou VPS leia este tutorial!
  19. Gostei
    acesso123 deu reputação a Thiago Rulexz em Dúvidas como substituir sprites de monstros   
    Bom quanto ao programa não sei
    Mais para trocar a sprite basta trocar no tibia.spr
    Para criar uma nova voce precisa do item otb
    para trocar somente troque no .spr
  20. Gostei
    acesso123 deu reputação a MaTTch em (Resolvido)Limpa todas as Houses   
    DELETE FROM `tile_items`; Executa esse comando na sua database com o server offline.
  21. Gostei
    acesso123 deu reputação a luanluciano93 em [TFS 1.x] Gaz'Haragoth (Heal + Magia + Teleport)   
    Eai pessoal, criei esse tópico para postar o script do heal e do teleport do Gaz, em breve complemento com a magia (avisa e depois solta uma magia que da hs em qualquer um).


         HEAL - Se o life dele chega a 50k, ele solta um aviso, e depois de 5 segundos heala 300k.

    Crie um arquivo em creaturescripts/scripts/ com o nome heal_gaz.lua e coloque esse código: 
    -- <event type="healthchange" name="HealGaz" script="heal_gaz.lua"/> local config = { life_ative = 50000, life_add = 300000, seconds_ative = 5, gStorage = 90702, } local function Uheal(cid) local gaz = Monster(cid) gaz:addHealth(config.life_add) gaz:say("Gaz'haragoth HEALS himself!", TALKTYPE_MONSTER_SAY) gaz:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Game.setStorageValue(config.gStorage, 0) end function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if attacker then if creature:getHealth() < config.life_ative and Game.getStorageValue(config.gStorage) < 1 then creature:say("Gaz'haragoth beginns to draw on the nightmares to HEAL himself!", TALKTYPE_MONSTER_SAY) addEvent(Uheal, 1000 * config.seconds_ative, creature.uid) Game.setStorageValue(config.gStorage, 1) end end return primaryDamage, primaryType, secondaryDamage, secondaryType end  A tag que deve add ao creaturescript.xml esta como comentário no script, é só add.

    Depois para funcionar no Gaz, vá até o xml dele em monster e coloque em seu código: 
    <script> <event name="HealGaz" /> </script>       TELEPORT - Quem passa em cima do corpo dos summons do boss é teleportado para perto dele.

    Crie um arquivo em movements/scripts/ com o nome tp_gaz.lua e coloque esse código: 
    -- <movevent event="StepIn" itemid="22455" script="teleport_gaz.lua"/> function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end local monster = Creature("Gaz'Haragoth") if monster then player:teleportTo(monster:getPosition()) else player:teleportTo(fromPosition) end return true end A tag que deve add ao movements.xml esta como comentário no script, é só add.


    Em breve a ultima atualização.
  22. Gostei
    acesso123 deu reputação a joadson em [Pedido]Duvidas Sobre Gesior   
    Como adicionar fotos no latest news?

    Usando as tags HTML <img ="link da imagem">Descrição</img> Como adicionar foto em uma pagina do Site? Por exemplo uma foto de um logo de um banco para as doações.

    Mesma coisa do processo acima, dúvidas dê uma estuda em HTML Como tirar os bugs das letras ? Por exemplo quando vou colocar alguma coisa que tenha por exemplo ç ã é ó , acentos e cedilhas dá um erro parecendo um ponto de interrogação dentro de um quadradinho

    Simples, abra qualquer arquivo que esteja com esse problema e antes do <?php, colque esse codigo <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> Como fazer a letra ficar maior em um post? Por exemplo numa pagina ter um titulo e o texto , ou algo destacado .

    Usando as tags HTML, <h1>(texto grande), <h2>(texto medio>, <h3>, <h4> e <h5>. e o das imagens no shop, tem que ser o ID que estiver na database, exemplo, adicionei uma PLegs, ela ficou como ID 5 na database, irei colocar 5 na imagem.
     
    Espero ter sanado todas suas dúvidas.
  23. Gostei
    acesso123 deu reputação a Gustavo Ferreira em Dúvida: Como colocar uma imagem no gesior ?   
    Codigo:
     
    <img src="images/imagem.jpg">
     
    no destaque verde você poe o caminho da sua imagem ou Link..
  24. Gostei
    acesso123 deu reputação a leonardobo em Adicionar itens.   
    Um vamos ver:
     
    Primeiramente baixe isso:
     
    https://www.mediafire.com/?7mqta5oafraqo6e
     
    Depois extraia abra a pasta descompilada e jogue seu Tibia.dat e Tibia.spr dentro da pasta do OTItemEditor 854.
     
     
    Feito isso abra o otitemeditor.exe vá em data/items abra o arquivo items.otb abrira todas sprite de itens do seu server.
     
    Clique no +Other vai abrir milhares de sprites, você desce na ultima no caso a minha é 11389 a sua pode ser diferente, clique em tools la encima depois em Add Item.
     
    Feito isso voltara no inicio clique no +Other novamente, vá até no final note que criou um novo item para ser editado no caso o meu era 11389 criou o 11390 e esta todo em branco.
     
    Vai aparecer uma janela você clique em cid e digita o ItemType da sua sprite no caso a minha é 10482 depois marque a caixinha Pickupable (Somente ela pois se marcar outra coisa sem saber pode bugar seu item) vá em File depois em Save as e salva o seu item.otb encima do outro.
     
    Pronto seu item ta criado ops mais espera ai, ainda falta a parte escrita
     
    Abra a pasta data/items abre o arquivo items.xml
     
    Feito isso Copie esse código e cola ai no seu items.xml
      <item id="11390" article="a" name="Goku Armor"> <attribute key="description" value="Health/Mana Increase 5k" /> <attribute key="weight" value="3500" /> <attribute key="armor" value="20" /> <attribute key="manaGain" value="5000" /> <attribute key="healthGain" value="5000" /> <attribute key="showattributes" value="1" /> <attribute key="slotType" value="body" /> </item> SlotTypes meio traduzidos
    head = CAPACETE necklace = LOCAL AONDE COLOCA AOL backpack = MOCHILA armor - LOCAL AONDE FICA A ARMADURA right-hand = MÃO DIREITA left-hand = MÃO ESQUERDA two-handed, = ARMA DE DUAS MÃOS hand/shield = MÃO / ESCUDO legs = CALÇA feet = BOTA ring = REGIÃO AONDE COLOCA RING ammo = MUNIÇÃO Explicações:
    ItemID = Item do ID Criado no OTItemEditor Name = Nome do item desejado Description = Descrição do item Weigth = Peso do item Armor = Arm do item ManaGain = Quantidade de Mana Aumentada do Personagem HealthGain = Quantidade de Vida Aumentada do Personagem ShowAttributes = 1 Mostrar Atributos do item [Magic Level, Skills e outros atributos como absorb] SlotType = Local que o item vai ficar
  25. Gostei
    acesso123 deu reputação a psychonaut em Como mudar nome na aba do navegador?   
    <title><?PHP echo $title?> Test </title>
    Mude para:
    <title>O nome que quiser </title>

Informação Importante

Confirmação de Termo