Pokerangers 17 Postado Março 2, 2014 Share Postado Março 2, 2014 Boa noite, Tenho várias duvidas e pedidos, poderiam me ajudar? 1º Pedido: Sistema de Clan Rank NPCS. Eu possuo os NPCS e algumas tasks deles, porem não tenho nenhum script deles, gostaria que o player fosse subindo de rank fazendo algumas tasks entregando aos NPCS. Exemplo: Seed Trainer = Rank1 Sprout Trainer = Rank2 Webhead trainer = Rank3 Woodtrunk Trainer = Rank4 Naturia Master = Rank5 OBS: Isso com todos os clans, di o exemplo do clan naturia. .Naturia Trainers.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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid ---------------------- Configs --------------------------- local clanNpcs = { ["Seed Trainer"] = { task1 = { ["Seed Trainer"] = {{"Graveler", 20}, {"Starmie", 20}, {"Onix", 25}}, }, task2 = { ["Seed Trainer"] = {{"Marowak", 20}, {"Blastoise", 20}, {"Golem", 25}}, }, itens = {{12163, 20}, {12202, 5}, {12183, 10}}, poke = "Tangela", level = 90, prevRank = 1, nextRank = 2, }, ["Sprout Trainer"] = { task1 = { ["Sprout Trainer"] = {{"Graveler", 20}, {"Starmie", 20}, {"Onix", 25}}, }, task2 = { ["Sprout Trainer"] = {{"Marowak", 20}, {"Blastoise", 20}, {"Golem", 25}}, }, itens = {{12163, 20}, {12202, 5}, {12183, 10}}, poke = "Pinsir", level = 100, prevRank = 2, nextRank = 3, }, ["Webhead Trainer"] = { task1 = { ["Webhead Trainer"] = {{"Graveler", 20}, {"Starmie", 20}, {"Onix", 25}}, }, task2 = { ["Webhead Trainer"] = {{"Marowak", 20}, {"Blastoise", 20}, {"Golem", 25}}, }, itens = {{12163, 20}, {12202, 5}, {12183, 10}}, poke = "Scyther", level = 110, prevRank = 3, nextRank = 4, }, ["Woodtrunk Trainer"] = { task1 = { ["Woodtrunk Trainer"] = {{"Graveler", 20}, {"Starmie", 20}, {"Onix", 25}}, }, task2 = { ["Woodtrunk Trainer"] = {{"Marowak", 20}, {"Blastoise", 20}, {"Golem", 25}}, }, itens = {{12163, 20}, {12202, 5}, {12183, 10}}, poke = "Venusaur", level = 120, prevRank = 4, nextRank = 5, }, } ------------------------------------------------------------------------------ local npc = clanNpcs[getNpcName()] if msgcontains(msg, 'help') or msgcontains(msg, 'Help') then if getPlayerLevel(cid) < npc.level or getPlayerClanName(cid) ~= 'Naturia' or getPlayerClanRank(cid) ~= npc.prevRank then selfSay("I don't need your help!", cid) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 854789) <= -1 then selfSay("So you want to move up of rank on our clan... So, you need to bring some items to me... Do you wanna do it?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 1 then selfSay("So you brought to me the items what i asked for?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 2 then selfSay("The next step is you caught a pokemon to me... Do you wanna do it?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 3 then selfSay("So you caught the pokemon what i asked for?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 4 then selfSay("Now you need to do some tasks for me... Do you wanna do it?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 5 then selfSay("So you finished the first task what i asked for?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 6 then selfSay("And now comes the last task... Do you wanna to begin it?", cid) talkState[talkUser] = 1 return true elseif getPlayerStorageValue(cid, 854789) == 7 then selfSay("So you finished the last task what i asked for?", cid) talkState[talkUser] = 1 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, 854789) <= -1 then local str = "Ok then, you need bring to me: " for a = 1, #npc.itens do str = str..(a == #npc.itens and " and " or a ~= 1 and ", " or "{")..(npc.itens[a][2]).." "..(getItemNameById(npc.itens[a][1])) end str = str.."}, come back when you join those items!" selfSay(str, cid) setPlayerStorageValue(cid, 854789, 1) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 854789) == 1 then local check = checkItensForTask(cid, npc.itens) if check == 0 then selfSay("Ok then, you completed the mission, talk to me again when you want to continue!", cid) setPlayerStorageValue(cid, 854789, 2) talkState[talkUser] = 0 return true else selfSay(check, cid) talkState[talkUser] = 0 return true end elseif getPlayerStorageValue(cid, 854789) == 2 then selfSay("Ok then, you need to caught a {"..(npc.poke).."}, and bring it to me... Come back when you do that!", cid) setPlayerStorageValue(cid, 854789, 3) setPlayerStorageValue(cid, 854788, npc.poke) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 854789) == 3 then if getPlayerStorageValue(cid, 854788) == 'done' then selfSay("Very well, talk to me again when you want to continue!", cid) setPlayerStorageValue(cid, 854789, 4) setPlayerStorageValue(cid, 854788, -1) setPlayerStorageValue(cid, 854787, npc.poke) talkState[talkUser] = 0 return true else selfSay("You didn't caught the pokemon what i asked for! Go do it!", cid) talkState[talkUser] = 0 return true end elseif getPlayerStorageValue(cid, 854789) == 4 then local sto = getFreeTaskStorage(cid) local c = 0 if sto == -1 then selfSay("You can't get more tasks! You are already with the maximum of "..(maxTasks).." tasks!", cid) talkState[talkUser] = 0 return true end local str = "Ok then, now you need to kill: {" for e, f in pairs(npc.task1) do for a = 1, #f do str = str..((a == #f and c ~= 0) and " and " or a ~= 1 and ", " or "")..f[a][2].." "..f[a][1] c = c+1 end end str = str.."} with the {"..(npc.poke).."} which you caught!" selfSay(str, cid) setPlayerStorageValue(cid, 854789, 5) setStorageArray(cid, sto, npc.task1) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 854789) == 5 then if isMyTaskComplete(cid, getNpcCid()) then selfSay("Very well, you have done my first task... Talk to me again when you want to continue!", cid) local sto = getMyTaskSto(cid, getNpcCid()) setPlayerStorageValue(cid, sto, -1) setPlayerStorageValue(cid, 854789, 6) talkState[talkUser] = 0 return true else selfSay("You didn't complete my task yet... Go end it!", cid) talkState[talkUser] = 0 return true end elseif getPlayerStorageValue(cid, 854789) == 6 then local sto = getFreeTaskStorage(cid) local c = 0 if sto == -1 then selfSay("You can't catch more tasks! You are already with the maximum of "..(maxTasks).." tasks!", cid) talkState[talkUser] = 0 return true end local str = "Ok then, now for your last task you need to kill: {" for e, f in pairs(npc.task2) do for a = 1, #f do str = str..((a == #f and c ~= 0) and " and " or a ~= 1 and ", " or "")..f[a][2].." "..f[a][1] c = c+1 end end str = str.."} with the {"..(npc.poke).."} which you caught!" selfSay(str, cid) setPlayerStorageValue(cid, 854789, 7) setStorageArray(cid, sto, npc.task2) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 854789) == 7 then if isMyTaskComplete(cid, getNpcCid()) then --- local storages = {17000, 63215, 17001, 13008, 5700} --alterado v1.8 for s = 1, #storages do if getPlayerStorageValue(cid, storages) >= 1 then selfSay("You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!", cid) talkState[talkUser] = 0 return true end end if #getCreatureSummons(cid) >= 1 then --alterado v1.8 selfSay("Return your pokemon!", cid) talkState[talkUser] = 0 return true end --- if checkPokemonForTask(cid, npc.poke) then setPlayerClanRank(cid, npc.nextRank) selfSay("So you complete my last task! Congradulations! Now you move up of rank and become {"..lookClans[getPlayerClanNum(cid)][getPlayerClanRank(cid)].."}!", cid) setPlayerStorageValue(cid, 854789, -1) setPlayerStorageValue(cid, 854787, -1) local sto = getMyTaskSto(cid, getNpcCid()) setPlayerStorageValue(cid, sto, -1) talkState[talkUser] = 0 return true else selfSay("You aren't with the "..(npc.poke).." which you caught before in your pokebag! Go get it!", cid) talkState[talkUser] = 0 return true end else selfSay("You didn't complete my task yet... Go end it!", cid) talkState[talkUser] = 0 return true end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Eu acho que a alteração teria que ser feita no XML de cada NPC: .Naturia Master.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Naturia GrandMaster" script=".naturia master.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1434" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, you want to join to my {clan}? Or you want to transform you poke in a {shiny}? Or you want to {leave} the clan?"/> </parameters> </npc> .Woodtrunk Trainer.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Woodtrunk Trainer" script=".Naturia Trainers.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1149" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, what you want?"/> </parameters> </npc> .Webhead Trainer <?xml version="1.0" encoding="UTF-8"?> <npc name="Webhead Trainer" script=".Naturia Trainers.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1149" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, what you want?"/> </parameters> </npc> .Sprout Trainer <?xml version="1.0" encoding="UTF-8"?> <npc name="Sprout Trainer" script=".Naturia Trainers.lua" walkinterval="0" floorchange="3000" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1149" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, what you want?"/> </parameters> </npc> .Seed Trainer <?xml version="1.0" encoding="UTF-8"?> <npc name="Seed Trainer" script=".Naturia Trainers.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1149" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, what you want?"/> </parameters> </npc> OBS2: Naturia foi usada como exemplo, gostaria de ajuda para fazer com todos os clans! Se precisarem de mais algum arquivo para me ajudar, estarei enviando. 2º Pedido: Icon System PDA... Será possivel fazer? Procurei por tutorais e encontrei este: http://www.xtibia.com/forum/topic/206309-tutorial-como-adicionar-icon-system/ Ele fala que precisa ter instalado o sistema Icon System e que precisa ter esta linha: -- Icone System <action itemid="11366" event="script" value="iconSysPortrait.lua"/> <action itemid="11826-11837;11737-11748" event="script" value="goback.lua"/> Mas em especial esta linha: <action itemid="11366" event="script" value="iconSysPortrait.lua"/> Portando eu não tenho esta linha, muito menos "iconSysPortrait.lua" Gostaria que ensinasem a instalar este sistema, juntamente com meu pedido anterior, o Clan NPC. Sei que é bastante coisa, porem se você conseguir me ajudar, ficaria eternamente grato. Desde já, obrigado pela atenção. Fico no aguardo Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Março 3, 2014 Share Postado Março 3, 2014 Se quiser: http://www.xtibia.com/forum/topic/225461-comando-de-clan/ Nao precisa de fazer tasks. Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Março 3, 2014 Share Postado Março 3, 2014 Área incorreta, tópico movido. Mais cuidado da próxima vez. Link para o comentário Compartilhar em outros sites More sharing options...
jeanflamengo 24 Postado Março 17, 2014 Share Postado Março 17, 2014 kra icone system e xato d++ de colocar em um serve aconselho voce ah ver o tuto do stylo e ah baixar um serve que jah possua o systema instalado pq assim vc podera ver quais arquivos vc precisara colocar em seu serve Link para o comentário Compartilhar em outros sites More sharing options...
Pokerangers 17 Postado Março 17, 2014 Autor Share Postado Março 17, 2014 Pode cre, eu ja dei uma olhada, futuramente eu faço e ensino a por em PDA Podem mover... Link para o comentário Compartilhar em outros sites More sharing options...
Omega 377 Postado Março 17, 2014 Share Postado Março 17, 2014 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 21, 2018 Share Postado Abril 21, 2018 A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. + Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda. * Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados