
Histórico de Curtidas
-
vankk recebeu reputação de Rodrigo94 em Script de recuperar stamina em zona protegidaEu fiz esse script rápido em C++ para regenerar Stamina X de stamina no PZ a cada X segundos.
https://gist.github.com/vankk/ebd1377d52b3b92028ecad632e949d0c
Só você adicionar no config.lua
staminaRegenPz = true staminaSecondsToRegen = 30 gainStaminaRegerationPz = 1 Vai recuperar 1 minuto de stamina a cada 30 segundos. Caso você deseja desativar o script basta mudar de true para false.
-
vankk recebeu reputação de Thensus Warrior em [TFS 1.x] antiTheft para casasQuem não está invitado na casa não pode jogar lixo na casa, ou pessoas que são "convidadas" não podem mexer nos items da casa.
Vai em events/events.xml e ative o onMoveItem, trocando de 0 para 1. eg:
<event class="Player" method="onMoveItem" enabled="1" />
Então vai em events/scripts/player.lua copia isso o code abaixo em baixo da funcão: function Player:onMoveItem(item, count, fromPosition, toPosition)
local antiTrash = true local antiTheft = true if antiTrash then local tile = Tile(toPosition) if tile and tile:hasFlag(TILESTATE_HOUSE) then local house = tile:getHouse() if house then local accessList = House.getAccessList local playerName = self:getName():lower() if house ~= self:getHouse() and (playerName ~= accessList(house, GUEST_LIST):lower() or playerName ~= accessList(house, SUBOWNER_LIST):lower()) then self:sendTextMessage(MESSAGE_STATUS_SMALL, "You cannot throw items into players houses, which you are not invited to.") return false end end end end if antiTheft then local tile = Tile(fromPosition) if tile and tile:hasFlag(TILESTATE_HOUSE) then local house = tile:getHouse() if house then if house ~= self:getHouse() and self:getName():lower() ~= house:getAccessList(SUBOWNER_LIST):lower() then self:sendTextMessage(MESSAGE_STATUS_SMALL, "You cannot move items from house, which you are only guest to.") return false end end end end Voce configura o script na linha 1 e 2 do code acima.
Créditos: Printer.
-
vankk recebeu reputação de Rogex Joyz em [Ajuda] - Item que muda o outfit mas as cores nao vem junto.Muda a linha doSetCreatureOutfit(cid, {lookType = look}, -1) para doSetCreatureOutfit(cid, {lookType = look, lookHead = math.random(132), lookBody = math.random(132), lookLegs = math.random(132), lookFeet = math.random(132)}).
Vai ser o oufit que voce escolheu, com cores random.
-
vankk recebeu reputação de Cat em Nolis Show OffExcelente trabalho! Parabéns.
-
vankk deu reputação a Movie em [TFS 1.X] Online Bonus SystemOlá a todos, e estou de volta pra postar alguns conteúdos...
Fui atrás de um online bonus system para tfs 1.3 e não achei e portanto decidi fazer o meu, com a ajuda do @vankk.
================================================================================================================
Testado em TFS 1.3 na versão 8.60.
================================================================================================================
================================================================================================================
No seu banco de dados, execute a seguinte query
ALTER TABLE `players` ADD `online_time` int(11) NOT NULL DEFAULT 0 ================================================================================================================
O próximo passo é apenas para quem gostaria de que, a cada server save, o número seja zerado!
================================================================================================================
Em globalevents/scripts/startup.lua, após o inicio da função onStartup() adicione o seguinte código
db.query("UPDATE `players` SET `online_time` = 0") ================================================================================================================
Agora crie um arquivo chamado onlinebonus.lua em creaturescripts/scripts com isso dentro
local event = {} local function addOnlineToken(playerId) local player = Player(playerId) if not player then return false end if player:getIp() == 0 then event[player:getId()] = nil return false end player:addOnlineTime(1) player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você ganhou 1 online token por permanecer online por 1 hora sem deslogar.") player:addItem(12543, 1) event[player:getId()] = addEvent(addOnlineToken, 60 * 60 * 1000, player:getId()) end function onLogin(player) player:registerEvent("OnlineBonus") player:registerEvent("OnlineBonusLogout") if event[player:getId()] == nil then event[player:getId()] = addEvent(addOnlineToken, 60 * 60 * 1000, player:getId()) end return true end function onLogout(player) if event[player:getId()] then event[player:getId()] = nil end return true end -- <event type="login" name="OnlineBonus" script="onlineBonus.lua" /> -- <event type="logout" name="OnlineBonusLogout" script="onlineBonus.lua" /> A tag XML está no fim desse código.
================================================================================================================
Agora, na pasta lib, crie um arquivo chamado onlineTime.lua e coloque isso dentro
function Player.getOnlineTime(self) local resultId = db.storeQuery(string.format('SELECT online_time FROM `players` WHERE `id` = %d', self:getGuid())) if not resultId then return 0 end local value = result.getNumber(resultId, "online_time") result.free(resultId) return value end function Player.addOnlineTime(self, amount) db.query(string.format("UPDATE `players` SET `online_time` = `online_time` + %d WHERE `id` = %d", amount, self:getGuid())) end Não esqueça de registrar essa lib no lib.lua.
================================================================================================================
Agora, na pasta talkactions/scripts, crie um arquivo chamado onlinebonus.lua com o seguinte código dentro:
function onSay(player, words, param) local skill = player:getOnlineTime(player) local message = "--------[+]------- [Online Bonus System] -------[+]--------\n\nGanhe um online token a cada hora que você passa online sem deslogar.\n\n---------------------------------------------------\n Total\n Desde o server save você já ganhou " .. skill .. " online tokens." doPlayerPopupFYI(player, message) end -- <talkaction words="!onlinebonus" script="onlineBonus.lua"/> A tag XML está no fim desse código.
================================================================================================================
O usuário irá receber um item a cada hora online sem deslogar.
O item está no código de creaturescripts com o id 12543, que pode ser alterado para qualquer item que seja agrupável.
================================================================================================================
É isso por hoje.
-
vankk recebeu reputação de Mattzys em Como Colocar Lvl No PisoA partir do momento que você da sua opinião dizendo: "cade dia mais o tk tá ficando um lixo com esses novos Suporter" você está falando o que quer. Você falou o que queria.
Se você estiver falando de mim ou não, profundamente eu não ligo, porque a minha parte eu fiz, você pediu um script e eu te mandei, se você não sabe registrar uma tag, o problema não é meu - na minha época quando eu não sabia programar, se alguém me mandasse o script do jeito que eu te mandei, completo, eu ia morrer de felicidade, porque ninguém nunca me passou code completos, é apenas uma linha de um code, e falavam, se vira - mas enfim, não vem ao acaso, estou falando em nome de todos ( @Larissa Azhaurn @p e o p l e e eu), ninguém é obrigado a ajudar ninguém, estamos fazendo isso aqui por motivos diferentes.
E você acha que o TibiaKing é para ajudar só? É por isso que a comunidade de Open Tibia infelizmente não vai para frente, por pessoas com pensamento pequeno igual o seu, infelizmente isso me deixa muito triste. Espero que um dia você perceba realmente o que você está falando.
-
vankk recebeu reputação de Mattzys em Como Colocar Lvl No PisoSó porque eu sou "suporter", não quer dizer que eu sou obrigado a te ajudar ou te explicar tudo o que você deve fazer porque você quer um script.
Se você não sabe configurar uma tag, por favor, saia do mundo do Open Tibia, porque não faz falta. Esse tipo de pessoa que vem ao TibiaKing apenas para pedir suporte para scripts, não ajuda a comunidade em nada, me da nojo.
Se você não está satisfeito com os suporter, aprende LUA/PHP/SQL/etc e não posta pedidos de ajuda no TK
Fala o que quer, ouve o que não quer.
-
vankk recebeu reputação de Cat em Melhorar a melhor resposta na seção de suporteFicou um pouco confuso o título, mas ok, irei explicar a ideia.. Seria basicamente forçar a pessoa que criou o tópico a definir a melhor resposta para assim ajudar pessoas no futuro com o mesmo problema.. Tá, mas como... Simples, usando o sistema de Report, e recompensas.
Quem reportar X quantidade de tópicos recebe uma recompensa no fórum, uma conquista, algo do tipo.
E os moderadores/suportes dão um Warning na pessoa que abriu o tópico e não definiu como a melhor resposta, e dão a melhor resposta para o tópico - com 2~3 desses Warnings a pessoa fica impossibilitada de postar no fórum na seção de suporte novamente por um Y período de tempo, acho que 14 dias seja um bom tempo. E
Seria uma ideia legal no qual estimularia as pessoas a definirem a melhor resposta, no qual o ajudou naquele tópico.
E também adicionar uma nova bullet quando cria um novo tópico falando sobre as recomendações, falando também para marcar a melhor resposta.
O que acham? Não sei se tem isso no fórum, mas se tiver por favor ignore e feche o tópico.
-
vankk recebeu reputação de Duduks em [FREE SUPORTE] TFS 1.x - vankk@Duduks Esse script que você passou não possui nenhuma interação com o spawn de Bosses. Existem duas funções warzoneConfig.spawnBoss e spawnBoss, e ela não está sendo chamada em nenhum desses casos. Você possui outro script de spawn do Boss?
No segundo problema como assim não conseguem abrir alguns corpos de Bosses? O que da de erro para eles?
-
vankk deu reputação a Cat em Nolis Show Off
-
vankk recebeu reputação de luanluciano93 em [TFS 1.2] Offline MessageOffline Message
by vankk
Eu estava codando um sistema de Auction para o Aura, e precisou dessa função, e gostaria de compartilhar com vocês para caso vocês precisem também. Basicamente o script irá enviar uma message para um jogador contendo uma mensagem.
Execute em seu phpMyAdmin essa query:
CREATE TABLE `offline_message` ( `id` int(11) NOT NULL AUTO_INCREMENT, `player_name` varchar(64) NOT NULL, `message` TEXT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`player_name`) REFERENCES `players`(`name`) ON DELETE CASCADE ) ENGINE=MyISAM DEFAULT CHARSET=latin1
Em data/global.lua adicione
function doSendOfflineMessage(targetName, message) db.query(string.format('INSERT INTO `offline_message` (player_name, message) VALUES (%s, %s)', db.escapeString(targetName), db.escapeString(message))) end function Player.checkOfflineMessage(self, playerName) local resultId = db.storeQuery(string.format('SELECT * FROM `offline_message` WHERE `player_name` = %s', db.escapeString(playerName))) if resultId ~= false then local message = result.getDataString(resultId, "message") local id = result.getDataString(resultId, "id") self:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Offline Message:\n%s', message)) db.query(string.format('DELETE FROM `offline_message` WHERE `id` = %d', id)) end end Em data/creaturescripts/login.lua adicione essa linha em qualquer parte do código antes do return true:
player:checkOfflineMessage(player:getName())
Para enviar uma mensagem para algum jogador é doSendOfflineMessage(playerName, message). Por exemplo:
doSendOfflineMessage('Vankk', 'Aura é o melhor servidor baiak de todos os tempos. Parabéns.')
Até a próxima .
vankk.
-
vankk recebeu reputação de Jhonjhon775 em PVP Mode HELPVá em events/scripts/creature.lua procure pela a função onTargetCombat e adiciona esse código logo abaixo:
if self:isPlayer() and target:isPlayer() then if self:hasSecureMode() then return RETURNVALUE_YOUMAYNOTATTACKTHISCREATURE end end Jogadores que atacarem outros jogadores e tiverem no modo secure (sem a mão fechada) não conseguiram atacar outros jogadores.
-
vankk deu reputação a Pedro. em (Resolvido)Npc que troca item por vida e mananego não aprende.
-
vankk recebeu reputação de Pedro. em Liberar as missões das QuestsAdiciona no login.lua
local storageValue = { {12130, 1}, {12131, 2}, {12132, 3} } for i = 1, #storageValue do local k = player:getStorageValue(i[1]) if (k < 1 or (i[2] ~= nil and k ~= i[2])) then player:setStorageValue(i[1], i[2] and i[2] or 1) end end
Edita os storageValues, e boa sorte.
-
vankk recebeu reputação de Pedro. em PVP Mode HELPVá em events/scripts/creature.lua procure pela a função onTargetCombat e adiciona esse código logo abaixo:
if self:isPlayer() and target:isPlayer() then if self:hasSecureMode() then return RETURNVALUE_YOUMAYNOTATTACKTHISCREATURE end end Jogadores que atacarem outros jogadores e tiverem no modo secure (sem a mão fechada) não conseguiram atacar outros jogadores.
-
vankk recebeu reputação de Pedro. em Erro no gesior shoppingSó interpretar o erro, está tentando duplicar uma key que é para ser primária, no qual não pode se repetir, poste as estruturas da tabela do seu shopsystem, e também o arquivo para entendermos.
-
vankk recebeu reputação de d0gw4r em Liberar as missões das QuestsAdiciona no login.lua
local storageValue = { {12130, 1}, {12131, 2}, {12132, 3} } for i = 1, #storageValue do local k = player:getStorageValue(i[1]) if (k < 1 or (i[2] ~= nil and k ~= i[2])) then player:setStorageValue(i[1], i[2] and i[2] or 1) end end
Edita os storageValues, e boa sorte.
-
vankk recebeu reputação de d0gw4r em Liberar as missões das QuestsNão, depende, você não precisa adicionar todos manualmente, vai depender da Storage para a liberação de uma Quest. Em Storages do global da ORTS possui várias storages dentro da Lib de Storages, você deve pegar a que garanta o acesso final e utilizar, ou então, caso não saiba, você pode adicionar todas as Storages também. Esse código você deve adicionar no login.lua.
-
vankk deu reputação a Storm em (Resolvido)Verificar posição de um player@Joaovettor
function checkPlayersAround(uid) local players = {} -- Deixe vazio local pos = getCreaturePosition(uid) local positions = { [1] = {x = pos.x -1, y = pos.y, z = pos.z}, [2] = {x = pos.x +1, y = pos.y, z = pos.z}, [3] = {x = pos.x, y = pos.y +1, z = pos.z}, [4] = {x = pos.x, y = pos.y -1, z = pos.z} } for _, var in pairs(positions) do for i = 0, 255 do var.stackpos = i tile = getTileThingByPos(var) if tile.uid > 0 and isPlayer(tile.uid) then table.insert(players, tile.uid) end end end if not players then return false end return players end
-
vankk recebeu reputação de Still Awake em Melhorar a melhor resposta na seção de suporteFicou um pouco confuso o título, mas ok, irei explicar a ideia.. Seria basicamente forçar a pessoa que criou o tópico a definir a melhor resposta para assim ajudar pessoas no futuro com o mesmo problema.. Tá, mas como... Simples, usando o sistema de Report, e recompensas.
Quem reportar X quantidade de tópicos recebe uma recompensa no fórum, uma conquista, algo do tipo.
E os moderadores/suportes dão um Warning na pessoa que abriu o tópico e não definiu como a melhor resposta, e dão a melhor resposta para o tópico - com 2~3 desses Warnings a pessoa fica impossibilitada de postar no fórum na seção de suporte novamente por um Y período de tempo, acho que 14 dias seja um bom tempo. E
Seria uma ideia legal no qual estimularia as pessoas a definirem a melhor resposta, no qual o ajudou naquele tópico.
E também adicionar uma nova bullet quando cria um novo tópico falando sobre as recomendações, falando também para marcar a melhor resposta.
O que acham? Não sei se tem isso no fórum, mas se tiver por favor ignore e feche o tópico.
-
vankk deu reputação a Pedro. em Telara-ATSResolvi postar o projeto pra download, o servidor foi testado online e está funcionando SEM nenhum erro ou BUG.
Testado em ubuntu, 14.04, OTX, 10~11.
Download
Telara.rar
Database.sql (não está resetada, se preferir baixa do GIT do malucoo)
Website.rar
Scan
Scan 18/01/2019
— Adicionado Boss Room, funciona como sistema de Raids
— Corrigido todos teleports dos Trainers.
— Adicionado 130+ Teleports próprios, diversos do DJ aqui do forum.
— Adicionado Veradin npc que vende Addons & Montarias pelos Crown Tokens.
— Autoloot modificado pelas srcs, com controle de items pelo banco de dados.
— Mapa totalmente diferente, é pra ser um baiak por ser teleports, mas um baiak CUSTOM, nunca vi nenhum online por ai, venho dizendo o diferente me atraí, espero que te atraía também, uma coisa linda dessas.
— Tentei trazer as mais diferentes quests que eu possuia no Thoria & Alvoria, e hunts também, então tudo que você verá, nunca fui visto em outros baiaks.
— Foi adicionado todos items de Djin, Zão, Magicians, no Rashi no objetivo de simplificar e não ter vários npcs pra uma coisa só.
— Adicionado system de task bolado do lobão você pode ver mais informações aqui
— Foi adicionado NPC que venda items de Imbuiment
— Adicionada Roshamuz, podendo ir pelo barco.
— Sistema de Crown Token, cada level upado & chances de droparem de mobs, você pode ver mais aqui
— Adicionado bônus exp para players que estiverem com cast aberto, criado pelo
E um site totalmente novo para um servidor novo.
Screens;
-
vankk recebeu reputação de BilauX em (Resolvido)WEAPONS.XML - TFS 1.3Caso você queria colocar ela para ser por script, então deve ser nesse estilo:
<wand id="item_ID" level="200" mana="80" script="script.lua"> Caso que queira já definir um valor basta utilizar:
<wand id="ITEM_ID" level="200" mana="200" min="123" max="456" type="earth"> Para mais info clique aqui.
-
vankk recebeu reputação de Pedro. em Script de recuperar stamina em zona protegidaEu fiz esse script rápido em C++ para regenerar Stamina X de stamina no PZ a cada X segundos.
https://gist.github.com/vankk/ebd1377d52b3b92028ecad632e949d0c
Só você adicionar no config.lua
staminaRegenPz = true staminaSecondsToRegen = 30 gainStaminaRegerationPz = 1 Vai recuperar 1 minuto de stamina a cada 30 segundos. Caso você deseja desativar o script basta mudar de true para false.
-
vankk recebeu reputação de Agaka em (Resolvido)(Ajuda) Alterar CleanBasta você modificar essa linha aqui no game.cpp para
if((*tit)->getUniqueId() != UNIQUE_ID_DO_ITEMS_VIP && (*tit)->isMoveable() && !(*tit)->isLoadedFromMap() && !(*tit)->isScriptProtected()) aonde está UNIQUE_ID_DO_ITEMS_VIP você muda para o UniqueID dos Items VIP de seu servidor.
-
vankk recebeu reputação de Sentsuizan em (Resolvido)(Ajuda) Alterar CleanBasta você modificar essa linha aqui no game.cpp para
if((*tit)->getUniqueId() != UNIQUE_ID_DO_ITEMS_VIP && (*tit)->isMoveable() && !(*tit)->isLoadedFromMap() && !(*tit)->isScriptProtected()) aonde está UNIQUE_ID_DO_ITEMS_VIP você muda para o UniqueID dos Items VIP de seu servidor.