
Gustavo Castro
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
Gustavo Castro deu reputação a Yan Liima em [Lua & C++] getOtsysTime() + getPlayerPing(cid) + doPlayerSendPing(cid)#Introdução
Bom hoje estarei trazendo aqui o sistema de Ping feito pelo Mock, com uma pequena adaptação feita por mim para funcionar em TFS 0.4(talvez podendo funcionar em outras)
Pois o que ele disponibilizou foi apenas para TFS 0.3.6 e nem foi muito utilizado pela comunidade. Muitos servidores daqui para download tem script no talk mas a lib está totalmente errada e não tem o code nas sources.
Esse sistema tem varias utilizades, podendo usar o comando !ping para verificar seu ms ou até mesmo por para kikar jogadores com ms muito alto...
Se você não sabe o cliente já tem um sistema de ping, e getOtsystime é como os.time () + os.clock (), você tem ano, mês, dia, hora, minutos, segundos, milisegundos...
Enfim chega de enrolação e vamos lá!
Code para TFS 0.4 e OTX:
Code para TFS 0.3.6
LIB:
Prontinho, agora seu servidor está pronto para utilizar as funções de Ping. Seja criativo!
Ahh você é daqueles que quer tudo na mão né? Aqui vai um talkactions para ver o ping.
Em talkactions/scripts crie um arquivo chamado playerping.lua, cole isto dentro:
-- Script by Yan Liima(Night for tibiaking.com) function onSay(cid, words, param, channel) local ms = ping.CheckPing(cid) doPlayerSendTextMessage(cid,22,"Ping aproximado --> ["..ms.."].") return true end Em talkactions.xml
<talkaction words="!ping" event="script" value="playerping.lua"/>
-
Gustavo Castro deu reputação a Yan Liima em Limite de players em guild websiteLimite máximo de players em guild WEBSITE ?
Bom, decidi postar essa modificação que fiz a muito tempo, pois vi que bastante gente queria
Para Modern AAC e vi que ninguém soube ajudar. Como é algo bem simples e ta parado aqui faz tempo
Decidi disponibilizar. Não só para Modern, mas para Gesior também!
Estarei disponibilizando de duas maneiras:
1º Será um valor configurado no proprio config.php, onde determinará o limite máximo de todas as guild.
2º A verificação será feita por DB, onde terá um valor padrão para cada guilda criada, podendo ser alterado o valor de membros maximo.
Ou seja, a guilda número UM pode ter máximo de 50 players, e a guilda número DOIS pode ter o máximo de 100.
Vocês pode ser criativos e vender items que aumenta o limite ou fazer eventos/sorteios para aumentar...
Enfim, vamos lá...
Primeira maneira:
Modern AAC:
Gesior:
Segunda maneira:
Modern AAC:
Gesior:
Prontinho galera!!!
Caso queiram para cmd in-game: LINK
-
Gustavo Castro deu reputação a Yan Liima em Limite de players em guild in-gameLimite máximo de players em guild in-game ?
Bom galera estou postando esse conteúdo como complemento do limite em WEBSITE
Ao utilizar !joinguild esse code verifica se a guilda já atingiu o limite máximo de membros(configurado)
Eu estarei disponibilizando de duas maneiras:
1º Será um valor configurado no proprio config.lua, onde determinará o limite máximo de todas as guild.(já incluido na 0.4 rev3996)
2º A verificação será feita por DB, onde terá um valor padrão para cada guilda criada, podendo ser alterado o valor de membros maximo.
Ou seja, a guilda número UM pode ter máximo de 50 players, e a guilda número DOIS pode ter o máximo de 100.
Vocês pode ser criativos e vender items que aumenta o limite ou fazer eventos/sorteios para aumentar...
Enfim, vamos lá...
Primeira maneira:
Segunda maneira:
Prontinho galera, espero que ajude algumas pessoas xD
-
Gustavo Castro deu reputação a Yan Liima em Guild.phpAcho que antes de fazer tal acusação é importante se informar direito. Se está com medo de executar algo, basta apenas procurar o significado na internet. Nunca vi o @Toruke o @Endlessquerer prejudicar alguém aqui no fórum, pelo menos até onde eu sei(não abertamente)... E comandos assim são comuns no Sistema Operacional do Linux, sempre será necessario dar tal permissão. Basta apenas saber usar com cuidado.
"Ahh mais no meu Windows, no xampp funcionava normal". São sistemas totalmente diferente.
E antes que diga mais alguma coisa:
-
Gustavo Castro recebeu reputação de Mecianosz em [AJUDA] Delay no dashcara utilizo a rev do yan. aq roda liso
talvez tu tenha q alterar algo no config ou talvez seja sua maquina
-
Gustavo Castro deu reputação a Yan Liima em [8.60] TFS 0.4 Rev3996 War & CastSalve salve pessoal, no inicio desse ano estava dando uma estudada e mexendo com a TFS 0.4 rev3884, e vi que havia alguns bugs e que não tinha Cast incluso. Com base nisso decidi atualizar e otimizar a source, já que ainda ela é uma das mais utilizadas no mundo de Otserv. Decidi compartilhar esse meu trabalho com vocês! Acredito que possa ser uma das melhores REV atualmente.
Conto com o seu feedback, caso haja algum bug, algo que tenha que mudar/optimizar, não exite em avisar aqui no tópico. Toda ajuda será bem vinda xD
The Forgotten Server, Tibia Versão: 8.60
O que contém nela?
Dentro da pasta contém o config.lua com todas as tag já adicionadas.
Não esquecam de executar a Query do Cast na sua DB:
Downloads uint8(Effects até 255)
Distro: TheForgottenServer.exe
Src + datapack: Source & Data
Recentes atualizações: GitHub
Downloads uint8 sem o CAST incluso
Distro: TheForgottenServer.exe
Src + datapack: Source & Data
-------------------------------------------------------
Downloads uint16(Effects até 65534)
Distro: TheForgottenServer.exe
Src + datapack: Source & Data
É necessário fazer a modificação do Hexadecimal no cliente. Aqui tem um já pronto: Cliente.exe(com mc) ou Cliente.exe(sem mc) (só será necessario se utilizar a src com o uint 16.)
Lembrado também que precisa utilizar a lib 000-constant.lua deste datapack.
-------------------------------------------------------
Scans:
Distro(uint8) & Distro(uint16)
Source
Cliente
Obs: Os virus detectado é um falso positivo, então não se preocupem!
A distro foi testada em Windows e em Linux Ubuntu 12.04, 14.04, em
ambos funcionaram muito bem!
É compatível com 16 também e o 18.04 é necessário fazer uma alteração que é possível encontrar no post desse tópico.
É possível compilar em Dev Cpp e Visual-Studio.
E para quem se interessa em saber onde se localiza os code do Cast, aqui está uma imagem. Você pode achar procurando por "//CAST"
Façam um ótimo aproveito ?
-
Gustavo Castro deu reputação a L3K0T em Vip/Premium Accounts DiferenciadoOlá galera, hoje resolvi trazer um sistema de Vip Account diferenciado dos comuns, tá espera ai!!! Diferenciado? isso mesmo! O sistema funciona da seguinte forma, você tem lá 2 characteres criados na sua conta e sem vip, certo? então esse sistema só pega em um personagem da sua conta, sendo assim toda sua conta fica vip, mesmo entrando no outro charactere. Esse modo foi feito para LOGIN, sei que existe itens, mais essa é uma outra forma e espero que gostem.
VIP LOGIN FOR 1 PRO PLAYER
Instalando: vai em data\creaturescripts abra a pasta \scripts copia um arquivo.lua e renomeia para "vipleko" sem aspas e adicione dentro.
function onLogin(cid) --Script by L3K0T local leko = { itemqt = 1, --quantidade de item que vai ser usado vipganhos = 7, -- Quantidade de vip ganhos na conta. verificarvip = 0, -- verificação no banco de dados. msg = "Você ganhou 2 dias de vip.", --menssagem que o player recebe dentro do jogo. msgfail = "Falhou", --apenas pra testar o sistema, para desativar é só por -- do lado aonde marquei com A. ver = 1, --database position = getCreaturePosition(cid), --verificar player na posisao def = 1, --numero do efeito que vai começar atef = 41, --numero do efeito até aonde pode chegar } if getPlayerVipLeko(cid) == leko.verificarvip then doPlayerAddPremiumDays(cid, leko.vipganhos) doPlayerAddVipLeko(cid, leko.ver) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, leko.msg) doRemoveItem(item.uid, leko.itemqt) for i = 1, 175 do doSendDistanceShoot(leko.position, {x = leko.position.x + math.random(-7,7), y = leko.position.y + math.random(-5,5), z = leko.position.z}, math.random(leko.def,leko.atef)) end end if getPlayerVipLeko(cid) == leko.ver then --A doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, leko.msgfail) --A end --A return true end --Funções banco de dados by L3K0T function getPlayerVipLeko(cid) local Verh = db.getResult("SELECT `verificar` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. "") if Verh:getID() ~= LUA_ERROR then local VerP= Verh:getDataInt("verificar") Verh:free() return VerP end return LUA_ERROR end function doPlayerAddVipLeko(cid, ver) local verih = getPlayerVipLeko(cid) + ver if verih >= 0 then db.query("UPDATE `accounts` SET `verificar` = `verificar` + " .. ver .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") return TRUE end return FALSE end function doPlayerRemoveVipLeko(cid, ver) local veriih = getPlayerVipLeko(cid) - ver if veriih >= 0 then db.query("UPDATE `accounts` SET `verificar` = `verificar` - " .. ver .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") return TRUE end return FALSE end
Agora volte a pasta scripts e abra o creaturescripts.xml e coloca essa tag lá dentro,
<event type="login" name="LekoVipLogin" event="script" value="vipleko.lua"/>
vá no seu banco de dados mysql e importe essa tabela.
ALTER TABLE `accounts` ADD `verificar` INT NOT NULL DEFAULT 0 feito isso ligue seu servidor e já pode brincar com o sistema CRÉDITOS: @L3K0T AUTOR. @Mutilok Pela ideia na melhoria.
Dúvidas para importar o mysql? vídeo abaixo.
2020-05-13_15-32-40.mp4 -
Gustavo Castro deu reputação a Yan Liima em Aumentando limite doShowTextDialogSalve meus queridos, tudo bom? Hoje decidi trazer uma pequena alteração na source. Vi que muita galera tem problemas com o limite do caracter da função doShowTextDialog, pois se excender o limite maximo de caractere da debug no client.
Isso ocorre principalmente pra galera do derivado que costuma utilizar !spells/!tecnicas/!jutsu para checar os ataques disponiveis que existe pra tal personagem.
Se você é GOD, você consegue visualizar todas as spells do servidor , e se no servidor existir muitas, irá causar debug.
Diferente do doPlayerPopupFYI, não há uma proteção de limite para TextDialog...
Primeiramente, como que eu descobri?
Seguinte, eu coloquei o máximo de spells possiveis, ou seja, o máximo de caracteres possiveis na caixinha de texto.
Quando eu vi que começou dar debug no cliente, eu retirei alguns caracteres e fui testando.
Até que consigui achar o valor máximo!
Eu copiei tudo que estava na janela, e em um site online colei todo o conteúdo de lá para saber quantos caracteres existiam ali.
E esse foi o resultado:
8192, descobrimos o máximo de caracteres no doShowTextDialog.
Após descobrir este valor, eu procurei nas sources e achei!
ENTÃO VAMOOOS LÁ!
TFS
OTX
Prontinho! Simples, não? haha