-
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 Tibia Alternativo
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 -
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 Otserv (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 Otserv (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 Otserv (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 Otserv (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 Otserv
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 Otserv (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 Otserv
Ops, falta de atenção minha. Corrigido. -
Derivado (Pedido) 2 Spells Especiais RPG
zipter98 respondeu ao tópico de ruanlol em Suporte Tibia Otserv
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 Otserv
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 Otserv (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 Otserv
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 Otserv (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 Otserv (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 Otserv
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!