Postado Março 21, 2019 6 anos Estou trazendo 1 script por semana (geralmente na terça-feira) e caso você tenha alguma sugestão, poste aqui ou mande em mensagem privada a ideia, podendo ser o da próxima semana. Olá pessoal, estou trazendo outro script para o TibiaKing, este NPC faz parte de uma série de NPC's que eu posicionei em meu servidor em locais estratégicos, concedendo bônus diferentes para os jogadores. Em seus NPC's, crie um arquivo XML e coloque o seguinte: <?xml version="1.0" encoding="UTF-8"?> <npc name="Luke" script="data/npc/scripts/speedbuff.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="152" head="95" body="95" legs="29" feet="56" addons="2" corpse="6080"/> <parameters> <parameter key="message_greet" value="Ola, voce gostaria de um bonus?" /> </parameters> </npc> E dentro da pasta de scripts dos seus NPC's crie um arquivo LUA e coloque: 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(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local config ={ effectTime = 10, -- tempo em minutos maxLevel = 125, -- level maximo para receber influencer = 2, -- multiplicador da velocidade aumentada timeStorage = 319203 -- storage para o tempo } local function downSpeed(cid, speed) doChangeSpeed(cid, -speed) end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "bonus") then local level = getPlayerLevel(cid) if level < config.maxLevel then if os.time() > getPlayerStorageValue(cid, config.timeStorage) then setPlayerStorageValue(cid, config.timeStorage, config.effectTime * 60 + os.time()) local speed = config.maxLevel - level doChangeSpeed(cid, speed * config.influencer) addEvent(downSpeed, 60 * config.effectTime, cid, speed * config.influencer) selfSay('Voce recebeu um bonus de velocidade.', cid) else local minutesText local secondsText local seconds = math.floor((getPlayerStorageValue(cid, config.timeStorage) - os.time()) % 60) + 1 local minutes = math.floor((getPlayerStorageValue(cid, config.timeStorage) - os.time()) / 60) minutesText = minutes .." minutos e " secondsText = seconds .." segundos." if seconds == 60 then minutes = minutes + 1 end if minutes == 0 then minutesText = "" end if seconds == 0 or seconds == 60 then if minutes > 0 then minutesText = minutes .." minutos." end secondsText = "" end selfSay('Voce ja possui o bonus, ele expira em ' ..minutesText ..secondsText, cid) end else selfSay('O bonus de velocidade so e aplicado para jogadores de level menor de que '..config.maxLevel..".", cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Explicando o código: com essas configurações o NPC irá: - Conceder ao jogador 10 minutos de bônus de velocidade para jogadores level 125 ou menos. - O jogador que receber o bônus terá velocidade igual a um jogador de level 125. - Impedir o jogador de pegar o bônus diversas vezes. - Todas as configurações podem ser alteradas na variável "config" no topo do código. Qualquer dúvida deixe nos comentários e lembre de enviar a sua sugestão Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Março 21, 2019 6 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Spoiler Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP. Projeto ATS (Naruto)Informações AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
Postado Agosto 26, 2019 5 anos gostaria de saber se e possível colocar bônus de ganhar +vida, +mana e skills e como fazer isso, se possível.
Postado Janeiro 30, 2020 5 anos Queria um npc que quando chegasse no nível adequado, ele ganhava um item do npc. Isso só poderia aconteceer na primeira vez que ele conseguir upa. Tipo, upou 1000 "ganhou!". Morreu e depois upou 100 "você já ganhou seu item!"
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.