Líderes
-
-
-
lordzetros
MembroPontos431Total de itens -
Kazuya9629
MembroPontos469Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 03/01/19 em todas áreas
-
(Resolvido)Todos ganham item ao matar boss
(Resolvido)Todos ganham item ao matar boss
Orientalz e um outro reagiu a Vodkart por uma resposta no tópico
2 pontosfunction onDeath(cid, corpse, deathList) local monsters, t = {"Demon","Hydra"}, {} local items = {{2160,1},{2148,2}} -- ITEM ID, QUANTIDADE if isMonster(cid) and isInArray(monsters, getCreatureName(cid)) then for _, players in pairs(deathList) do if isPlayer(players) then local give = true if #t > 0 and isInArray(t, getPlayerIp(players)) then give = false end t[#t+1] = getPlayerIp(players) if give then for i = 1, #items do doPlayerAddItem(players, items[i][1], items[i][2]) end end end end return true end return true end tag <event type="death" name="AddItens" event="script" value="nome do seu script.lua"/> adc no monstro <script> <event name="AddItens"/> </script>2 pontos -
[OPEN-SOURCE] PokeChampions
[OPEN-SOURCE] PokeChampions
Druidzin reagiu a Matt Shadows por uma resposta no tópico
1 pontoOlá Caros membros, hoje estou trazendo um servidor para vocês no qual eu fui contratado para adaptar uma source, me "calotaram" e eu achei justo postar a base adaptada. Desfrutem...1 ponto -
Alavanca de troca [X itens por Y itens]
Alavanca de troca [X itens por Y itens]
Nerivalhs reagiu a lordzetros por uma resposta no tópico
1 pontoOlá, Bom... teve um pedido no Discord da TK feito por algum usuário (não estou recordando o nome) que estava tendo dificuldades em fazer determinado script, então decidi fazê-lo. É algo simples, eu já tinha enviado lá no canal de suporte, porém, como já de conhecimento por muitos, o canal foi removido. Decidi refazer de uma forma melhor e mais prática. * Sobre o Script * Quando o jogador utilizar a alavanca para ganhar determinado(s) item(s), ele terá que ter deixado em POSIÇÕES DEFINIDAS alguns itens, sendo assim, possível efetuar a troca. Simples, não? Caso ainda não tenha entendido, tem imagem abaixo de como funciona o mesmo. * Imagens demonstração * Tentando efetuar a troca sem tá com os itens posicionados de forma correta... Efetuando a troca de forma correta. * Instalando o Script * Em data/actions/scripts/ crie um arquivo chamado alavanca_troca.lua e cole isto dentro: --[[ Lordzetros - TK ]] local config_itens = { {id = 2666, pos = {144,63,6}, count = 1}, -- ID DO ITEM NECESSÁRIO, POSIÇÃO QUE DEVE FICAR, QUANTIDADE DE ITEM NECESSÁRIO {id = 2667, pos = {145,63,6}, count = 1}, {id = 2671, pos = {146,63,6}, count = 1}, -- Caso queira colocar outro item, basta seguir esse modelo (ctrl + c) } local config_troca = { msg_falha = "Falha na troca do item. Necessario: %dx %s em sua devida posicao!", msg_sucesso = "A troca foi efetuada com sucesso!", recompensas = {{id = 2003, count = 1}, {id = 2004, count = 1}} -- Para deixar apenas uma recompensa, apenas deixe recompensas = {{id = ID_DO_ITEM_A_GANHAR, count = QUANTIDADE_A_GANHAR}} } function onUse(player, item, fromPosition, target, toPosition, isHotkey) local ax_t = {} for i, v in ipairs(config_itens) do local vt = Tile(Position(v.pos[1], v.pos[2], v.pos[3])) local item_t = vt:getItemById(v.id) if (not item_t or item_t:getCount() < v.count) then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(36, config_troca.msg_falha:format(v.count, ItemType(v.id):getName())) return false end table.insert(ax_t, {item_t, v.count}) end for i, v in ipairs(ax_t) do v[1]:remove(v[2]) end for i, v in ipairs(config_troca.recompensas) do player:addItem(v.id, v.count) end player:sendTextMessage(36, config_troca.msg_sucesso) player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_RED) return true end Em seguida, coloque esta linha de código abaixo de uma semelhante em data/actions/actions.xml <action actionid="30258" script="alavanca_troca.lua" /> Para finalizar, abre seu editor de mapa e coloque em algum alavanca o actionID = 30258 * Configurando o Script * Tá tudo comentado no código, portanto, vou falar só por cima. {id = 2666, pos = {144,63,6}, count = 1} Nesta parte, você deve colocar o id do item necessário, a posição que ele deve ficar e a quantidade. E nesta parte você configura a recompensa do jogador recompensas = {{id = 2003, count = 1}, {id = 2004, count = 1}} Id do item que ele ganhará e quantidade Enfim, script simples, porém, pode ser útil para muitos, assim como acredito que será para o usuário que solicitou, :). Abraços.1 ponto -
(Resolvido)ajuda Criando script
1 pontoobrigado mano eu estou tentando criar o meu propio pra entender mais como funciona as funçoes tibia e como usalas mas obrigado pela ajuda .. consegui fazer o meu era as ordems das funçoes que estavao erradas o meu ficou assim --- vou confiar em meus scripts ----by ADM Indio local config = { resets = 5, msgWelcomeReset = "Bem-Vindo A Area Reset!", msgCancel = "Vc Precisa ter 5 Resets Para Passar" } function onStepIn(cid, item, position, fromPosition) resets = db.getResult("SELECT `resets` FROM `players` WHERE `id` = " ..getPlayerGUID(cid)):getDataInt("resets") if getPlayerResets(cid) >= config.resets then doPlayerSendTextMessage(cid, 22, config.msgWelcomeReset) else doTeleportThing(cid, fromPosition, FALSE) doPlayerPopupFYI(cid, config.msgCancel) end return true end1 ponto
-
(Resolvido)[Erro] Script deixa você com Pontos negativo
(Resolvido)[Erro] Script deixa você com Pontos negativo
Belmont reagiu a lordzetros por uma resposta no tópico
1 ponto@Phineasz O problema está aí, colega, kkkk. A ideia do script, acredito eu, seja em que o jogador compre o documento por x points, assim ele pode efetuar a troca com algum outro player, no qual, esse documento continuará valendo x points. Veja: Quando o jogador digitar 'yes', o script criará o documento e em seguida dará ao jogador, mas ao mesmo tempo, está removendo do jogador o valor dos pontos 'trocados'. doPlayerRemovePoints(cid, Count_Points) Entendeu? @Phineasz Acabei de ver o script do creaturescripts, e realmente ele tá fazendo o check dos points, então, no caso, remova a linha do código do NPC a qual citei acima... doPlayerRemovePoints(cid, Count_Points)1 ponto -
(Resolvido)[PEDIDO] Script animatedtext top guild
Pelo o que eu entendi você quer que o texto apareça apenas para membros que estão na top guild, e não para as 4 primeiras no ranking como a query que você postou está buscando. Se realmente for este o caso, a função não precisa retornar uma tabela e sim apenas um ID. Obs: não tive tempo de testar o script. --<globalevent name="topguild" interval="10000" event="script" value="topguild.lua"/>-- local function getTopGuild() local query = "SELECT `g`.`id` AS `id`, `g`.`name` AS `name`, COUNT(`g`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id` LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id` WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1 GROUP BY `name` ORDER BY `frags` DESC, `name` ASC LIMIT 1;" local queryResult = db.storeQuery(query) if queryResult then local guildID = result.getDataInt(queryResult, "id") result.free(queryResult) return guildID end return false end function onThink(interval, lastExecution) local topGuild = getTopGuild() for _, cid in ipairs(getPlayersOnline()) do if getPlayerGuildId(cid) == topGuild then doSendAnimatedText(getCreaturePosition(cid), "TOP GUILD", COLOR_RED) end end return true end Créditos pela base do script ao @Fir3element1 ponto
-
Tony Tony Chopper NDBO PANZER
Tony Tony Chopper NDBO PANZER
CoyoteStark reagiu a Kazuya9629 por uma resposta no tópico
1 pontoDownload http://www.mediafire.com/file/zisxj15e4th9f3q/Tony+Tony+Chopper.rar Virustotal https://www.virustotal.com/pt/file/2bffc47c97b67b8f947282cdf4830930f76a92588253251263a07796b3feaead/analysis/1543440849/ creditos : @Kazuya96291 ponto -
(Resolvido)Modificar Spell para monsters
@Brunds buff: attack:1 ponto
-
(Resolvido)[Pedido] Talkactions pvp on/off TFS 0.4
@frank007 seria estranho um comando só pra você não poder atacar, em todo caso, script talkactions: local msg = "Agora seu sistema PvP está %s." function onSay(cid, words, param) local _table = { ["on"] = {"ativado", 1}, ["off"] = {"desativado", 0}, } if _table[param:lower()] then local mode = _table[param:lower()] setPlayerStorageValue(cid, 91821, mode[2]) doPlayerSendTextMessage(cid, 27, "Seu pvp foi "..msg:format(mode[1])) end return true end tag xml da talkactions: <talkaction words="!pvp" event="script" value="NomeDoArquivo.lua"/> creaturescripts: tags do creaturescripts.xml: <event type="combat" name="PvPCombat" event="script" value="NomeDoArquivo.lua"/> <event type="login" name="PvPLogin" event="script" value="NomeDoArquivo.lua"/>1 ponto
-
[Talkaction] Lista de Staff
[Talkaction] Lista de Staff
koyotestark reagiu a Kaiotp por uma resposta no tópico
1 pontoUma talkaction que vai incrementar um pouco mais seu servidor. !staff se estiver on parecera o seu nome e se não tiver aparecera um pequeno trecho Em data/talkactions/talkactions.xml: <talkaction words="!staff" event="script" value="staff.lua"/> Agora em data/talkactions/scripts: crie um arquivo chamado staff.lua e cole dentro: function onSay(cid, words, param, channel) local Info = db.getResult("SELECT * FROM `players` WHERE `online` = '1' AND `group_id` > 1") local PlayerString = "Online Staff Members:\n" if Info:getID() ~= -1 then local count, i = Info:getRows(false), 0 repeat PlayerString = PlayerString .. Info:getDataString("name") .. " - " if Info:getDataInt("group_id") == 2 then PlayerString = PlayerString .. "Tutor" elseif Info:getDataInt("group_id") == 3 then PlayerString = PlayerString .. "Senior Tutor" elseif Info:getDataInt("group_id") == 4 then PlayerString = PlayerString .. "Game Master" elseif Info:getDataInt("group_id") == 5 then PlayerString = PlayerString .. "Community Manager" elseif Info:getDataInt("group_id") == 6 then PlayerString = PlayerString .. "God" end PlayerString = PlayerString .. "\n" until not(Info:next()) Info:free() else PlayerString = PlayerString .. "No staff online, try again later" end doPlayerPopupFYI(cid, PlayerString); return true end Bom Uso! Creditos. Kaiotp Hiromath AlexClusive1 ponto