-
Total de itens
648 -
Registro em
-
Última visita
-
Dias Ganhos
5
Tudo que larissaots postou
-
mod Mostrando quem deu look em você (RECOMENDO)
um tópico no fórum postou larissaots Mods, funções e outros
Créditos: EddyHavoc e Slawkens. Objetivo Esse script mostra quem deu look em você. Ao player dar look em você, aparecerá uma mensagem avisando. Tutorial Acesse a pasta MODS e crie um arquivo chamado lookingatyou.xml, coloque isso dentro do arquivo: <?xml version="1.0" encoding="UTF-8"?> <mod name="peeper" version="1.0" author="" contact="" enabled="yes"> <config name="peeper-config"><![CDATA[ -- anonymously or display peeper name? anonymous = "no" -- ignore players with access (will not show message when they look on someone) hiddenAccess = 3 -- message color (type) messageType = MESSAGE_STATUS_DEFAULT ]]></config> <event type="look" name="peeper-event" event="script"><![CDATA[ domodlib('peeper-config') local config = { anonymous = getBooleanFromString(anonymous), hiddenAccess = hiddenAccess, messageType = messageType } function onLook(cid, thing, position, lookDistance) if(isPlayer(thing.uid) and getPlayerAccess(cid) < config.hiddenAccess) then doPlayerSendTextMessage(thing.uid, config.messageType, (config.anonymous and "Someone" or getPlayerName(cid)) .. " is looking at you.") end return true end ]]></event> <event type="login" name="peeper-login" event="buffer"><![CDATA[ registerCreatureEvent(cid, "peeper-event") _result = true ]]></event> </mod> -
action Provador de roupas - Você pisa no tile, e ele muda sua roupa.
um tópico no fórum postou larissaots Actions e Talkactions
Script feito por: biel.stocco e xWhiteWolf. Objetivo É um script de um tile provador, eu coloco o ActionID 1233 no piso e quando o player pisa, a outfit dele muda para uma já determinada e quando ele pisa fora, a outfit que o player estava usando volta.. ATENÇÃO: No script do provador.lua, após o "local outfit {", você precisa fazer as alterações para quais você preferir. Script movements.xml <movevent type="StepIn" actionid="1233" event="script" value="provador.lua"/> <movevent type="StepOut" actionid="1233" event="script" value="provador.lua"/> provador.lua local outfit = { [1] = {lookType = 5, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, [2] = {lookType = 6, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, [3] = {lookType = 340, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, [4] = {lookType = 322, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, [5] = {lookType = 351, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0} } function onStepIn(cid, item, pos) doCreatureSay(cid, "Uau, que outfit massa!", TALKTYPE_MONSTER) doSetCreatureOutfit(cid, outfit[math.random(1, #outfit)], -1) return true end function onStepOut(cid, item, position, fromPosition) doRemoveCondition(cid, CONDITION_OUTFIT) return true end -
Script feito por: Wakon. Objetivo Barco de Liberty Bay levando direto pra GOROMA, sem ser por sorte, igual aos barcos de outras cidades e barco de goroma, podendo voltar direto, sem precisar fazer quest. Tutorial \data\npc\scripts, abra Jack Fate.lua e substitua tudo por: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local lastSound = 0 function onThink() if lastSound < os.time() then lastSound = (os.time() + 5) if math.random(100) < 25 then Npc():say("Passages to Edron, Thais, Venore, Darashia, Ankrahmun, Yalahar, Port Hope and Goroma.", TALKTYPE_SAY) end end npcHandler:onThink() end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end end local travelNode = keywordHandler:addKeyword({'thais'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Thais?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=32310, y=32210, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'goroma'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Goroma?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=32161, y=32558, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'edron'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Edron?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=33173, y=31764, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'venore'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Venore?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=32954, y=32022, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'port hope'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Port Hope?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=32527, y=32784, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Darashia?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=33289, y=32480, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'ankrahmun'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Ankrahmun?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=33092, y=32883, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) local travelNode = keywordHandler:addKeyword({'yalahar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a passage to Yalahar?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=32816, y=31272, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'We would like to serve you some time.'}) keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Where do you want to go? To Edron, Thais, Venore, Darashia, Ankrahmun, Yalahar, Port Hope or Goroma.?'}) keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Where do you want to go? To Edron, Thais, Venore, Darashia, Ankrahmun, Yalahar, Port Hope or Goroma.?'}) keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'My name is Jack Fate from the Royal Tibia Line.'}) keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I\'m the captain of this sailing ship.'}) keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I\'m the captain of this sailing ship.'}) keywordHandler:addKeyword({'liberty bay'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'That\'s where we are.'}) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Sir |PLAYERNAME|.") npcHandler:setMessage(MESSAGE_FAREWELL, "Good bye. Recommend us if you were satisfied with our service.") npcHandler:setMessage(MESSAGE_WALKAWAY, "Good bye then.") npcHandler:addModule(FocusModule:new()) Agora abra Jack FateGoroma.lua e substitua tudo por: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 function creatureSayCallback(cid, type, msg) if(not(npcHandler:isFocused(cid))) then return false end if msgcontains(msg, 'liberty bay') then npcHandler:say("Do you want to travel back to Liberty Bay?", cid) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "yes") then if npcHandler.topic[cid] == 1 then doTeleportThing(cid, {x=32285, y=32891, z=6}) doSendMagicEffect({x=32285, y=32891, z=6}, CONST_ME_TELEPORT) npcHandler.topic[cid] = 0 end end return true end npcHandler:setMessage(MESSAGE_GREET, "Hello, Sir |PLAYERNAME|.") npcHandler:setMessage(MESSAGE_FAREWELL, "Good bye.") npcHandler:setMessage(MESSAGE_WALKAWAY, "Good bye then.") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
mod [TFS 1.x] Gaz'Haragoth (Heal + Magia + Teleport)
um tópico no fórum postou larissaots Mods, funções e outros
Créditos: luanluciano93 HEAL - Se o life dele chega a 50k, ele solta um aviso, e depois de 5 segundos heala 300k. Crie um arquivo em creaturescripts/scripts/ com o nome heal_gaz.lua e coloque esse código: -- <event type="healthchange" name="HealGaz" script="heal_gaz.lua"/> local config = { life_ative = 50000, life_add = 300000, seconds_ative = 5, gStorage = 90702, } local function Uheal(cid) local gaz = Monster(cid) gaz:addHealth(config.life_add) gaz:say("Gaz'haragoth HEALS himself!", TALKTYPE_MONSTER_SAY) gaz:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Game.setStorageValue(config.gStorage, 0) end function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if attacker then if creature:getHealth() < config.life_ative and Game.getStorageValue(config.gStorage) < 1 then creature:say("Gaz'haragoth beginns to draw on the nightmares to HEAL himself!", TALKTYPE_MONSTER_SAY) addEvent(Uheal, 1000 * config.seconds_ative, creature.uid) Game.setStorageValue(config.gStorage, 1) end end return primaryDamage, primaryType, secondaryDamage, secondaryType end A tag que deve add ao creaturescript.xml esta como comentário no script, é só adicionar. Depois para funcionar no Gaz, vá até o xml dele em monster e coloque em seu código: <script> <event name="HealGaz" /> </script> TELEPORT - Quem passa em cima do corpo dos summons do boss é teleportado para perto dele. Crie um arquivo em movements/scripts/ com o nome tp_gaz.lua e coloque esse código: -- <movevent event="StepIn" itemid="22455" script="teleport_gaz.lua"/> function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end local monster = Creature("Gaz'Haragoth") if monster then player:teleportTo(monster:getPosition()) else player:teleportTo(fromPosition) end return true end A tag que deve add ao movements.xml esta como comentário no script, é só adicionar. -
anúncio Novo sistema de Cargos e Novas pips!
tópico respondeu ao Administrador de larissaots em Noticias
NOSSA! Ficou tudo perfeito. Parabéns, sério!- 51 respostas
-
- novos cargos
- pips
-
(e 2 mais)
Tags:
-
Uma sugestão: Colocar para forçar a pessoa que for usar o programa, ter que logar com uma conta do xTibia, e ao abrir o programa, irá abrir uma página da web em que redirecionasse para esse tópico. Porque se uma pessoa postar o programa em outro fórum, o visitante será redirecionado para o site de origem (no caso, o xTibia).
-
Olá, venho novamente criar um tópico nessa seção. Eu estava reparando na lista da staff e notei duas coisas: Moderadores e Estagiários. O moderador Tony não entra desde o dia 12, e sua última postagem foi no INICIO DO MÊS PASSADO. Por mais competente que ele seja, creio que ele esteja tomando o lugar de um estagiário que entra todos os dias e que cumpre seu dever para que um dia torne-se moderador. Falando em estagiário, há 4 estagiários no momento (pelo que consta na lista), e apenas metade deles realmente se dedicam, outros nem fazem questão de entrar. Voltando no assunto de moderador, acho que deveria ter a criação do cargo de Coordenador aqui no fórum, que seria uma segunda voz do Daniel em caso de emergência e da ausência dele, o Coordenador que ficaria responsável por todo o fórum e repassaria tudo que fosse possível para o próprio Daniel. Seria uma força "a mais" no fórum. Há bastantes moderadores competentes pra assumir tal posição, então não acho que teria problema. Também deveria ter o cargo de Supporter, Mapper, Scripter, Programmer(...), onde o staff seria responsável apenas por uma área específica. É complicado para algumas pessoas se tornarem estagiárias, porque nem sempre elas entendem de todas as áreas do fórum (e não é culpa delas), e quando se tornam moderadores, não conseguem resolver todas as dúvidas justamente por isso, e ai o rendimento do fórum é menor comparado a como seria se fosse um staff para uma área específica. Sem falar que, uma pessoa que teria apenas a obrigação de moderar sua área, iria trazer mais qualidade ao fórum devido a oportunidade de trazer conteúdos próprios e até mesmo exclusivos, uma vez que, ela entende sobre o assunto. Lembrando que: Conteúdos próprios + exclusivos para o fórum = mais membros ativos. Dai a hierarquia funcionaria como qualquer fórum (exemplo): Membro > Estagiário > Mapper > Moderador > Coordenador. Então minha sugestão é essa. Beijos.
-
Eu também reparei nisso quando entrava aqui apenas para ler alguns tutoriais. Mudou muito, mas não deveria porque ainda há como reverter isso. Concordo... É triste isso, por isso tem que fazer algo pra voltar a ser como era antes, ou tentar...
-
sugestão Dúvida e sugestão: tópicos antigos
tópico respondeu ao larissaots de larissaots em Soluções
Sim, mas os autores dos tópicos não se pronunciaram mais sobre e deixaram o tópico ali mesmo, então acho que a dúvida já tenha sido resolvida. -
Sim, também! Mas pra ter suporte, precisa de conteúdos também, porque muitas das dúvidas vem através deles. Ah, que bom! O pessoal está um pouco desanimado aqui. Poderia analisar meus outros tópicos nessa seção também, por favor? Obrigada.
-
O rendimento do fórum está baixo, não há tantas pessoas postando como antes. Acho que para vocês mudarem esse quadro, seria procurar meios de incentivar os membros à postarem. Minha sugestão é a seguinte: Vocês criarem o membro do mês ou da semana. "Mas o que seria isso?" Há um hook para Invision Power Board (plataforma do xTibia), em que deixa dessa forma destacada: (Member of the month) No caso, vocês colocariam isso e o seguinte: O membro que postasse mais durante a semana ou durante o mês, ganharia destaque na index do fórum (assim como mostra o exemplo da imagem), um rank especial justamente pra isso e X pontos de reputação como recompensa. PORÉM, para evitar confusões, os tópicos seriam avaliados de acordo com as regras, e seriam contados OS TÓPICOS e não os POSTS da pessoa. Acho que isso seria um método de incentivar o pessoal à trazer o conteúdo ao fórum e até mesmo de trazer mais membros. Beijos.
-
Realmente é um bom investimento. Um exemplo disso foi o que recentemente passou em uma reportagem da Globo... Um garoto de apenas 14 anos que ganha 100 mil reais POR MÊS devido à um aplicativo criado pelo mesmo, que tem a função de venda de materiais escolares. Pra muitos, isso é bem simples, mas veja como o simples é útil e veja também como ele não ganha pouco, se ele investir mais ainda, ele ganhará mais. Hoje em dia há alguns sites que disponibilizam criação de aplicativos com alguns cliques, eles também oferecem planos para poder publicá-los no AppStore ou GooglePlay. Mas creio que se você planeja criar um aplicativo com design bem profissional, você deve criar um por mérito próprio, sem utilizar nenhum site. E de qualquer forma, tenha consciência de que você terá que gastar dinheiro, porque nada é de graça.
-
Nossa, eu era apaixonada por esses mapas. kkkkkkk Bom o conteúdo!
-
Qual a versão de seu servidor?
-
poketibia [Vídeo-aula] Criando servidor de PokeTibia! (Internet compartilhada)
um tópico no fórum postou larissaots Tutoriais para Iniciantes
Créditos: JoaooOliveiraa -
otserv Conectando-se em um VPS Windows
um tópico no fórum postou larissaots Tutoriais de Infraestrutura
1. Conexão de Área de Trabalho Remota Se você contratou um servidor de vps com sistema operacional "Windows", para conectar você poderá utilizar uma ferramenta fornecida pelo mesmo chamado "Microsoft Remote Desktop" que possibilita você a se conectar ao seu servidor. Para utilizar o aplicativo de conexão ao servidor, basta acionar as teclas "Windows" e "R" ao mesmo tempo e, quando aparecer a janela "Executar", digine "mstsc.exe" e basta pressionar o botão "ok", conforme a imagem abaixo: 2. Aguarde até o aplicativo carregar e certifique-se de que a seguinte janela apareça na tela: Agora digite o endereço do seu servidor (fornecido anteriormente) e clique em "Conectar". Nota: O endereço do servidor é formado pela designação do serviço, seguido da identificação da instancia do servidor e o domínio da empresa que você contratou. (Exemplo: vps-01.serversoft.com.br). 3. Após “Conectar”, aguarde até que o seu servidor solicite as credenciais de acesso, que você também recebeu anteriormente. Para um primeiro acesso coloque o usuario .\administrator e sua Senha, (.\administrator indica uma nova conexão) Nota: para servidores em plataforma Windows, normalmente o usuário fornecido é o “administrator” e a senha padrão. Importante: por ser uma senha conhecida, recomendo a troca imediata. 4. Aguarde até que a conexão seja estabelecida e a área de trabalho remota seja apresentada, conforme a figura a seguir: Observe o número no campo superior direito da tela. Essa é a identificação de sua máquina virtual. Créditos: Stigal -
action Exp necessária para próximo level
tópico respondeu ao larissaots de larissaots em Actions e Talkactions
Amigo, leia o tópico e veja que a criadora do script não fui eu, então automaticamente não coloquei nada. Apenas trouxe o conteúdo ao fórum porque vi pessoas falando que funcionava. Mas obrigada pela correção. rs -
Créditos à Wakon. Tutorial Em data/creaturescripts/scripts, no arquivo login.lua, adicione isso antes do ultimo return true: for b = 1, 5 do if player:getLevel(cid) <= 50 then player:addBlessing(cid, b) end end O "50" representa o level.
-
Créditos à MarcosFraga. Tutorial data/actions/scripts, crie o arquivo doublexp.lua function onUse(cid, item, frompos, item2, topos) local pausa = 1800000 -- (1000 = 1 segundos) Tempo que o script durará local texto = 'You receive double the experience to kill a monster for 30 minutes.' -- Texto que irá receber ao usar a potion. textofinal = 'Its just minutes.' -- Texto que irá receber quando o efeito da potion acabar. local exp = 2 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server. expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal. if item.itemid == 7443 then -------- MUDE ESSE 7443 PARA O ID DO ITEM doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) doPlayerSendTextMessage(cid,22,texto) addEvent(potion,pausa,cid) end end function potion(pos, cid) doPlayerSetExperienceRate(pos,expfinal) doPlayerSendTextMessage(pos,22,textofinal) end actions.xml <action itemid="ID DO ITEM" script="doublexplua" />
-
action Retirar o uso de x outfit e colocar para consegui-lo só através de quest
um tópico no fórum postou larissaots Actions e Talkactions
Créditos à Suicide. Objetivo Esse script serve para você retirar o uso de certo outfit (ex: Assassin) e que só possa conseguir pegá-lo, através de quest. Tutorial No tutorial será utilizado o exemplo de como retirar o acesso do uso do outfit de Assassin, e como colocar para consegui-lo através de quest. data/XML/outfits.xml: <outfit id="13" quest="31013"> <list gender="0" lookType="156" name="Assassin"/> <list gender="1" lookType="152" name="Assassin"/> </outfit> ou <outfit id="13" storageId="31013" storageValue="1"> <list gender="0" lookType="156" name="Assassin"/> <list gender="1" lookType="152" name="Assassin"/> </outfit> data/actions/scripts, crie o arquivo assassinquest.lua function onUse(cid, item, fromPos, item2, toPos) local stor = 31013 -- storage if getPlayerStorageValue(cid, stor) < 1 then setPlayerStorageValue(cid, stor, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns! Agora você pode usar seu novo outfit!") else doPlayerSendCancel(cid, "Você já pegou seu outfit!") end return true end data/actions/actions.xml: <action actionid="ACTIONID" script="assassinquest.lua"/> -
creatureevent Mensagens para iniciantes em forma de popup (com storage)
um tópico no fórum postou larissaots Globalevents e Spells
Créditos à Kaneki. Objetivo O player quando logar pela primeira vez, aparecerá um popup que poderá ser um texto de ajuda para os novatos, ou como preferir. Ele aparecerá apenas uma vez. Tutorial Newlogin.lua function onLogin(cid) local config = { msginiciantes = "Bem vindo", sto = 13540, -- STORAGE } if getPlayerStorageValue(cid, sto) <= 0 then doPlayerPopupFYI(cid, config.msginiciantes) setPlayerStorageValue(cid, sto, 1) end return true end Creaturescripts.xml <event type="login" name="NewLogin" event="script" value="newlogin.lua"/> Login.lua registerCreatureEvent(cid, "NewLogin") -
creatureevent DoubleEXP automático em determinados dias da semana
um tópico no fórum postou larissaots Globalevents e Spells
Créditos à nookia. Tutorial Vá na pasta creaturescripts, abre o creaturescripts.xml e adicione a seguinte tag: <event type="login" name="DoubleXP" event="script" value="DoubleXP.lua"/> Agora vá em creaturescripts/scripts e crie um arquivo chamado DoubleXP.lua e adicione: -- Monday = Segunda -- Tuesday = Terça -- Wednesday = Quarta -- Thursday = Quinta -- Friday = Sexta -- Saturday = Sabado -- Sunday = Domingo function onLogin(cid) DoubleDays = {"Saturday", "Sunday"} if isInArray(DoubleDays, os.date("%A")) then doPlayerSetRate(cid, SKILL__LEVEL, 2.0) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Double XP]\nHoje estamos em evento de Double XP!\nAproveite.") end return true end -
npc Ganhar montaria após sair de rookgaard + falas do oráculo traduzidas
um tópico no fórum postou larissaots NPCs, monsters e raids
Esse script foi modificado por mim (Larissa Azhaurn). Aproveitei e também traduzi a fala do Oráculo, porém, é só a fala dele mesmo. Utilizei script 10.76. É bem simples, porém, pra deixar diferente do clichê de outros servidores. Está indicado no script onde você deve alterar para mudar o ID da mount. Tutorial Vá em \data\npc\scripts, abra o arquivo The Oracle. Modifique tudo por isso: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local vocation = {}local town = {} local config = { towns = { ["venore"] = 1, ["thais"] = 2, ["carlin"] = 4 }, vocations = { ["sorcerer"] = { text = "Você escolheu: SORCERER! TEM CERTEZA? NÃO TERÁ COMO MUDAR ESSA DECISÃO!", vocationId = 1, --equipment spellbook, wand of vortex, magician's robe, mage hat, studded legs, leather boots, scarf {{2175, 1}, {2190, 1}, {8819, 1}, {8820, 1}, {2468, 1}, {2643, 1}, {2661, 1}}, --container rope, shovel, mana potion {{2120, 1}, {2554, 1}, {7620, 1}} }, ["druid"] = { text = "Você escolheu: DRUID! TEM CERTEZA? NÃO TERÁ COMO MUDAR ESSA DECISÃO!", vocationId = 2, --equipment spellbook, snakebite rod, magician's robe, mage hat, studded legs, leather boots scarf {{2175, 1}, {2182, 1}, {8819, 1}, {8820, 1}, {2468, 1}, {2643, 1}, {2661, 1}}, --container rope, shovel, mana potion {{2120, 1}, {2554, 1}, {7620, 1}} }, ["paladin"] = { text = "Você escolheu: PALADIN! TEM CERTEZA? NÃO TERÁ COMO MUDAR ESSA DECISÃO!", vocationId = 3, --equipment dwrven shield, 5 spear, ranger's cloak, ranger legs scarf, legion helmet {{2525, 1}, {2389, 5}, {2660, 1}, {8923, 1}, {2643, 1}, {2661, 1}, {2480, 1}}, --container rope, shovel, health potion, bow, 50 arrow {{2120, 1}, {2554, 1}, {7618, 1}, {2456, 1}, {2544, 50}} }, ["knight"] = { text = "Você escolheu: Knight! TEM CERTEZA? NÃO TERÁ COMO MUDAR ESSA DECISÃO!", vocationId = 4, --equipment dwarven shield, steel axe, brass armor, brass helmet, brass legs scarf {{2525, 1}, {8601, 1}, {2465, 1}, {2460, 1}, {2478, 1}, {2643, 1}, {2661, 1}}, --container jagged sword, daramian mace, rope, shovel, health potion {{8602, 1}, {2439, 1}, {2120, 1}, {2554, 1}, {7618, 1}} } } } 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 function greetCallback(cid) local player = Player(cid) local level = player:getLevel() if level < 8 then npcHandler:say("Apenas jogadores de level 8 ou 9 podem sair de rookgaard. VÁ UPAR!", cid) npcHandler:resetNpc(cid) return false elseif level > 31 then npcHandler:say(player:getName() ..", você não pode mais sair desse mundo! Apenas jogadores de level 8 ou 9 podem sair de rookgaard. Por favor, crie outro char e tome cuidado para não passar do level 9 novamente.", cid) npcHandler:resetNpc(cid) return false elseif player:getVocation():getId() > 0 then npcHandler:say("Você já tem uma vocação!", cid) npcHandler:resetNpc(cid) return false else npcHandler:setMessage(MESSAGE_GREET, player:getName() ..", VOCÊ ESTÁ PREPARADO PRA SAIR DE ROOKGAARD?") end return true end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local player = Player(cid) if npcHandler.topic[cid] == 0 then if msgcontains(msg, "yes") then npcHandler:say("Em que cidade deseja morar: {CARLIN}, {THAIS}, ou {VENORE}?", cid) npcHandler.topic[cid] = 1 end elseif npcHandler.topic[cid] == 1 then local cityTable = config.towns[msg:lower()] if cityTable then town[cid] = cityTable npcHandler:say("Você escolheu: ".. string.upper(msg) .."! E que vocação você escolhe: {KNIGHT}, {PALADIN}, {SORCERER} ou {DRUID}?", cid) npcHandler.topic[cid] = 2 else npcHandler:say("Em que cidade deseja morar: {CARLIN}, {THAIS} ou {VENORE}?", cid) end elseif npcHandler.topic[cid] == 2 then local vocationTable = config.vocations[msg:lower()] if vocationTable then npcHandler:say(vocationTable.text, cid) npcHandler.topic[cid] = 3 vocation[cid] = vocationTable.vocationId else npcHandler:say("{KNIGHT}, {PALADIN}, {SORCERER} ou {DRUID}? Responde logo!", cid) end elseif npcHandler.topic[cid] == 3 then if msgcontains(msg, "yes") then npcHandler:say("SO BE IT!", cid) player:setVocation(Vocation(vocation[cid])) player:setTown(Town(town[cid])) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:addMount(23) ------------------------------------------------------------------ AQUI VOCE COLOCA O ID DA MOUNT player:teleportTo(Town(town[cid]):getTemplePosition()) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você recebeu uma backpack com todos os equipamentos iniciais! Boa sorte em sua nova jornada e vê se não arrega nas wars! :)") local targetVocation = config.vocations[Vocation(vocation[cid]):getName():lower()] for i = 1, #targetVocation[1] do player:addItem(targetVocation[1][i][1], targetVocation[1][i][2]) end local backpack = player:addItem(1988) for i = 1, #targetVocation[2] do backpack:addItem(targetVocation[2][i][1], targetVocation[2][i][2]) end else npcHandler:say("ESCOLHE LOGO ENTRE UMA DESSAS VOCAÇÕES: {KNIGHT}, {PALADIN}, {SORCERER}, OU {DRUID}?", cid) npcHandler.topic[cid] = 2 end end return true end local function onAddFocus(cid) town[cid] = 0 vocation[cid] = 0 end local function onReleaseFocus(cid) town[cid] = nil vocation[cid] = nil end npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus) npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus) npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setMessage(MESSAGE_FAREWELL, "Volte quando você estiver preparado!") npcHandler:setMessage(MESSAGE_WALKAWAY, "Volte quando você estiver preparado!") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.