Aprenda a utilizar 'Metamethods' em TFS 0.4
-
Quem Está Navegando 0 membros estão online
-
Conteúdo Similar
-
Por Thony D. Serv
tfs 0.4 (não testei em outras apenas na 0.4)
Esse script eu fiz pois, meu servidor sempre que reiniciava todos os players voltavam sem bless, então para sanar isso eu fiz um check de bless pela database para poder sempre que cair o servidor os players não morressem sem bless e dropassem os itens
vamos lá!
Primeiro Execute Este Comando Em Sua Db:
Va No Fim E Adicione
050-function.lua
Agora vá no seu comando de Bless ou Npc e ponha cada um no seu devido lugar
Agora Em Creaturescript/scripts Crie Uma Pasta Chamada Bless E Ponha La Dentro:
blessingdeath.lua
blessinglogin.lua
Adicione Ambas No Login.lua
Creaturescript.xml
-- Creditos A Mim Mesmo hahaha. Espero Ajudar Vocês ?
-
Por Imperius
Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante.
Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor.
Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente.
segue abaixo como configurar em seu otserver:
data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo:
function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end
em talkactions.xml cole a tag abaixo:
<!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/>
e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
-
Por Fir3element
Reporte qualquer bug encontrado.
- Mudanças:
* opcode adicionado
* Monstros andando em cima de corpos
* War system arrumado
* Anti-divulgação melhorado
* Cast system arrumado
* Crash bugs arrumados
* Adicionado exhaust ao comprar/vender items
* Account manager com opção para cidades
* /ghost stacking arrumado
* !disband arrumado
* Erros no linux arrumado
* Aleta som arrumado
* Bug nos rings arrumado
* Adicionado suporte para Visual Studio
* Remover battle ao entrar em PZ
* Não pode jogar lixo em casas
* Salt removido
- Downloads:
* Distro (x32): https://github.com/Fir3element/binaries/raw/master/x32-windows.zip
* Distro (x64): https://github.com/Fir3element/binaries/raw/master/x64-windows.zip
* Requisitos: Microsoft Visual C++ Redistributable Package
* Source + datapack: https://github.com/Fir3element/3777/archive/refs/heads/main.zip
- Scans:
* Distro (x32): https://virustotal.com/pt/file/6683a91273b848a39ac21288da9d3abde341436744d6846e35a477c8e7c8f5f7/analysis/1480675335/
* Distro (x64): https://virustotal.com/pt/file/21028857bb1124f19e0353e7f5775c8f66afc4f87f29df9cf4ab8ca1a046b816/analysis/1480675394/
* Source + datapack: https://virustotal.com/pt/file/3761b48ee19f3f540d4c4a48c35c73c89a85615876307073494b1dcfed464d36/analysis/1480675473/
-
Por Lyu
Introdução :
Muta um jogador no canal HELP por meio de um comando.
game.cpp
Procure por Game::playerSay, abaixo de player->setIdleTime(0) adicione :
if (channelId == CHANNEL_HELP) { std::string helpmute = "0"; player->getStorage("455010", helpmute); time_t now = time(NULL); time_t seconds = atoi(helpmute.c_str()) - now; if (seconds > 0) { std::stringstream sec; sec << "You are muted for " << seconds << " seconds on this channel."; player->sendTextMessage(MSG_STATUS_SMALL, sec.str()); return false; } }
data/talkactions/scripts/helpmute.lua :
function onSay(cid, words, param) if param == '' then return doPlayerSendCancel(cid, 'Informe o nome do jogador e o tempo em segundos.') end local default = 600 local tmp = string.explode(param, ',') if not isCreature(getCreatureByName(tmp[1])) then return doPlayerSendCancel(cid, 'Jogador inexistente ou off-line.') end setPlayerStorageValue(getCreatureByName(tmp[1]), 455010, os.time() + (tonumber(tmp[2]) or default)) doPlayerSendCancel(cid, 'O jogador ' .. tmp[1] .. ' foi mutado.') return true end
data/talkactions/talkactions.xml :
<talkaction log="yes" group="4" access="3" words="/helpmute" event="script" value="helpmute.lua"/>
Como utilizar?
Para impedir um jogador de falar no Channel Help, utilize o comando /helpmute Playername, segundos. Para resetar os segundos, utilize o mesmo comando só que em segundos, coloque 0. Comando disponível apenas para a acessos superiores, configuração disponível no XML talkactions.xml.
Versão do TFS: 0.4
Créditos: Lyu
-
Por Sphynx1
Olá comunidade.
Eu criei um script a madrugada passada para tentar ajudar um amigo que usa 'OTX' porém dá um erro bizarro no 'lib/compat.lua' e a função 'doAddPlayerOutfit' retorna valor 'NIL'. Eu não sei como resolver, mas está funcionando perfeitamente no 'TFS 0.4'. Espero que alguém em algum lugar do tempoespaço possa se beneficiar desse script já que os que encontrei estão todos muito feios e confusos.
1. Acesse a pasta 'data/talkactions/scripts' e crie um novo 'arquivo.lua' chamado 'addonpresent.lua', dentro adicione o conteúdo abaixo.
function onSay(cid, words, param, channel) local maleOutfits = {["citizen"] = {128}, ["mage"] = {130}, ["knight"] = {131}, ["nobleman"] = {132}, ["summoner"] = {133}, ["warrior"] = {134} } local femaleOutfits = {["citizen"] = {136}, ["mage"] = {138}, ["knight"] = {139}, ["nobleman"] = {140}, ["summoner"] = {141}, ["warrior"] = {142} } local mensagens = {"Você recebeu o seu addon e consumiu o item bônus para isto.", "Verifique o que você digitou e tente novamente, parametros inválidos.", "Você não possui o item necessário para receber um addon.", "Certifique-se que você digitou o nome do addon corretamente e tente mais uma vez."} local efeitinga = {[1] = {name = CONST_ME_POFF}, [2] = {name = CONST_ME_CAKE}, [3] = {name = CONST_ME_HEARTS}, [4] = {name = CONST_ME_GIFT_WRAPS} -- efeitos que seram exibidos } local param = string.lower(param) if not isPremium(cid) then doCreatureSay(cid, "Você não possui Premium Account, portanto não poderá utilizar o item de addon.", TALKTYPE_ORANGE_1) -- MSG que será exibida p/ o nao premium return true end if getPlayerItemCount(cid, 6497) > 0 then -- 6497 é o ID do item que será usado por você, se for maior que 0 a quanidade na sua bag então if param ~= "" and maleOutfits[param] and femaleOutfits[param] then doPlayerRemoveItem(cid, 6497, 1) -- o item 6497 será consumido doCreatureSay(cid, mensagens[1], TALKTYPE_ORANGE_1) for k, v in pairs(efeitinga) do doSendMagicEffect(getCreaturePosition(cid), v.name) end if getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) elseif getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doCreatureSay(cid, mensagens[2], TALKTYPE_ORANGE_1) end else doCreatureSay(cid, mensagens[3], TALKTYPE_ORANGE_1) end return true end
2. Regresse até 'data/talkactions' e abra o arquivo 'talkactions.xml', dentro adicione o conteúdo abaixo.
<talkaction words="!addon" event="script" value="addonpresent.lua"/>
-
Posts Recomendados
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.