-
Total de itens
2553 -
Registro em
-
Última visita
-
Dias Ganhos
72
Tudo que zipter98 postou
-
Instale o AGS criado pelo Omega e use as seguintes funções para manipulação de guild storages: setGuildStorageValue(guild_id, key, value) getGuildStorageValue(guild_id, key)
-
poketibia [Encerrado] Teria como trocar o catch system?
tópico respondeu ao Aztech de zipter98 em Tópicos Sem Resposta
Tem sim. Poderia postar seu catch.lua, de data/actions/scripts? -
tfs 0.3.6 [Encerrado] Player Não poder falar em Determinado Channel!
tópico respondeu ao Luga03 de zipter98 em Tópicos Sem Resposta
Nas sources: game.cpp: No código da função: bool Game::playerSay Abaixo de: if(!player || player->isRemoved()) return false; Coloque: if(channelId == 10) return false; -
Por ser um PDA, você pode registrar o evento em spawn.lua. local config = { itemid = xxx, --ID do item. count = 1, --Quantidade. chance = xxx --Chance. (como em loots comuns, sorteado entre 0 e 100000) } function onDeath(cid, corpse) if math.random(0, 100000) <= config.chance then doAddContainerItem(corpse.uid, config.itemid, config.count) end return true end
-
Show OFF -- Primeiro monstro (hue br)
tópico respondeu ao Gabrieltxu de zipter98 em Exposições (Show Off)
você é um gênio do spriting -
script Como usar essa msm função pra local chat
pergunta respondeu ao gmstrikker de zipter98 em Scripts
20 é o número do canal. <channel id="20" name="Loot"/> Você pode ver a lista de cores na tabela TALKTYPE_TYPES, de 000-constant.lua. Entretanto, nem todas as opções lá disponíveis são válidas para a função doPlayerSendChannelMessage. As que funcionam nesta função são aquelas com o prefixo TALKTYPE_CHANNEL. Exemplo: TALKTYPE_CHANNEL_O TALKTYPE_CHANNEL_RA TALKTYPE_CHANNEL_Y -
script Como usar essa msm função pra local chat
pergunta respondeu ao gmstrikker de zipter98 em Scripts
doPlayerSendChannelMessage(pid, '', 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'), TALKTYPE_CHANNEL_RN, 20) -
Coloca o "Blastoise" da tabela em letra minúscula (blastoise).
-
local outfits = { --["outfit_name"] = storage, --A storage é o atributo quest, de outfits.xml. --Ex.: ["Naruto"] = 181603, ["Sasuke"] = 181601, } function onSay(cid, words, param) local msg = {"Digite o nome correto!", "Voce não possui Addon Doll!", "Bad param!", "Você recebeu seu addons!"} local param = string.lower(param) if not isPremium(cid) then doPlayerSendCancel(cid, "Você nao tem premium account.") return true end if getPlayerItemCount(cid, 9693) > 0 then if param ~= "" and outfits[param] then doPlayerRemoveItem(cid, 9693, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) setPlayerStorageValue(cid, outfits[param], 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end return true end
-
O NPC só remove dinheiro se você não tiver configurado o preço em diamonds na tabela. Exemplo: local outs = { ["blastoise female"] = {181656, 5}, ["venusaur male"] = {181657, 5}, ["skarmory male"] = {181658}, } O preço das duas primeiras outfits seria 5 diamonds. Entretanto, por a terceira outfit não ter um valor configurado na 2ª posição da tabela (que no caso é o preço), por padrão o NPC vai cobrar dinheiro.
-
script Como usar essa msm função pra local chat
pergunta respondeu ao gmstrikker de zipter98 em Scripts
doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing')) -
^ Como se Open Tibia se resumisse a esses derivados que você citou, lol. O código pode ser inútil para você, mas isso não quer dizer que seja para toda a comunidade tibiana. Não citando o fato deste script poder tornar-se uma base para futuros outros. E convenhamos que o nível de um código não é critério para seu julgamento. Se alguém encontrar uma utilidade para ele, é isso que importa. PS: Só recomendaria remover a varável sto do script, visto que não foi usada.
-
Qual a base que você está usando?
-
monster pokemon que nao toma sing paralyze
tópico respondeu ao clebao666 de zipter98 em Lixeira Pública
Ou, ao invés de colocar a condição acima em todas as funções de status negativos (com exceção de sleep), você pode, simplesmente: newStatusSyst.lua: No código da função doBuff2: Abaixo de: if ret.buff and ret.buff ~= "" then doBuff2(ret.id, ret.cd, ret.eff, ret.check, ret.buff, ret.first, (ret.attr and ret.attr or false)) end Coloque: local pkmns = {"Entei"} --Pokémons imunes a status negativos, tirando sleep. if not isSummon(ret.id) and isInArray(pkmns, getCreatureName(ret.id)) and ret.cond ~= "Sleep" then return true end -
Gostaria de informar que vários servidores de pokémon usam um método de alteração de storage para adicionar e remover outfits, ao invés do uso da função doPlayerAddAddons. Talvez seja este o problema. Se possível, poste seu outfits.xml.
-
action help comando carta em talkactions
tópico respondeu ao leandrozera de zipter98 em Lixeira Pública
function onSay(cid, words, param) local t = param:explode(", ") local pid = getPlayerByName(t[1]) if isPlayer(pid) then doSetItemText(doPlayerAddItem(pid, 8761), t[2] or "Nothing.") end return true end -
local config = { name = "monster_name", --Nome do monstro. minDamage = 7000, --Dano mínimo para receber as recompensas. items = { prize = {itemid, count}, --{ID do item, quantidade} medal = xxx, --ID da medalha. }, storage = 91828, } function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and isMonster(cid) and getCreatureName(cid) == config.name and type == STATSCHANGE_HEALTHLOSS then local damage = getPlayerStorageValue(attacker, config.storage) < 1 and 0 or getPlayerStorageValue(attacker, config.storage) setPlayerStorageValue(attacker, config.storage, damage + value) end return true end function onDeath(cid, corpse, deathList) for _, pid in pairs(deathList) do local damage = getPlayerStorageValue(pid, config.storage) if damage >= config.minDamage then local item = doCreateItemEx(config.items.prize[1], config.items.prize[2]) doPlayerSendTextMessage(pid, 27, "For helping killing "..config.name..", you received a medal and "..config.items.prize[2].."x "..getItemNameById(config.items.prize[1])..".") doPlayerSendMailByName(getCreatureName(pid), item) doItemSetAttribute(doPlayerAddItem(pid, config.items.medal, 1), "description", "Medalha de honra ganha por "..getCreatureName(pid).." por ajudar a derrotar o "..config.name.." no dia "..os.date("%D")..".") setPlayerStorageValue(pid, config.storage, -1) end end db.executeQuery("UPDATE player_storage SET value = -1 WHERE key = "..config.storage) return true end
-
action [PDA] PokéDex em corpses de pokémons
tópico respondeu ao zipter98 de zipter98 em Mods, funções e outros
O problema está nas corpses, não no sistema. -
action [PDA] PokéDex em corpses de pokémons
tópico respondeu ao zipter98 de zipter98 em Mods, funções e outros
Cara, você não está usando a PokéDex numa corpse. Está usando no asfalto. -
Ah, me lembrei de uma coisa. O número da outfit em configuration.lua deve ser o valor do Dat Editor subtraído por 351. PS: Certifique-se que está pegando o valor correto. Se não funcionar, você fez algo errado (ou pegou o valor errado).
-
Eu perguntei se a outfit do Raichu/Shiny Raichu com fly funciona normalmente, não se o sistema está parcialmente funcionando.
-
action [PDA] PokéDex em corpses de pokémons
tópico respondeu ao zipter98 de zipter98 em Mods, funções e outros
Troque: if not isCreature(item2.uid) then local name = getItemNameById(item2.itemid) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then local exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) end end end return true end por: if not isCreature(item2.uid) then print("Usou em item.") local name = getItemNameById(item2.itemid) print("Nome do item: "..name) if name:find("fainted") then name = doCorrectPokemonName(name:gsub("fainted ", "")) print("Nome do pokemon: "..name) if isOutlanderPokemon(getCreatureName(item2.uid)) then return false end if pokes[poke].dex then print("Esta na tabela.") if getPlayerStorageValue(cid, pokes[poke].dex) <= 0 then local exp = pokes[poke].level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) setPlayerStorageValue(cid, pokes[poke].dex, 1) doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) else doShowPokedexRegistration(cid, name, getPlayerSlotItem(cid, 8)) end end end return true end E informe o que for imprimido no console. -
Troque: doItemSetAttribute(itemEx.uid, "name", getItemNameById(itemEx.itemid).." ref "..config.reflectBonus.."%") por: doItemSetAttribute(itemEx.uid, "name", getItemName(itemEx.uid).." ref "..config.reflectBonus.."%")
-
Qual seu sistema de upgrade?
-
action [PDA] PokéDex em corpses de pokémons
tópico respondeu ao zipter98 de zipter98 em Mods, funções e outros
Saberia dizer se as corpses dos pokémons do seu servidor são "defeated pokemon_name" ou "fainted pokemon_name"? Eu não pretendia adaptar o código para outras bases diferentes da que usei, mas vou abrir uma exceção.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.