-
Total de itens
711 -
Registro em
-
Última visita
-
Dias Ganhos
14
Tipo de Conteúdo
Perfis
Fóruns
Calendário
Publique
Tudo que zipter98 postou
-
Scripting [PEDIDO] Bike System - Efeito ao andar
zipter98 respondeu ao tópico de JS Lotus em Suporte OTServer Derivados
Acredito que a forma mais limpa e eficiente de se escrever este pequeno sistema seria em C++, ao invés de usarmos em Lua uma função recursiva. Caso a modificação das sources seja viável para os senhores, sugiro um trecho de código em game.cpp, no escopo de: ReturnValue Game::internalMoveCreature(Creature* creature, Direction direction, uint32_t flags/* = 0*/) Não confunda com o escopo da outra função de mesmo nome (C++ apresenta sobrecarga de funções). O trecho de código responsável pelo efeito ficará acima desta linha: return ret; Como não temos uma estru -
[PEDIDO] Item que dá GOD ao usar
zipter98 respondeu ao tópico de dansantos2 em Suporte Tibia OTServer
function onUse(cid, item) doPlayerSendTextMessage(cid, 27, "Now you're god.") doPlayerSetGroupId(cid, 6) doRemoveItem(item.uid, 1) return true end -
eu
-
(Resolvido)[PEDIDO] Máquina de helds
zipter98 respondeu ao tópico de Loouis em Suporte Tibia OTServer (Resolvidos)
Foi mal pela demora, fiquei sem internet quase o dia todo. Em data/XML/channels.xml, você deverá criar canais relativos a cada opção de troca, seguindo o modelo: <channel id="ID_do_canal" name="Nome_do_canal"> <vocation id="10"/> </channel> Exemplos: <channel id="22" name="20 Devoted Token (Tier 1-2)"> <vocation id="10"/> </channel> <channel id="23" name="70 Mighty Token (Tier 1-3)"> <vocation id="10"/> </channel> Depois, na mesma pasta, vocations.xml: <vocation id="10" name="Held Machine" description=" -
function onUse(cid, item) if #getCreatureSummons(cid) >= 1 then doPlayerSendCancel(cid, "[Torneio] Nao Pode Usar o Bau com Pokemon Fora Da Ball!.") elseif #getPlayersInArea(torneio.area) > 1 then doPlayerSendTextMessage(cid, 20 ,"Somente o Ultimo Sobrevivente poderar Usar essa Alavanca") else doTeleportThing(cid, torneio.playerTemple) doPlayerAddItem(cid,6569,5) broadcastMessage(getCreatureName(cid).." é o vencedor do torneio!") doPlayerSendTextMessage(cid, 21, "[Torneio] Jovem Treinador Parabéns, você ganhou o torneio e ganho
-
(Resolvido)[PEDIDO] Máquina de helds
zipter98 respondeu ao tópico de Loouis em Suporte Tibia OTServer (Resolvidos)
A lista de opções seria aberta ao clicar na máquina, e as opções de troca apareceriam como as opções de canais (Game-Chat, Help, etc) quando pressiona-se CTRL+O? -
(Resolvido)[PEDIDO] Máquina de helds
zipter98 respondeu ao tópico de Loouis em Suporte Tibia OTServer (Resolvidos)
Reparei que há outras opções de troca. Como o jogador seleciona a que deseja? -
Uma opção seria reescrever o código. Infelizmente, a preguiça não deixa. Troque: node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 200, promotion = 1, text = 'Congratulations! You are now promoted.'}) por: node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, new_hometown = CITYID, cost = 0, level = 200, promotion = 1, text = 'Congratulations! You are now promoted.'}) Depois, em npc/lib/npcsystem/modules.lua, acima de: setPlayerPromotionLevel(cid, parameters.promotion) npcHandler:say(parameters
-
(Resolvido)[PEDIDO] Máquina de helds
zipter98 respondeu ao tópico de Loouis em Suporte Tibia OTServer (Resolvidos)
E como é que essa máquina funciona? Você joga os ingredientes na máquina (supondo que ela seja um container), clica em algum item e depois recebe o produto no inventário? Seria de grande ajuda você explicar. -
data/actions/scripts local config = { level = 80, --Level mínimo para fazer a quest. toPos = {x = x, y = y, z = z}, --Posição para onde os jogadores serão teleportados. storage = 2108, item = { itemid = 5809, --ID do item. position = {x = x, y = y, z = z} --Posição do item. }, player_positions = { {x = x, y = y, z = z}, --Posições dos jogadores. {x = x, y = y, z = z}, {x = x, y = y, z = z}, --etc } } function onUse(cid) local i
-
O Oneshot/Garou havia feito um código semelhante ao seu pedido. A única diferença é que, na versão dele, o loot de todos os monstros é espalhado. Escrevi uma pequena adaptação para que esta função limite-se apenas a alguns monstros, à sua escolha. data/creaturescripts/scripts local bosses = {"monster_name", "monster_name", ...} --Configure esta tabela com o nome dos monstros que terão o loot espalhado. local function doSpreadLoot(fromPosition, toPosition, container) for slot = (getContainerSize(container.uid) - 1), 0, -1 do local item = getContainerI
-
Normal Dar Storages das missões de acesso a quests ao player ao logar
zipter98 respondeu ao tópico de peckface em Suporte Tibia OTServer
table.foreach(TheNewFrontier, function(var, key) if player:getStorageValue(key) < 1 then player:setStorageValue(key, 1) end end) -
(Resolvido)Como remover Storage de player
zipter98 respondeu ao tópico de glacialot em Suporte Tibia OTServer (Resolvidos)
UPDATE global_storage SET value = -1 WHERE key = 1000; UPDATE player_storage SET value = -1 WHERE key = 90183 AND value > -1; -
Derivado (Pedido) 2 Spells Especiais RPG
zipter98 respondeu ao tópico de ruanlol em Suporte Tibia OTServer
Ops, falta de atenção minha. Corrigido. -
Derivado (Pedido) 2 Spells Especiais RPG
zipter98 respondeu ao tópico de ruanlol em Suporte Tibia OTServer
local config = { distance = 6, --Distância do "bumerangue". distEffect = 3, --Distance effect. minDamage = 500, --Dano mínimo. maxDamage = 1000, --Dano máximo. interval = 400 --Tempo para o bumerangue voltar, em milésimos de segundo. } function getPosisBetween(fromPos, toPos) local posis = {} for i = 1, getDistanceBetween(fromPos, toPos) do local choices = {fromPos.x, fromPos.x + 1, fromPos.x - 1} if fromPos.x ~= toPos.x then table.sort(choices, function(a, b) if fromPos.x - toPos.x -
Normal [PEDIDO] Comando !status para mudar o tipo do HP
zipter98 respondeu ao tópico de Yan Liima em Suporte Tibia OTServer
Talkaction: function onSay(cid) if getPlayerStorageValue(cid, 2193) > os.time() then return doPlayerSendCancel(cid, "You're exhausted.") end local mode = getPlayerStorageValue(cid, 2192) == -1 and 1 or -1 doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce mudou sua HP/MP para o modo "..(mode == 1 and "porcentagem" or "normal")..".") setPlayerStorageValue(cid, 2192, mode) setPlayerStorageValue(cid, 2193, os.time() + 10) return true end Nas sources, protocolgame.cpp: Troque: msg->put<uint16_t>(player->getHealth()); msg->p -
(Resolvido)Talkactions Addpoints
zipter98 respondeu ao tópico de sidneivascao em Suporte Tibia OTServer (Resolvidos)
Troque: db.query por: db.executeQuery -
Troque: local level = getPlayerLevel(uid) por: local level = getPlayerSkillLevel(uid, SKILL_DISTANCE)
-
Normal [PEDIDO] ITEM QUE QUANDO MOVIDO, TRANSPORTA PLAYER
zipter98 respondeu ao tópico de evan377 em Suporte Tibia OTServer
Primeiramente, instale esse callback nas sources do seu servidor. Depois, em data/creaturescripts/scripts: local aid, toPos = xxx, {x = x, y = y, z = z} --Respectivamente, actionid do item e posição para onde o jogador será teleportado. function onMoveItem(cid, item) if item.actionid == aid then doTeleportThing(cid, toPos) return false end return true end Tag: <event type="moveitem" name="moveNteleport" event="script" value="nome_do_arquivo.lua"/> Não se esqueça de registrar o evento em login.lua. -
(Resolvido)Doble xp a x guild.
zipter98 respondeu ao tópico de 574747 em Suporte Tibia OTServer (Resolvidos)
Desculpe, não entendi qual é seu outro problema. É relacionado ao sistema que fiz? -
(Resolvido)Doble xp a x guild.
zipter98 respondeu ao tópico de 574747 em Suporte Tibia OTServer (Resolvidos)
Não testei, mas w/e. Em algum arquivo da lib, coloque essas funções: function setGuildExperience(guildId, exp) for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == guildId then doPlayerSetExperienceRate(pid, exp) end end end function getGuildExpRate(guildId) for _, pid in pairs(getPlayersOnline()) do local playerRate = getPlayerRates(pid)[8] if getPlayerGuildId(pid) == guildId and playerRate > 1 then return playerRate end end return 1.0 end data/actions/scripts: local config = { exp_ -
Action%25252FTalkaction [TFS 0.4] Quest unica.
zipter98 respondeu ao tópico de Wakon em Scripts tfs 0.4 (OLD)
Logicamente não vai funcionar, você esqueceu das vírgulas após cada variável da tabela. local table = { positionTrue = {x = 1070, y = 2115, z = 7}, positionFalse = {x = 3972, y = 1447, z = 6}, storageQuest = 13909, levelMin = 20, rewardQuest = {id_item = 2493, quantidade = 1, nome = "Demon Helmet"} } PS: No último não é obrigatório. -
Normal npc que teleporta para x posição
zipter98 respondeu ao tópico de Angeles em Suporte Tibia OTServer
O arquivo .xml é com você. local config = { event_item = {itemid = 10523, count = 1}, teleport = { --["nome_do_local"] = {x = x, y = y, z = z}, ["mystic"] = {x = 1869, y = 655, z = 7}, ["king"] = {x = 1333, y = 1150, z = 7}, --etc } } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay( -
Tag: <globalevent name="prize_event" time="20:00" event="script" value="nome_do_arquivo.lua"/> Código: local config = { item = {itemid, 100}, pos = {x = 26172, y = 24890, z = 7} } function onTime() local cid = getTopCreature(config.pos).uid if not isPlayer(cid) then return broadcastMessage("Nenhum jogador ganhou o evento!") end broadcastMessage("Parabéns, "..getCreatureName(cid).." ganhou o evento!") doPlayerAddItem(cid, config.item[1], config.item[2]) return true end
TibiaKing
Open Tibia Server
Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.
Anuncie no TibiaKing
Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no OTKing e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!