Postado Dezembro 24, 2018 6 anos Distro: OTX Malucoo | TFS 1.3; Boa noite, pessoal. Estou com uma distro que preciso completar todas as missions para ter acesso, por exemplo: Acesso Yalahar Porém mesmo assim não aparece no questlog, tentei criar um novo char e mesmo assim, não funcionou. Este é meu login.lua; Linha 187: player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3) --> Mesmo assim não funciona. Estou fazendo algo errado? local events = { 'ElementalSpheresOverlords', 'BigfootBurdenVersperoth', 'Razzagorn', 'Shatterer', 'Zamulosh', 'The Hunger', 'The Rage', 'Eradicator', 'Eradicator1', 'Rupture', 'World Devourer', 'Tarbaz', 'Shulgrax', 'Ragiaz', 'Plagirath', 'Mazoran', 'Destabilized', 'BigfootBurdenWiggler', 'SvargrondArenaKill', 'NewFrontierShardOfCorruption', 'NewFrontierTirecz', 'ServiceOfYalaharDiseasedTrio', 'ServiceOfYalaharAzerus', 'ServiceOfYalaharQuaraLeaders', 'InquisitionBosses', 'InquisitionUngreez', 'KillingInTheNameOfKills', 'KillingInTheNameOfKillss', 'KillingInTheNameOfKillsss', 'MastersVoiceServants', 'SecretServiceBlackKnight', 'ThievesGuildNomad', 'WotELizardMagistratus', 'WotELizardNoble', 'WotEKeeper', 'Maxxed', 'WotEBosses', 'WotEZalamon', 'WarzoneThree', 'PlayerDeath', 'AdvanceSave', 'bossesWarzone', 'AdvanceRookgaard', 'PythiusTheRotten', 'DropLoot', 'Yielothax', 'BossParticipation', 'Energized Raging Mage', 'Raging Mage', 'modalMD1', 'VibrantEgg', 'DeathCounter', 'KillCounter', 'bless1', 'lowerRoshamuul', 'SpikeTaskQuestCrystal', 'SpikeTaskQuestDrillworm', 'petlogin', 'Idle', 'petthink', 'UpperSpikeKill', 'MiddleSpikeKill', 'LowerSpikeKill' } local function onMovementRemoveProtection(cid, oldPosition, time) local player = Player(cid) if not player then return true end local playerPosition = player:getPosition() if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then player:setStorageValue(Storage.combatProtectionStorage, 0) return true end addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1) end function onLogin(player) local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. '!' if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. ' Please choose your outfit.' player:setBankBalance(0) player:setOutfit({lookType = (player:getSex() == 1 and 128 or 136), lookHead = 78, lookBody = 106, lookLegs = 58, lookFeet = 76}) player:sendTutorial(1) else if loginStr ~= "" then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end loginStr = string.format('Your last visit was on %s.', os.date('%a %b %d %X %Y', player:getLastLoginSaved())) end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) local playerId = player:getId() player:loadSpecialStorage() --[[-- Maintenance mode if (player:getGroup():getId() < 2) then return false else end--]] if (player:getGroup():getId() >= 4) then player:setGhostMode(true) end -- Stamina nextUseStaminaTime[playerId] = 1 -- EXP Stamina nextUseXpStamina[playerId] = 1 -- Prey Stamina for i = 1, 3 do nextUseStaminaPrey[playerId + i] = {Time = 1} end -- Prey Data if (player:getVocation():getId() ~= 0) then local columnUnlocked = getUnlockedColumn(player) if (not columnUnlocked) then columnUnlocked = 0 end for i = 0, columnUnlocked do sendPreyData(player, i) end end if (player:getAccountType() == ACCOUNT_TYPE_TUTOR) then local msg = [[:: Regras Tutor :: 1*>3 Advertências você perde o cargo. 2*>Sem conversas paralelas com jogadores no Help, se o player começar a ofender, você simplesmente o mute. 3*>Seja educado com os player no Help e principalmente no Privado, tenta ajudar o máximo possível. 4*>Sempre logue no seu horário, caso não tiver uma justificativa você será removido da staff. 5*>Help é somente permitido realizar dúvidas relacionadas ao tibia. 6*>Não é Permitido divulgar time pra upar ou para ajudar em quest. 7*>Não é permitido venda de itens no Help. 8*>Caso o player encontre um bug, peça para ir ao site mandar um ticket e explicar em detalhes. 9*>Mantenha sempre o Chat dos Tutores aberto. (obrigatório). 10*>Você terminou de cumprir seu horário, viu que não tem nenhum tutor Online, você comunica com algum CM in-game ou ts e fica no help até alguém logar, se der. 11*>Mantenha sempre um ótimo português no Help, queremos tutores que dêem suporte, não que fiquem falando um ritual satânico. 12*>Se ver um tutor fazendo algo que infrinja as regras, tire uma print e envie aos superiores." -- Comandos -- Mutar Player: /mute nick,90. (90 segundos) Desmutar Player: /unmute nick. -- Comandos --]] player:popupFYI(msg) end -- OPEN CHANNERLS (ABRIR CHANNELS) if table.contains({"Rookgaard", "Dawnport"}, player:getTown():getName())then player:openChannel(6) -- advertsing rook main else player:openChannel(5) -- advertsing main end player:openChannel(3) -- world chat --player:openChannel(7) -- help channel -- Rewards local rewards = #player:getRewardList() if(rewards > 0) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You have %d %s in your reward chest.", rewards, rewards > 1 and "rewards" or "reward")) end -- Update player id local stats = player:inBossFight() if stats then stats.playerId = player:getId() end -- Events for i = 1, #events do player:registerEvent(events[i]) end if player:getStorageValue(Storage.combatProtectionStorage) < 1 then player:setStorageValue(Storage.combatProtectionStorage, 1) onMovementRemoveProtection(playerId, player:getPosition(), 10) player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3) end -- Exp stats local staminaMinutes = player:getStamina() local Boost = player:getExpBoostStamina() if staminaMinutes > 2400 and player:isPremium() then player:setStaminaXpBoost(150) -- 200 = 1.0x, 200 = 2.0x, ... premium account elseif staminaMinutes <= 840 then player:setStaminaXpBoost(50) -- 50 = 0.5x all players else player:setStaminaXpBoost(100) end player:setStoreXpBoost(Boost > 0 and 50 or 0) return true end Editado Dezembro 24, 2018 6 anos por Talis T. Foesten Atualização (veja o histórico de edições)
Postado Dezembro 24, 2018 6 anos @Talis T. Foesten Você adicionou certinho em data/xml/quests.xml ? Pois para parecer ai no quest log você deve fazer isso: <quest name="NAME QUEST" startstorageid="STORAGE PRINCIPAL" startstoragevalue="0" endvalue="1"> <mission name="NAME MISSIONS" storageid="STORAGE MISSIONS" startvalue="0" endvalue="1"> <missionstate id="1" description="Mensagem de dentro da mission..."/> </mission> </quest> -- Fora que tbm Storage.WrathoftheEmperor.Mission01 Esta sendo setado em alguma LIB ? Só pegar o storage e ir jogando la no quests.xml Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
Postado Dezembro 24, 2018 6 anos Autor @tataboy67 Creio não ser isso, pois estou utilizando os proprios IDs que estão no 051-storages.lua e em quests.xml. Login.lua -- Events for i = 1, #events do player:registerEvent(events[i]) end if player:getStorageValue(Storage.combatProtectionStorage) < 1 then player:setStorageValue(Storage.combatProtectionStorage, 1) onMovementRemoveProtection(playerId, player:getPosition(), 10) --Quests Liberadas --InServiceofYalahar player:setStorageValue(Storage.InServiceofYalahar.Questline, 5) player:setStorageValue(Storage.InServiceofYalahar.Mission01, 6) player:setStorageValue(TheWayToYalahar.QuestLine, 30) end 051-storages.lua TheWayToYalahar = { QuestLine = 30 }, InServiceofYalahar = { Questline = 12240, -- Storage through the Quest Mission01 = 12241, Mission02 = 12242, Mission03 = 12243, Mission04 = 12244, Mission05 = 12245, Mission06 = 12246, Mission07 = 12247, Mission08 = 12248, Mission09 = 12249, Mission10 = 12250, SewerPipe01 = 12251, SewerPipe02 = 12252, SewerPipe03 = 12253, SewerPipe04 = 12254, DiseasedDan = 12255, DiseasedBill = 12256, DiseasedFred = 12257, AlchemistFormula = 12258, BadSide = 12259, GoodSide = 12260, MrWestDoor = 12261, MrWestStatus = 12262, TamerinStatus = 12263, MorikSummon = 12264, QuaraState = 12265, QuaraSplasher = 12266, QuaraSharptooth = 12267, QuaraInky = 12268, MatrixState = 12269, SideDecision = 12270, MatrixReward = 12271, NotesPalimuth = 12272, NotesAzerus = 12273, DoorToAzerus = 12274, DoorToBog = 12275, DoorToLastFight = 12276, DoorToMatrix = 12277, DoorToQuara = 12278, DoorToReward = 12279 }, Quests.xml <quest name="In Service of Yalahar" startstorageid="12240" startstoragevalue="5"> <mission name="Mission 01: Something Rotten" storageid="12241" startvalue="1" endvalue="6"> <missionstate id="1" description="Palimuth asked you to help with some sewer malfunctions. You will need a Crowbar, there are 4 places where you need to go marked with an X on your map." /> <missionstate id="2" description="You cleaned 1 pipe of 4 from the garbage." /> <missionstate id="3" description="You cleaned 2 pipes of 4 from the garbage." /> <missionstate id="4" description="You cleaned 3 pipes of 4 from the garbage." /> <missionstate id="5" description="You cleaned 4 pipes of 4 from the garbage. Go back to Palimuth and report your mission" /> <missionstate id="6" description="You cleaned all pipes from the garbage! Go back to Palimuth and ask for mission." /> </mission> <mission name="Mission 02: Watching the Watchmen" storageid="12242" startvalue="1" endvalue="8"> <missionstate id="1" description="You have to find all 7 guards and give a report to them." /> <missionstate id="2" description="You reported to 1 of 7 guards" /> <missionstate id="3" description="You reported to 2 of 7 guards" /> <missionstate id="4" description="You reported to 3 of 7 guards" /> <missionstate id="5" description="You reported to 4 of 7 guards" /> <missionstate id="6" description="You reported to 5 of 7 guards" /> <missionstate id="7" description="You reported to 6 of 7 guards" /> <missionstate id="8" description="You reported to 7 of 7 guards! Go back to Palimuth and ask for mission." /> </mission> <mission name="Mission 03: Death to the Deathbringer" storageid="12243" startvalue="1" endvalue="6"> <missionstate id="1" description="Get the notes in Palimuths room and read them. Talk to Palimuth again when you've read the notes." /> <missionstate id="2" description="Talk to Azerus the Yalahari in the city centre to get your next mission." /> <missionstate id="3" description="Get the notes behind the Yalahari and read them. Talk to Azerus again and ask him for mission when you've read the notes." /> <missionstate id="4" description="Ask Palimuth for mission." /> <missionstate id="5" description="First you will need to kill the three plague bearers and then get The Alchemists' Formulas. When this have been done head back to either Palimuth (good side) or Yalahari (Azerus) (bad side)." /> <missionstate id="6" description="Ask Azerus the Yalahari for a mission." /> </mission> <mission name="Mission 04: Good to be Kingpin" storageid="12244" startvalue="1" endvalue="6"> <missionstate id="1" description="Ask Palimuth for mission." /> <missionstate id="2" description="For this mission you are asked to go to the Trade Quarter and negotiate or threaten Mr. West. Once again you will gain access to the mechanism although if you choose to help Palimuth you should go through the sewers." /> <missionstate id="3" description="You decided to help Palimuth, report him your mission." /> <missionstate id="4" description="You decided to help Azerus, report him your mission. " /> <missionstate id="5" description="Get back to Azerus and report him your mission." /> <missionstate id="6" description="Ask Azerus for a mission." /> </mission> <mission name="Mission 05: Food or Fight" storageid="12245" startvalue="1" endvalue="8"> <missionstate id="1" description="Ask Palimuth for mission." /> <missionstate id="2" description="On this mission you are asked to find a druid by the name of Tamerin, on the Arena Quarter. You now have permission to use the gates mechanism." /> <missionstate id="3" description="The first is to bring Tamerin a flask of Animal Cure, you can buy this from Siflind on Nibelor (northeast of Svargrond)." /> <missionstate id="4" description="now you have to kill Morik the Gladiator and bring his helmet to Tamerin as proof." /> <missionstate id="5" description="Report back to Tamerin as he will listen to your request and you can now make your choice: Cattle for Palimuth (good side), Warbeasts for Yalahari (Azerus) (bad side). Then report the one you decided your mission." /> <missionstate id="6" description="You decided to help Palimuth, report him your mission." /> <missionstate id="7" description="You decided to help Azerus, report him your mission." /> <missionstate id="8" description="Ask Azerus for a mission." /> </mission> <mission name="Mission 06: Frightening Fuel" storageid="12246" startvalue="1" endvalue="5"> <missionstate id="1" description="Ask Palimuth for mission." /> <missionstate id="2" description="Yalahari (Azerus) orders you to travel to the Cemetery Quarter and find the Strange Carving. He gives you a Ghost Charm and tells you to charge it with the tormented souls of the ghosts there to be used as an energy source. Palimuth wants the Charged Ghost Charm in order to free those souls. You can new use the Cemetery Quarter mechanism now. Go to the big building in the Cemetery Quarter and use the Ghost Charm on the Strange Carving at the back of the room." /> <missionstate id="3" description="Good side: Go to Palimuth, ask him about your mission, and hand in the charm. Bad side: Ask about your mission to Yalahari (Azerus) and give it back." /> <missionstate id="4" description="Get back to Azerus and report him your mission." /> <missionstate id="5" description="Ask Azerus for a mission." /> </mission> <mission name="Mission 07: A Fishy Mission" storageid="12247" startvalue="1" endvalue="5"> <missionstate id="1" description="Ask Palimuth for mission." /> <missionstate id="2" description="Bad side: Yalahari (Azerus) will send you for a new mission to go to the Sunken Quarter and kill the Quara Leaders, Inky, Splasher and Sharptooth. Good side: Rather than fighting any Quara leaders Palimuth will instead send you to find the cause for the Quaras aggressive behavior. Find Maritima and talk to her about the Quara and she will explain what their problem is." /> <missionstate id="3" description="Get back to Palimuth and report him your mission." /> <missionstate id="4" description="You killed the Quarabosses. Ask Azerus for a mission." /> <missionstate id="5" description="Ask Azerus for a mission." /> </mission> <mission name="Mission 08: Dangerous Machinations" storageid="12248" startvalue="1" endvalue="4"> <missionstate id="1" description="Ask Palimuth for mission." /> <missionstate id="2" description="Bad side: For this mission the Yalahari requests you go to the Factory Quarter and find a pattern crystal, which will be used to supply weapons to help take control of the city. Good side: Palimuth will send you there to use the crystal to supply food for the city." /> <missionstate id="3" description="Get back to Azerus and report him your mission." /> <missionstate id="4" description="Ask Azerus for a mission." /> </mission> <mission name="Mission 09: Decision" storageid="12249" startvalue="1" endvalue="2"> <missionstate id="1" description="You now need to decide between supporting Palimuth or the Yalahari's goal. To choose Palimuth's good side go to him, and simply ask him for a mission mission. Likewise, to join the Yalahari (Azerus) (bad side) go to him and say the same." /> <missionstate id="2" description="you already decided!" /> </mission> <mission name="Mission 10: The Final Battle" storageid="12250" startvalue="1" endvalue="5"> <missionstate id="1" description="Palimuth told you that a circle of Yalahari is planning some kind of ritual. They plan to create a portal for some powerful demons and to unleash them in the city to 'purge' it once and for all." /> <missionstate id="2" description="The entrance to their inner sanctum has been opened for you. Be prepared for a HARD battle! Better gather some friends to assist you." /> <missionstate id="3" description="Report back to whichever principal you have chosen to help and you will receive Yalaharian Outfits." /> <missionstate id="4" description="You got the access to the reward room. Choose carefully which reward you pick as you can only take one item." /> <missionstate id="5" description="You have completed the Quest!" /> </mission> </quest> Tentei com Get e com Set, porém nenhum surtiu efeito.
Postado Dezembro 25, 2018 6 anos Autor Podem encerrar o tópico, já consegui. --Para quem quiser, solução; --Procurar no login.lua: player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) --Adicionar abaixo, exemplo yalahar quest: --Quests Liberadas; --In Service of Yalahar -->player:setStorageValue(Storage.NOME_QUEST_NO_ARQUIVO_051-storages.lua.ID OU NOME REFERENTE AO START DA QUEST EM QUESTS.XML, ID REFERENTE AO START OU O END DA QUEST) player:setStorageValue(Storage.InServiceofYalahar.Questline, 5) --> START player:setStorageValue(Storage.InServiceofYalahar.Mission01, 6) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission02, 8) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission03, 6) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission04, 6) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission05, 8) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission06, 5) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission07, 5) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission08, 4) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission09, 2) --> END MISSION player:setStorageValue(Storage.InServiceofYalahar.Mission10, 1) --> OPEN MISSION
Postado Dezembro 26, 2018 6 anos Eu fiz uma publicação de um pequeno código que é melhor estruturado, caso prefira. Tenha cuidado na organização de seus códigos, porque no futuro para uma manutenção se torna complicado. Discord: vankk #7765 Precisando de ajuda? Entre em contato comigo via Discord. Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.
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.