Pesquisar na Comunidade
Mostrando resultados para as tags ''task''.
Encontrado 27 registros
-
The Forgotten Tibia Server The Forgotten Tibia Server é um emulador de server MMORPG grátis de código aberto escrito em C++. É uma ramificação do projeto The Forgotten Server 1.3. Para se conectar ao server você precisará do The Forgotten Tibia Client (um cliente customizado feito do OTClient por mim - vc_redist.x86.exe é necessário) que você pode baixar no final dessa página. Traduzirei o resto da página em breve. What makes it different from The Forgotten Server 1.3? (you can see the diff analysis here) There are no vocations: Everyone starts as a normal human being with some points to be distributed among the skills. There is no skill training: It uses a system to advance skills by distributing points. All clubs, swords and axes damage are based on strenght. Distance weapons damage are based on strenght and/or dexterity. Two-handed melee weapons gives critical hit chance and critical hit damage. The more levels you get, less points you receive. Skills (some stats may be working a little different, check images) Magic (+ spell power, + rune power, + mana) Vitality (+ health) Strenght (+ physical damage) Dexterity (+ distance damage, + walk speed, + attack speed) Faith (+ support spells, + rod max damage, + mana) Intelligence (+ attack spells, + wand max damage, + mana) Defence (+ physical defence) Endurance (+ capacity, + health) Custom Systems (values may be different) Dual Wield: The player can use 2 weapons (for example: club and sword, axe and spear, sword and throwing knife). The attack speed will be fixed in 200% but the damage will drop to 75%. Each combat turn the player will use one hand to defend and the other to attack. Two Handed Melee Weapons: All two-handed melee weapons give +25% of critical hit chance and +100% of critical hit amount. Also, they have a chance of giving a bleeding effect to the target. Auto Loot Gold: The money dropped from monsters goes directly to the player. Quiver: Distance weapons are loading ammo from container item in the arrow slot and there is a new container item called "quiver". Wands and Rods varying with skills: Intelligence and faith raises the wands/rods maximum damage. Spells based on Faith and Intelligence: There is no level and vocation requirement for spells. The more you raise faith and intelligence, more spells you get. Screen with one more tile: It was added one more square meter to the screen. Title: After you reach a certain minimum value of magic, strenght or dexterity, you can choose a title to display when people look at your character. Spacebar Attack: When you use that feature from the client with autoloot gold and addons you can almost hunt without your mouse. Things You Need To Know I stopped working on this server suddenly, 4 months ago, to focus on my graduation and study other things like making games on Unity or penetration tests with Linux, also because I think you need a lot of passion and money to spend on publicity to make players enter and stay. The last thing I remember I was developing was a War System that should work integrated with the normal server, so people would play a for-fun server or a serious-rpg-server. You may want to disable the system in data files. I don't remember which files are used for this. I've made a correction recommended by Mark Saman on monster's AI system (this solves the laggy movement from fast monsters), but that change can make the server lag if there is too much players online interacting with monsters). Same as Capture The Flag system, I don't know if it's working perfectly. You may want to disable it in data files and I don't remember which files are used. I don't know if the schema.sql file available in my repository works for this server. I still have to remove passwords and accounts from the one I was using to make it available for public. The map is a mix of Svargrond, Yalahar, YurOTS, The Forgotten Server's official map and many hunting places and quests from global map. There are NPCs for tasks, blessings, bank and mount systems. The OTClient version used for this project is much more outdated then the The Forgotten Server version, one of the known bugs is the non-smoothly-walk-system. I disabled many features from OTClient's interface. Client and server compiled with Microsoft Visual Studio, I don't remember which version but I think client was with 2013 and server with 2015. There is a project folder to open the projects on Microsoft Visual Studio. You will have a lot of work to do if you want to change the spells values, in the client you need to change in 2 files and in the server you need to change in 1 I think. In some places its written "resistance" but in the clients interface its "defence". They are the same thing. Useful Links GitHub Official Repository (with data folder and schema): GustavoContreiras/TheForgottenTibiaServer (https://github.com/GustavoContreiras/TheForgottenTibiaServer) DLLs, .exe, sources: GustavoContreiras/TheForgottenTibiaServer (https://github.com/GustavoContreiras/TheForgottenTibiaServer/releases) Differences TFS 1.3 / TFTS 0.8: The Forgotten Tibia Server. · GustavoContreiras/TheForgottenTibiaServer@ce89322 (https://github.com/GustavoContreiras/TheForgottenTibiaServer/commit/ce89322c08799231f9704e65572a2ffa11fc4d2f) GitHub Official Repository of the client: GustavoContreiras/TheForgottenTibiaClient (https://github.com/GustavoContreiras/TheForgottenTibiaClient) Images Interesting Things data/actions/scripts/other/ctf.lua (when click on the flag of capture the flag arena) data/actions/scripts/other/yurez_ship.lua (when click on the wheel of the ship teleports) data/actions/scripts/other/send_cancel.lua (when click, send cancel message) data/actions/scripts/other/fulloutfits.lua (when click, give full outfits) data/creaturescripts/scripts/arena.lua data/creaturescripts/scripts/skillpoints.lua data/creaturescripts/scripts/killtasks.lua data/creaturescripts/scripts/ctf.lua data/globalevents/scripts/ctf.lua data/globalevents/scripts/dailyserversave.lua data/globalevents/scripts/raids.lua data/lib/core/ctf.lua (many lua functions used by ctf system) data/lib/core/skillpoints.lua (many lua functions used by skillpoints systems) data/lib/core/player.lua (many new lua functions) data/movements/scripts/dual_wield.lua (changes players stats when move second weapon to hand) data/movements/scripts/arena.lua (configure enter and exit teleports and set storage for arena) data/spells/spells.xml (intelligence and faith values - changes must be applied on otclient files too) data/talkactions/scripts/skillpoints.lua data/talkactions/scripts/title.lua data/weapons/scripts/bleeding_effect.lua.lua data/npc/scripts/guide.lua data/npc/scripts/bless.lua data/npc/scripts/bank.lua data/npc/scripts/tasks.lua data/npc/scripts/The Oracle.lua Fibula(client+minimap)260918.zip TheForgottenTibiaServer-0.8.zip TheForgottenTibiaServer-x64.exe DLLs.zip DLLs.zip Fibula(client+minimap)260918.zip TheForgottenTibiaServer-0.8.zip TheForgottenTibiaServer-x64.zip
-
Já procurei aqui no fórum, testei os principais (os do omega, vodkart, killua) e deram bugs e/ou não foram exatamente como gostaria. >Queria um sistema bem simples - acredito eu - que seria um onde tem o npc com as tasks, voce pede a task, mata as criaturas, entrega a task ao mesmo e ganha xp, dinheiro e itens; >Também gostaria que desse para fazer a task mesma task quantas vezes quiser; >Por fim queria uma talkaction que mostrasse as tasks disponíveis no servidor (porque no meu server vai ter mais de 100 tasks, daí fica mais organizado). Quem estiver com vontade de fazer para mim, pode colocar só uma ou duas tasks, aos outras eu vou adicionando. Eu acredito que não é algo rápido de se fazer então já digo, sou paciente Não sei qual o T.F.S. do servidor, só sei que é o Alissow Server 5.0 (9.83) xd Grato desde já!
-
Olá! Eu estava ajudando um cara com um task system , ele disse que pegou na net, mas as alterações que ele queria eu tive que refazer algumas partes do sistemas! Testei e funcionou perfeitamente! Funciona com Poketibia e Tibia! Vamos deixar de enrolação e adicionar o sistema! Lembrando também que funciona com tfs 0.3.6 e tfs 0.4! Não testei com tfs 1.x mas acho que não funciona. Vá em creaturescripts.xml e adicione isso: <event type="kill" name="KillTask" event="script" value="task.lua"/> No login.lua adiciona isso com os demais: registerCreatureEvent(cid, "KillTask") Agora crie um arquivo chamado task.lua e adicione isso: local tasksss = { [1] = {name = "Blastoise", sto = 10212, count = 3, time_sto = 5457, time = 1*24*60*60, sto_count = 14129, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."}, [2] = {name = "Charizard", sto = 10213, count = 5, time_sto = 5458, time = 1*24*60*60, sto_count = 14130, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."},}function onKill(cid, target) for _, t in ipairs(tasksss) do local total_count = t.count local m_sto = t.sto local count_sto = t.sto_count if getPlayerStorageValue(cid, m_sto) ~= -1 then if getCreatureName(target) == t.name then if (total_count - getPlayerStorageValue(cid, count_sto)) == 1 then setPlayerStorageValue(cid, count_sto, getPlayerStorageValue(cid, count_sto) + 1) doPlayerSendTextMessage(cid, 20, "You are killed ".. getPlayerStorageValue(cid, count_sto) .." " .. t.name .. " and finished the task!") return true elseif (total_count - getPlayerStorageValue(cid, count_sto)) >= 1 then setPlayerStorageValue(cid, count_sto, getPlayerStorageValue(cid, count_sto) + 1) doPlayerSendTextMessage(cid, 20, "You are killed ".. getPlayerStorageValue(cid, count_sto) .." of ".. total_count .." " .. t.name .. " kills to finish the task.") return true end end end end return trueend Agora vá em npc/scripts e crie um arquivo chamado task.lua e adicione isso: local tasksss = { [1] = {name = "Blastoise", sto = 10212, count = 3, time_sto = 5457, time = 1*24*60*60, sto_count = 14129, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."}, [2] = {name = "Charizard", sto = 10213, count = 5, time_sto = 5458, time = 1*24*60*60, sto_count = 14130, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."},}local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid value = -1 for i = 1, #tasksss do if msgcontains(msg, tasksss[i].name) and not value ~= -1 then value = i end end if value == -1 then selfSay('I don\'t have a this task!', cid) talkState[talkUser] = 0 return true end local configss = tasksss[value] local name = configss.name local m_sto = configss.sto local time_sto = configss.time_sto local count_sto = configss.sto_count local total_count = configss.count local rest = total_count - getPlayerStorageValue(cid, count_sto) if getPlayerStorageValue(cid, time_sto) < os.time() then -- verifica se o player ainda está no prazo if getPlayerStorageValue(cid, m_sto) <= 0 then -- verifica se o player não pegou está task selfSay('Ready! Now you need kill a '.. total_count .. ' '.. name .. '!', cid) setPlayerStorageValue(cid, m_sto, 1) setPlayerStorageValue(cid, total_count, 0) talkState[talkUser] = 0 else if rest <= 0 then -- Verifica se o player matou todos os monstros nescessários doPlayerAddItem(cid, configss.rewardid, configss.rewardcount) setPlayerStorageValue(cid, count_sto, 0) setPlayerStorageValue(cid, m_sto, -1) setPlayerStorageValue(cid, time_sto, os.time() + configss.time) doPlayerAddExperience(cid, configss.rewardexp) doSendAnimatedText(getCreaturePosition(cid), configss.rewardexp, 215) selfSay(configss.text, cid) talkState[talkUser] = 0 else selfSay('You need to kill '..rest..' '..name..' to gain a reward.', cid) talkState[talkUser] = 0 end end else selfSay('You already did this task, player. Wait '..math.ceil((getPlayerStorageValue(cid, time_sto) - os.time())/(60*60))..' hours to do it again.', cid) talkState[talkUser] = 0 endendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Pronto, agora volte para a pasta npc e crie um novo arquivo .xml chamado de Task e adicione isso lá: <?xml version="1.0" encoding="UTF-8"?><npc name="Npc Nome" script="task.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="369" head="91" body="102" legs="83" feet="0"/> <parameters> <parameter key="message_greet" value="You want gain a task of {Blastoise}?"/> </parameters></npc> Pronto, agora o sistema de task está funcionando, e para adicionar um novo monstro pra fazer a task? Basta editar a tabela, mas não esqueça que tem que atualizar a tabela nos 2 scripts .lua !! local tasksss = { [1] = {name = "Blastoise", sto = 10212, count = 3, time_sto = 5457, time = 1*24*60*60, sto_count = 14129, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."}, [2] = {name = "Charizard", sto = 10213, count = 5, time_sto = 5458, time = 1*24*60*60, sto_count = 14130, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."},} Para configurar siga as seguintes instruções: Modificações da versão 2.0: Corrigido bug de apenas o primeiro monstro configurado funcionava, agora todos configurados funcionam! Quando player fala qual quer coisa que não seja o nome do monstro, diz que não tem aquela task! Modificado modo de contagem de kill, agora monstra quantos você matou e o total que precisa matar, quando mata o ultimo monstro, aparece a mensagem que terminou a task! Créditos: Criador @miguel223 Drazyn1291 -- Editei e reformulei muita coisa! Adicionei coisas como a contagem que falta ao matar os monstros, editei pra fazer a task apenas se o player falar com o NPC e outras coisas!
- 19 respostas
-
- tfs 0.4
- tfs 0.3.4/0.3.6
-
(e 1 mais)
Tags:
-
sistema Killua Task System [Atualizado 16/04/2014]
um tópico no fórum postou Killua Mods, funções e outros
Killua Task Sytem Versões testadas: tfs 0.3.6 e 0.4 Eu sei que já existem vários task systems, inclusive aqui no fórum, mas do jeitinho que eu queria, não consegui achar nenhum. Por isso, resolvi fazer um eu mesmo. O que ele tem de diferente? • É totalmente simplificado. • Não precisa "pegar" as tasks. Elas já são todas automáticas, ou seja, os monstros são contados desde sempre. • É tudo configurado em uma única tabela, de forma muito simples. • Tem um NPC que somente entra as recompensas. • Seu progresso pode ser visto pelo comando !task Atualização do sistema: Refiz os códigos pois existia uma possibilidade de bug. Otimizei eles, deixando o código mais limpo, eficiente e rápido. Aconselho a todos que usam o sistema que instalem a nova versão. Instalação: Tags: Em talkacions.xml adicione: <talkaction log="yes" words="!task" event="script" value="amoebaTask.lua"/> Em creaturescripts.xml adicione: <event type="kill" name="AmoebaTask" event="script" value="amoebaTaskCreature.lua"/> Em data/creaturescritps/scripts/login.lua adicione: registerCreatureEvent(cid, "AmoebaTask") Scripts: Lib: Crie amoebaTask.lua em data/lib e coloque Talkaction: Crie amoebaTask.lua em data/talkactions/scripts e coloque Creaturescripts: Crie amoebaTaskCreature.lua em data/creaturescripts/scripts e coloque NPC: Em data/npc crie Task Man.xml e coloque Configuração: A configuração é feita unicamente na tabela da lib: amoebaTask = { ["Jabuti"] = {creatures = {"Jabuti","Jabuti Hatchling"}, storage = 2312112, storagecount = 890120, count = 300, exp = 0, money = 0, premios = {{6527, 10},{10133, 1}}}, ["Thenebreus"] = {creatures = {"Thenebreus"}, storage = 2312113, storagecount = 890121, count = 250, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}}, ["Demon"] = {creatures = {"Demon"}, storage = 2312114, storagecount = 890122, count = 5, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}} } Em [""] vc coloca o nome que vai aparecer no !task e que também será usado para pega a recompensa no NPC. Em creatures vc coloca todos os monstros que vão contabilizar para tal task. Em storage vc coloca o storage de task completa, que garante que o premio só será pego uma vez. Esse storage nunca pode ser repetido! Em storagecount vc coloca o storage de contagem de monstros. Esse também nunca pode ser repetido! Em count vc coloca o número de monstros necessários pra completar a task. Em exp vc coloca a exp que ganha completando. Em money vc coloca o dinheiro que ganha completando. Em premios vc coloca os itens que ganham completando, seguido de sua quantidade. Ex: {6527, 4} o player vai receber 4 itens de id 6527. Espero que façam bom uso do sistema. Vou ficar feliz em atender qualquer tipo de dúvida e também aceito sugestões. Caso queira que as tasks possam ser feitas repetidas vezes, me peça que eu ponho aqui. Pois basta mudar duas linhas. -
Bom só pra apresentar á vocês o modelo de task que será usado no Pokemon Imperium. Constitui-se em, o jogador conseguir e entregar alguns itens pedidos pelo NPC da task, após a entrega destes itens, o NPC dará uma quantidade de EXP ao jogador e ativará a quest de determinado pokemon (existe 1 Npc para cada pokemon da task). O jogador terá que caçar para alcançar a quantidade necessária de pokemons que é mostrada na janela da Task (atualiza automaticamente o número que já matou, sempre que você elimina 1 pokemon da task ativa), e quando completar, o jogador só precisará apertar em reward para coletar os itens do prêmio e mais uma quantidade de EXP. A janela ainda está sendo trabalhada, terá suporte as seguintes opções: Nome, foto e localização do NPC no qual o jogador precisará encontrar para ativar a task. Task diária em nova aba porém mesma window(janela). Task de pokemons shiny também em nova aba na mesma window(janela). Imagens Atenciosamente, Dougllas!
-
tfs 1.0 [Encerrado] [PEDIDO] NPC de task diária
um tópico no fórum postou Lucas1504 Tópicos Sem Resposta
Primeira mente gostaria de avisar que este é meu primeiro post Vamos lá: Gostaria de um NPC o qual você possa realizar uma task diária de SURVIAL Ao falar com o NPC você diria: "Survival" e automaticamente você e seu time que estaria posicionados em X locais seria teleportados a uma arena onde waves de monstros nasceriam para que você possa combatê-los, Cada wave tem uma quantia certa de monstros e uma recompensa em gold caso o player morra em x wave, o prêmio de todas a waves as quais ele venceu seriam depositados automaticamente no banco do jogador -
Galera, to com um problema na grizzly adam e não ta entregando o premio quando termina a task, por exemplo quando termina dos minotaur, o player fala com ela pra entregar a task "report" mas ela não responde nada.. segue abaixo o codigo dela 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 choose = {} local cancel = {} local available = {} local grizzlyAdamsConfig = { ranks = { huntsMan_rank = { {id=11208, buy=0, sell=50, name='antlers'}, {id=10549, buy=0, sell=100, name='bloody pincers'}, {id=11183, buy=0, sell=35, name='crab pincers'}, {id=10573, buy=0, sell=55, name='cyclops toe'}, {id=10564, buy=0, sell=30, name='frosty ear of a troll'}, {id=11193, buy=0, sell=600, name='hydra head'}, {id=11366, buy=0, sell=80, name='lancer beetle shell'}, {id=10578, buy=0, sell=420, name='mutated bat ear'}, {id=11222, buy=0, sell=400, name='sabretooth'}, {id=11367, buy=0, sell=20, name='sandcrawler shell'}, {id=10547, buy=0, sell=280, name='scarab pincers'}, {id=11365, buy=0, sell=60, name='terramite legs'}, {id=11363, buy=0, sell=170, name='terramite shell'}, {id=11184, buy=0, sell=30000, name='terrorbird beak'}, {id=7398, buy=0, sell=500, name='cyclops trophy'}, {id=11315, buy=0, sell=15000, name='draken trophy'}, {id=11330, buy=0, sell=8000, name='lizard trophy'}, {id=7401, buy=0, sell=500, name='minotaur trophy'} }, bigGameHunter_rank = { {id=7397, buy=0, sell=3000, name='deer trophy'}, {id=7400, buy=0, sell=3000, name='lion trophy'}, {id=7394, buy=0, sell=3000, name='wolf trophy'} }, trophyHunter_rank = { {id=7393, buy=0, sell=40000, name='demon trophy'}, {id=7396, buy=0, sell=20000, name='behemoth trophy'}, {id=7399, buy=0, sell=10000, name='dragon lord trophy'}, {id=10518, buy=1000, sell=0, name='demon backpack'}, }, } } local Topic = {} function greetCallback(cid) Topic[cid] = 0 return true end local function setNewTradeTable(table) local items = {} for _, v in ipairs(table) do items[v.id] = {itemId = v.id, buyPrice = v.buy, sellPrice = v.sell, subType = 0, realName = v.name} end return items end local function setNewLineTable(oldTable, newTable) for k, v in pairs(oldTable) do table.insert(newTable, k, v) end return true end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if (msgcontains(msg, "hi") or msgcontains(msg, "hello")) and (not npcHandler:isFocused(cid)) then if (getPlayerStorageValue(cid, 100157) == -1) then npcHandler:say("Welcome "..getCreatureName(cid)..". Would you like to join the 'Paw and Fur - Hunting Elite' or say {trade} to buy stamina?", cid) npcHandler:addFocus(cid) talkState[talkUser] = 5 else npcHandler:say("Welcome back old chap. What brings you here this time?", cid) npcHandler:addFocus(cid) talkState[talkUser] = 0 end return true end if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, "bye") or msgcontains(msg, "farewell") then selfSay("Happy hunting, old chap!", cid, TRUE) Topic[talkUser] = 0 npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) end if (isInArray({"yes", "join"}, msg:lower()) and talkState[talkUser] == 5) then setPlayerStorageValue(cid, 100157, 1) npcHandler:say("Great! A warm welcome to our newest member: "..getCreatureName(cid).."! Ask me for a {task} if you want to go on a hunt.", cid) talkState[talkUser] = 0 elseif (msg:lower() == "no" and talkState[talkUser] == 5) then npcHandler:say("No problem old chap. Come back if you change your mind.", cid) end if (getPlayerStorageValue(cid, 100157) == -1) then npcHandler:say("You'll have to {join} us to get more information.",cid) return false end if isInArray({"offer", "trade"}, msg:lower()) then if getPlayerRank(cid) >= 2 then if getPlayerRank(cid) == 2 or getPlayerRank(cid) == 3 then tradeRank = grizzlyAdamsConfig.ranks.huntsMan_rank elseif getPlayerRank(cid) == 4 then tradeRank = grizzlyAdamsConfig.ranks.bigGameHunter_rank setNewLineTable(grizzlyAdamsConfig.ranks.huntsMan_rank, grizzlyAdamsConfig.ranks.bigGameHunter_rank) elseif getPlayerRank(cid) == 5 or getPlayerRank(cid) == 6 then tradeRank = grizzlyAdamsConfig.ranks.trophyHunter_rank setNewLineTable(grizzlyAdamsConfig.ranks.huntsMan_rank, grizzlyAdamsConfig.ranks.bigGameHunter_rank) setNewLineTable(grizzlyAdamsConfig.ranks.huntsMan_rank, grizzlyAdamsConfig.ranks.trophyHunter_rank) end local items = setNewTradeTable(tradeRank) local function onBuy(cid, item, subType, amount, ignoreCap, inBackpacks) if ignoreCap == false and (getPlayerFreeCap(cid) < getItemWeightById(items[item].itemId, amount) or inBackpacks and getPlayerFreeCap(cid) < (getItemWeightById(items[item].itemId, amount) + getItemWeightById(1988, 1))) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You don\'t have enough cap.') end if items[item].buyPrice then doPlayerRemoveMoney(cid, amount * items[item].buyPrice) for i = 1, amount do if inBackpacks then local backpack = doCreateItemEx(1988, 1) doAddContainerItem(backpack, items[item].itemId, amount) else doPlayerAddItem(cid, items[item].itemId, amount, true) end end return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You bought '..amount..'x '..items[item].realName..' for '..items[item].buyPrice * amount..' gold coins.') end return true end local function onSell(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].sellPrice then doPlayerAddMoney(cid, items[item].sellPrice * amount) doPlayerRemoveItem(cid, items[item].itemId, amount) return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You sold '..amount..'x '..items[item].realName..' for '..items[item].sellPrice * amount..' gold coins.') end return true end openShopWindow(cid, tradeRank, onBuy, onSell) return selfSay('It\'s my offer.', cid) else return selfSay('You don\'t have any rank.', cid) end end if isInArray({"tasks", "task", "mission"}, msg:lower()) then local can = getTasksByPlayer(cid) if (getPlayerStorageValue(cid, 100157) == -1) then return (npcHandler:say("You'll have to {join}, to get any {tasks}.",cid)) end if #can > 0 then local text = "" local sep = ", " table.sort(can, (function(a, b) return (a < b) end)) local t = 0 for _, id in ipairs(can) do t = t + 1 if t == #can - 1 then sep = " and " elseif t == #can then sep = "." end text = text .. "{" .. (tasks[id].name or tasks[id].raceName) .. "}" .. sep end selfSay("The current task" .. (#can > 1 and "s" or "") .. " that you can choose " .. (#can > 1 and "are" or "is") .. " " .. text, cid) talkState[talkUser] = 0 else selfSay("I don't have any task for you right now.", cid) end elseif msg ~= "" and canStartTask(cid, msg) then if #getPlayerStartedTasks(cid) >= tasksByPlayer then selfSay("Sorry, but you already started " .. tasksByPlayer .. " tasks. You can check their {status} or {cancel} a task.", cid) return true end local task = getTaskByName(msg) if task and getCreatureStorage(cid, QUESTSTORAGE_BASE + task) > 0 then return false end selfSay("In this task you must defeat " .. tasks[task].killsRequired .. " " .. tasks[task].raceName .. ". Are you sure that you want to start this task?", cid) choose[cid] = task talkState[talkUser] = 1 elseif msg:lower() == "yes" and talkState[talkUser] == 1 then doCreatureSetStorage(cid, QUESTSTORAGE_BASE + choose[cid], 1) selfSay("Excellent! You can check the {status} of your task saying {report} to me. Also you can {cancel} tasks to.", cid) choose[cid] = nil talkState[talkUser] = 0 elseif (msg:lower() == "report" or msg:lower() == "status") then local started = getPlayerStartedTasks(cid) local finishedAtLeastOne = false local finished = 0 if started and #started > 0 then for _, id in ipairs(started) do if getCreatureStorage(cid, KILLSSTORAGE_BASE + id) >= tasks[id].killsRequired then for _, reward in ipairs(tasks[id].rewards) do local deny = false if reward.storage then if getCreatureStorage(cid, reward.storage[1]) >= reward.storage[2] then deny = true end end if isInArray({REWARD_MONEY, "money"}, reward.type:lower()) and not deny then doPlayerAddMoney(cid, reward.value[1]) elseif isInArray({REWARD_EXP, "exp", "experience"}, reward.type:lower()) and not deny then doPlayerAddExperience(cid, reward.value[1]) doPlayerSendDefaultCancel(cid, "You gained " .. reward.value[1] .. " experience points.") elseif isInArray({REWARD_ACHIEVEMENT, "achievement", "ach"}, reward.type:lower()) and not deny then if doPlayerAddAchievement then doPlayerAddAchievement(cid, reward.value[1], true) end elseif isInArray({REWARD_STORAGE, "storage", "stor"}, reward.type:lower()) and not deny then doCreatureSetStorage(cid, reward.value[1], reward.value[2]) elseif isInArray({REWARD_POINT, "points", "point"}, reward.type:lower()) and not deny then doCreatureSetStorage(cid, POINTSSTORAGE, getCreatureStorage(cid, POINTSSTORAGE) + reward.value[1]) elseif isInArray({REWARD_ITEM, "item", "items", "object"}, reward.type:lower()) and not deny then doPlayerAddItem(cid, reward.value[1], reward.value[2]) end if reward.storage then doCreatureSetStorage(cid, reward.storage[1], reward.storage[2]) end end if tasks[id].norepeatable then doCreatureSetStorage(cid, QUESTSTORAGE_BASE + id, 2) else doCreatureSetStorage(cid, QUESTSTORAGE_BASE + id, 0) end doCreatureSetStorage(cid, KILLSSTORAGE_BASE + id, 0) if getCreatureStorage(cid, REPEATSTORAGE_BASE + id) < 1 then doCreatureSetStorage(cid, REPEATSTORAGE_BASE + id, 0) end doCreatureSetStorage(cid, REPEATSTORAGE_BASE + id, getCreatureStorage(cid, REPEATSTORAGE_BASE + id) + 1) finishedAtLeastOne = true finished = finished + 1 end end if not finishedAtLeastOne then local started = getPlayerStartedTasks(cid) if started and #started > 0 then local text = "" local sep = ", " table.sort(started, (function(a, b) return (a < b) end)) local t = 0 for _, id in ipairs(started) do t = t + 1 if t == #started - 1 then sep = " and " elseif t == #started then sep = "." end text = text .. "{" .. (tasks[id].name or tasks[id].raceName) .. "}" .. sep end selfSay("The current task" .. (#started > 1 and "s" or "") .. " that you started " .. (#started > 1 and "are" or "is") .. " " .. text, cid) Topic[cid] = 1 else selfSay("Awesome! you finished " .. (finished > 1 and "various" or "a") .. " task" .. (finished > 1 and "s" or "") .. ". Talk to me again if you want to start a {task}.", cid) end else selfSay("You haven't started any task yet.", cid) end end elseif msg:lower() == "started" then local started = getPlayerStartedTasks(cid) if started and #started > 0 then local text = "" local sep = ", " table.sort(started, (function(a, b) return (a < b) end)) local t = 0 for _, id in ipairs(started) do t = t + 1 if t == #started - 1 then sep = " and " elseif t == #started then sep = "." end text = text .. "{" .. (tasks[id].name or tasks[id].raceName) .. "}" .. sep end selfSay("The current task" .. (#started > 1 and "s" or "") .. " that you started " .. (#started > 1 and "are" or "is") .. " " .. text, cid) else selfSay("You haven't started any task yet.", cid) end elseif msg:lower() == "cancel" then local started = getPlayerStartedTasks(cid) local task = getTaskByName(msg) local text = "" local sep = ", " table.sort(started, (function(a, b) return (a < b) end)) local t = 0 for _, id in ipairs(started) do t = t + 1 if t == #started - 1 then sep = " or " elseif t == #started then sep = "?" end text = text .. "{" .. (tasks[id].name or tasks[id].raceName) .. "}" .. sep end if started and #started > 0 then selfSay("Cancelling a task will make the counter restart. Which of these tasks you want cancel?" .. (#started > 1 and "" or "") .. " " .. text, cid) talkState[talkUser] = 2 else selfSay("You haven't started any task yet.", cid) end elseif getTaskByName(msg) and talkState[talkUser] == 2 and isInArray(getPlayerStartedTasks(cid), getTaskByName(msg)) then local task = getTaskByName(msg) if getCreatureStorage(cid, KILLSSTORAGE_BASE + task) > 0 then selfSay("You currently killed " .. getCreatureStorage(cid, KILLSSTORAGE_BASE + task) .. "/" .. tasks[task].killsRequired .. " " .. tasks[task].raceName .. ". Cancelling this task will restart the count. Are you sure you want to cancel this task?", cid) else selfSay("Are you sure you want to cancel this task?", cid) end talkState[talkUser] = 3 cancel[cid] = task elseif getTaskByName(msg) and Topic[cid] == 1 and isInArray(getPlayerStartedTasks(cid), getTaskByName(msg)) then local task = getTaskByName(msg) if getCreatureStorage(cid, KILLSSTORAGE_BASE + task) > 0 then selfSay("You currently killed " .. getCreatureStorage(cid, KILLSSTORAGE_BASE + task) .. "/" .. tasks[task].killsRequired .. " " .. tasks[task].raceName .. ".", cid) Topic[cid] = 0 else selfSay("You haven't started any task yet.", cid) end elseif msg:lower() == "yes" and talkState[talkUser] == 3 then doCreatureSetStorage(cid, QUESTSTORAGE_BASE + cancel[cid], -1) doCreatureSetStorage(cid, KILLSSTORAGE_BASE + cancel[cid], -1) selfSay("You have cancelled the task " .. (tasks[cancel[cid]].name or tasks[cancel[cid]].raceName) .. ".", cid) talkState[talkUser] = 0 elseif isInArray({"points", "rank"}, msg:lower()) then if getCreatureStorage(cid, POINTSSTORAGE) < 1 then selfSay("At this time, you have 0 Paw & Fur points. You " .. (getPlayerRank(cid) == 6 and "are an Elite Hunter" or getPlayerRank(cid) == 5 and "are a Trophy Hunter" or getPlayerRank(cid) == 4 and "are a Big Game Hunter" or getPlayerRank(cid) == 3 and "are a Ranger" or getPlayerRank(cid) == 2 and "are a Huntsman" or getPlayerRank(cid) == 1 and "are a Member" or "haven't been ranked yet") .. ".", cid) elseif getCreatureStorage(cid, POINTSSTORAGE) >= 1 then selfSay("At this time, you have " .. getCreatureStorage(cid, POINTSSTORAGE) .. " Paw & Fur points. You " .. (getPlayerRank(cid) == 6 and "are an Elite Hunter" or getPlayerRank(cid) == 5 and "are a Trophy Hunter" or getPlayerRank(cid) == 4 and "are a Big Game Hunter" or getPlayerRank(cid) == 3 and "are a Ranger" or getPlayerRank(cid) == 2 and "are a Huntsman" or getPlayerRank(cid) == 1 and "are a Member" or "haven't been ranked yet") .. ".", cid) end talkState[talkUser] = 0 end end npcHandler:setMessage(MESSAGE_FAREWELL, "Happy hunting, old chap!") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
-
Bom dia xTibianos, procurei em portais, sites e outros um NPC Commander Stone que suas tasks funcionassem com suas reais recompensas globais. Se alguem puder me arrumar ou configurar, AGRADEÇO! Tarefas de Commander Stone: http://www.tibiawiki.com.br/wiki/Tarefas_Di%C3%A1rias#Tarefas_de_Commander_Stone_.284.29 NPC Commander Stone Tibia Wiki: http://www.tibiawiki.com.br/wiki/Commander_Stone
- 1 resposta
-
- pedido
- tarefas de commander stone
- (e 4 mais)
-
Bom pessoal, Gostaria que me ajudassem, um NPC que dê várias tasks de monstros diferentes, o player escolheria um tipo de monstro, e depois que o Player Completa-lá, ganharia uma Nova Vocação e Mudasse sua Outfit (Looktype). é isso Pessoal! Espero que possam me ajudar! Abraçoos!
-
Galera, eu queria um script de task com npc, seria 5 tasks, só pode pedir uma por vez, podendo cancelar caso queira, e ao finalizar as 5 tasks ganharia os addons 1 e 2 do assassin outfit, vlw!
-
Eu estou precisando de um script dos clãs ( praticamente um identico a da pxg) Com as tasks de catch de tal pokémon do clã, tasks de entregar item, tasks de matar pokémons,que vai subindo o rank do player cada vez q completa essas ''misões'' até rank 5, como vocês sabem, mas eu não achei nada relacionado a isso no fórum
-
Atualmente uso o sistema de tasks do Killua: http://www.xtibia.com/forum/topic/226410-killua-task-system-atualizado-16042014/ Mas só da para fazer a task uma única vez, queria que desse para fazer infinitas vezes, utilizo o Alissow Server 5.0 (versão 9.83 e não sei o tfs). Se alguém puder ajudar, ficarei grato xd.
-
pedido [Encerrado] Task em troca e UniqID ou Pokémon
um tópico no fórum postou BabyLoiz Tópicos Sem Resposta
Seguinte pessoal, uso um servidor pda aqui e gostaria de adicionar um npc que passa a task pro player e quando ele termina ele ganha tal pokémon como premio, ou se for complicado, ele ganha uma UniqID que daí uso pra ele poder abrir tal baú, se for de tal forma gostaria também saber como fazer pro player só passar em tal pos se tiver tal UniqID, obrigado desdejá! OBS: o server tem icon system- 2 respostas
-
pokemon [Encerrado] [Dúvida] Npc Task Diaria /
um tópico no fórum postou narutibianspd Tópicos Sem Resposta
Criação de Npc Task Diaria, tipo pxg, que possa pegar task de tal poke cada dia ou sempre que o ot reseta ou cair. Exemplo: Não precisa ser task hard, easy ou medium so 1 tipo de task. Tipo: Você tem que matar 100 charizard ou 100 venusaur para ganhar 1000000k de exp e 1 boost stone. -
bem meu npc de task diária ta com um problema doido aqui, o player pode vim e escolher a task quantas vezes quiser mesmo se ele tiver acabado de pegar uma e quando o player volta a ele para entregar a task ele pode pegar outra task e aquela que ele estava fazendo só pode ser entregue depois de 24h script do npc se alguém poder ajudar agradeço xD
-
Eai galera, pra ajudar o evento que o xtibia esta promovendo de scripting o OMS vou posta um sistema simples pra concorrer. O Zombie Hunter, é um npc de Task que lhe permite trocar pontos que você acumula matando Monstros por dinheiro e exp mas os pontos só podem ser trocados depois de você ter terminado duas Tasks que o npc vai lhe dar. o sistema pode ser facilmente modificado pra vários tipos de monstros a edição fica por conta de vocês . para instalção do creature scripts é só adicionar essa linha no creaturescripts.xml,e jogar o script pra dentro da pasta scripts. <event type="kill" name="Hunter" event="script" value="task.lua"/> e registrar o evento Hunter no onLogin.lua Creaturescripts: local zombies = { -- task -- ["Zombie [1]"] = {storagetask = 3290, storagecount = 4290, count = 10, points = 80}, ["Zombie [2]"] = {storagetask = 3289, storagecount = 4291, count = 20, points = 130}, ["Zombie [3]"] = {storagetask = 3288, storagecount = 4292, count = 30, points = 200}, ["Zombie [4]"] = {storagetask = 3287, storagecount = 4293, count = 40, points = 250}, --No-task-- ["Rat"] = {storagetask = nil, storagecount = nil, count = nil, points = 15} , ["Wolf"] = {storagetask = nil, storagecount = nil, count = nil, points = 35}, } function onKill(cid, target, lastHit) local name = getCreatureName(target) if zombies[name] then if zombies[name].storagetask ~= nil and getPlayerStorageValue(cid, zombies[name].storagetask) > 5 then if getPlayerStorageValue(cid, zombies[name].storagetask) < 20 and getPlayerStorageValue(cid, zombies[name].storagecount) <= zombies[name].count - 1 then if getPlayerStorageValue(cid, zombies[name].storagecount) < 0 then setPlayerStorageValue(cid, zombies[name].storagecount, getPlayerStorageValue(cid, zombies[name].storagecount) + 2) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You Killed ["..getPlayerStorageValue(cid, zombies[name].storagecount).."/20] Zombies [2].") else setPlayerStorageValue(cid, zombies[name].storagecount, getPlayerStorageValue(cid, zombies[name].storagecount) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You Killed ["..getPlayerStorageValue(cid, zombies[name].storagecount).."/20] Zombies [2].") end end end if getPlayerStorageValue(cid, 4593) < 0 then setPlayerStorageValue(cid, 4593, getPlayerStorageValue(cid, 4593) + zombies[name].points + 1) else setPlayerStorageValue(cid, 4593, getPlayerStorageValue(cid, 4593) + zombies[name].points) end doSendAnimatedText(getCreaturePosition(target), "+"..zombies[name].points.." points", math.random(255)) end return true end agora você precisa adicionar o npc ao servidor para isso crie um .xml na pasta npc e nele cole isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Paul" script="task.lua" walkinterval="5000" floorchange="0"> <health now="100" max="100"/> <look type="76" head="0" body="0" legs="0" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I was looking for some {work} to you, or you can change your {points}. " /> </parameters> </npc> e na pasta npc/scripts crie um arquivo lua e dentro dele cole isso: dofile("config.lua") 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 function getPlayerID(cid) -- function by Ramza(Ricardo Ianelli) local Query = db.getResult("SELECT `id` FROM `players` WHERE `players`.`name` = '"..getCreatureName(cid).."';") local player_id = Query:getDataInt("id") return player_id end function creatureSayCallback(cid, type, msg) local playerid = getPlayerID(cid) if(not npcHandler:isFocused(cid)) then return false end if msg == 'work' then selfSay('Nowadays, the world is a mess, then I Need your help to "kill" a part of the mess. {Ok}, ', cid) talkstatus = 2 elseif msg == 'points' then selfSay(' Do you wanna exchange your points, or {check}/{exchange} them?', cid) talkstatus = 41 elseif msg == 'points' and getPlayerStorageValue(cid, 3290) < 20 and getPlayerStorageValue(cid, 3289) < 20 then selfSay('You have to complete all the tasks', cid) talkstatus = 0 elseif talkstatus == 41 and msg == "exchange" then if getPlayerStorageValue(cid, 3290) >= 20 and getPlayerStorageValue(cid, 3289) >= 20 then talkstatus = 29 selfSay('How much points do you wanna exchange?',cid) else selfSay('You have to complete 2 tasks to exchange points..',cid) talkstatus = 0 end elseif talkstatus == 41 and msg == "check" then if getPlayerStorageValue(cid, 4593) < 0 then selfSay('You have '..getPlayerStorageValue(cid, 4593) + 1 ..' points.',cid) elseif getPlayerStorageValue(cid, 4593) >= 0 then selfSay('You have '..getPlayerStorageValue(cid, 4593)..' points.',cid) end talkstate = 0 elseif talkstatus == 29 then if isNumber(msg) then if getPlayerStorageValue(cid, 4593) >= tonumber(msg) then dinheiro = math.floor(tonumber(msg)*2) exp = math.floor(tonumber(msg)*3) menos = msg selfSay('It will give you of Money: '..dinheiro.." and of Experience: "..exp..". Are you right?", cid) talkstatus = 30 end else selfSay('It is an invalid number.',cid) end elseif talkstatus == 30 then if msg == 'yes' then talkstatus = 29 doPlayerAddMoney(cid, dinheiro) doPlayerAddExp(cid, exp) setPlayerStorageValue(cid, 4593, getPlayerStorageValue(cid, 4593)-menos) doSendMagicEffect(getCreaturePosition(cid), 98) selfSay('thanks',cid) talkstatus = 0 elseif msg == 'no' then talkstatus = 0 end elseif talkstatus == 2 then if msg == 'ok' then talkstatus = 3 selfSay('Nice! You have four options for work, {Easy}; {Medium}; {Hard}; {Expert}.',cid) elseif msg == 'no' then talkstatus = 0 end elseif talkstatus == 3 and msg == "easy" then if getPlayerStorageValue(cid, 3290) < 5 and getPlayerStorageValue(cid, 3290) < 20 then talkstatus = 4 selfSay('Alright! In Easy Mode, you have to kill 10 Zombies Lv 1 or higher, do you Agree?', cid) elseif getPlayerStorageValue(cid, 3290) > 5 and getPlayerStorageValue(cid, 3290) < 20 then talkstatus = 14 selfSay('Did you finish the work?', cid) elseif getPlayerStorageValue(cid, 3290) >= 20 then selfSay('You have, finished the easy mode', cid) talkstate = 0 end elseif talkstatus == 4 then if msg == 'yes' then setPlayerStorageValue(cid, 3290, 10) selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstate = 0 elseif msg == 'no' then talkstatus = 2 end elseif talkstatus == 3 and msg == "medium" then if getPlayerStorageValue(cid, 3289) < 5 and getPlayerStorageValue(cid, 3289) < 20 then talkstatus = 5 selfSay('Alright! In Medium Mode, you have to kill 20 Zombies, Lv 2 or higher, do you Agree?', cid) elseif getPlayerStorageValue(cid, 3289) > 5 and getPlayerStorageValue(cid, 3289) < 20 then talkstatus = 15 selfSay('Did you finish the work?', cid) elseif getPlayerStorageValue(cid, 3289) >= 20 then selfSay('You have, finished the medium mode', cid) talkstate = 0 end elseif talkstatus == 5 then if msg == 'yes' then setPlayerStorageValue(cid, 3289, 10) selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then talkstatus = 2 end elseif talkstatus == 3 and msg == "hard" then if getPlayerStorageValue(cid, 3288) < 5 and getPlayerStorageValue(cid, 3288) < 20 then talkstatus = 6 selfSay('Alright! In Hard Mode, you have to kill 30 Zombies, Lv 3 or higher, do you Agree?', cid) elseif getPlayerStorageValue(cid, 3288) > 5 and getPlayerStorageValue(cid, 3288) < 20 then talkstatus = 16 selfSay('Did you finish the work?', cid) elseif getPlayerStorageValue(cid, 3288) >= 20 then selfSay('You have, finished the hard mode', cid) talkstate = 0 end elseif talkstatus == 6 then if msg == 'yes' then setPlayerStorageValue(cid, 3288, 10) selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then talkstatus = 2 end elseif talkstatus == 3 and msg == "expert" then if getPlayerStorageValue(cid, 3287) < 5 and getPlayerStorageValue(cid, 3287) < 20 then talkstatus = 7 selfSay('Alright! In Expert Mode, you have to kill 40 Zombies, lv 4 or higher, do you Agree?', cid) elseif getPlayerStorageValue(cid, 3287) > 5 and getPlayerStorageValue(cid, 3287) < 20 then talkstatus = 17 selfSay('Did you finish the work?', cid) elseif getPlayerStorageValue(cid, 3288) >= 20 then selfSay('You have, finished the expert mode', cid) talkstate = 0 end elseif talkstatus == 7 then if msg == 'yes' then setPlayerStorageValue(cid, 3287, 10) selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then talkstatus = 2 end elseif talkstatus == 14 then if msg == 'yes' and getPlayerStorageValue(cid, 4290) >= 10 and getPlayerStorageValue(cid, 3290) < 20 then setPlayerStorageValue(cid, 3290, 20) doPlayerAddMoney(cid, 10*100) doPlayerAddExp(cid, 500) selfSay('Nice Work! Thanks for the help, take this reward for helping us. (Experience and Money)', cid) elseif msg == "yes" and getPlayerStorageValue(cid, 4290) < 10 then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 end elseif talkstatus == 15 then if msg == 'yes' and getPlayerStorageValue(cid, 4291) >= 20 and getPlayerStorageValue(cid, 3289) < 20 then setPlayerStorageValue(cid, 3289, 20) doPlayerAddMoney(cid, 20*100) doPlayerAddExp(cid, 1000) selfSay('Nice Work! Thanks for the help, take this reward for helping us. (Experience and Money)', cid) elseif msg == "yes" and getPlayerStorageValue(cid, 4289) < 20 then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 end elseif talkstatus == 16 then if msg == 'yes' and getPlayerStorageValue(cid, 4292) >= 30 and getPlayerStorageValue(cid, 3288) < 20 then setPlayerStorageValue(cid, 3288, 20) doPlayerAddMoney(cid, 30*100) doPlayerAddExp(cid, 1800) selfSay('Nice Work! Thanks for the help, take this reward for helping us. (Experience and Money)', cid) elseif msg == "yes" and getPlayerStorageValue(cid, 4288) < 30 then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 end elseif talkstatus == 17 then if msg == 'yes' and getPlayerStorageValue(cid, 4290) >= 40 and getPlayerStorageValue(cid, 3287) < 20 then setPlayerStorageValue(cid, 3287, 20) doPlayerAddMoney(cid, 40*100) doPlayerAddExp(cid, 2400) selfSay('Nice Work! Thanks for the help, take this reward for helping us. (Experience and Money)', cid) elseif msg == "yes" and getPlayerStorageValue(cid, 4287) < 40 then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 elseif msg == 'no' then selfSay('Alright! When you finish the work, come back here, and I will give you a reward.', cid) talkstatus = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pronto agora é só colocar o npc pelo mapeditor ou o summonar pra testar. o sistema contem 4 tasks mas só precisa ser feito 2 tasks para poder retirar os seus pontos, os monstros configurados sempre vão dar os pontos então você sempre vai poder trocar pontos mesmo depois de te terminado todas as tasks. Obs.: o sistema esta configurado pra zombies com digamos level pra utilizar com um servidor normal você tem que editar os monstros no creaturescripts ou criar vários zombies com [lv] no nome exemplo: zombie [1], zombie [2].... Att+.
-
.::Custom-War::. É com muito prazer que lhes apresento o mais novo e inovador servidor global, Equipe dedicada e eficaz no que faz, atendimento personalizado que oferece entretedimento e muita diversão aos seus player's. - Conectividade: - Descrição: - Comando Uteis: - Rates:
-
poketibia [Encerrado] Task de Caught de Clan Poketibia PDA by Slycer 1.9 sem level
um tópico no fórum postou lucas760895 Tópicos Sem Resposta
Olá, a minha duvida é simples como faço para mudar a rate de caught nas tasks de clan do pokemon PDA by Slycer 1.9. -
Eu queria fazer uma task num ot pvp enforced , que o jogador tivesse que matar uma x < quantidade de players para entregar a task. ou seja no lugar de matar monstros , sera players. alguem pode me ajudar ? Obg.
-
Alguem aqui tem ou sabe como fazer uma task que em vez de matar monster tem que matar player? por exemplo, começou a task pelo npc e tem que matar 50 players, qualquer player, ai quando terminar ganhar uma certa storage só isso, flw
-
Hoje é um dia especial, no qual estamos realizando a abertura do UnderBattle Server. EXP STAGES! (http://underbattle.servegame.com/?subtopic=serverinfo) Acesse o link acima, e veja os detalhes. O UnderBattle, é um server que pertence a uma equipe dedicada a solucionar os problemas e desenvolver inovações. Se você deseja um server no qual, você pode confiar nos seguintes detalhes essenciais: 1. Durabilidade 2. Estabilidade 3. Confiabilidade 4. Segurança 5. Diversão e Emoção Você acabou de encontrar, Guerreiro! Boa sorte. O UnderBattle aguarda sua presença! Observação: -> Servidor online 24 horas! Offline apenas para manutenções em curtos prazos. Observação: Criar conta em nosso site ou no 1/1. Abertura: 13/11/2013 SITE = http://Underbattle.servegame.com • O Que Contêm no Servidor: ├ Eventos Exclusivos : ├DotA ├ WoE ├ Coliseum ├ Zombie Event ├ Yalahar como City VIP ├ City do Baiak Totalmente Reformulada. ├ Novos Teleports e Quests ├ War Castle ├ Novos NPC'S ├ War System. • Lista Das Principais Quests (Todas Funcionando 100%): ├ The Annihilator Quest ├ Demon Helmet Quest ├ Firewalker Boots Quest ├ The Inquisition Quest ├ The Pits of Inferno Quest ├ The Demon Oak Quest └ In Service of Yalahar Quest
-
SITE/IP: Reave-Global.Servegame.com * EXP: 250X * MAPA GLOBAL FULL; (8.60) * TASK SYSTEM; * ADDON BONUS ; * RAIDS AUTOMATICAS; OBS: OS ITEMS VIPS GRATIS SAO DADOS AUTOMATICAMENTES AO PEGAR CERTO LEVEL... A PREMIAÇAO EH ASSIM: LVL: 130 = 1 ADDON DOLL LVL 250 = 1 VIP BOOTS
-
- addon bonus
- task
-
(e 1 mais)
Tags:
-
aew galera to com uma duvida aki no pda by slicer.. fiz um novo n pc de task coloquei pra ganha 8k de exp + uma storage + grana ok.. ai quando termino a task e vou la fala com ele ele n da o premio e ta manda eu fazer a task de novo.. eu botei pra so poder fazer uma vez a task tbm... n tem erro no distro. script \/ a outra coisa quando eu mato os pokes necessarios ele dis tipo quest done junior 3x. tipo sera q é pq copiei do npc de task junior?
-
alguem pode me ajudar numa quest assim preciso dos comando pra criar esse tipo de task vc colocar de exemplo poketibia EX: PLAYER; hi NPC: olá oq vc gostaria de fazer, task,receber premios, sair da task PLAYER: task NPC: qual task vc deseja fazer , charmander,bulbasaur ou squirtle ? PLAYER: squirtle NPC: Vc precisa matar 200 squirtle! quando eu matar o squirtle queria que apareçe assim Voce já matou 3/200 squirtle ! quem me ajudar dou rep + durante 1 semana eu quis diser task n quest desculpe o erro!!! eu quis dizer TASK N QUEST
- 5 respostas
-
- task monster
- npc task
- (e 4 mais)
-
alguem mim ajuda a adaptar esse sistema de task do vodkart: http://www.xtibia.com/forum/topic/151636-simple-task-30/ é o seguinte eu queria colocar ordem pra fazer as tasks, tipo a so podera fazer a task do dragon lord, depois q fizer a do dragon, e tambem queria q depois q o player fizesse uma task nao pode-se repetir a mesma, flw...