-
Total de itens
108 -
Registro em
-
Última visita
-
Dias Ganhos
1
Tudo que deglorio postou
-
SIM, farei mais 4 iguais, mudando apenas os pokes. A mensagem pode ser Daily: Faltam tantos monstros para matar Daily: Quest done (caso conclua) Ai não precisa por o nome do npc
-
Reputado mesmo assim, fez um ótimo trabalho, e se fizer um outrocreatureevent?
-
Olha a lib, pelo menos aqui funciona perfeitamente, não tenho esse npc Letícia. function getStingOfTask(cid, npc)if not isCreature(cid) then return "" endlocal str = {}local c = 0local nome = (npc and type(npc) == "string") and npc or (npc and isCreature(npc)) and getCreatureName(npc) or "" for i = 91001, (91000+maxTasks) do if getPlayerStorageValue(cid, i) ~= -1 and tostring(getPlayerStorageValue(cid, i)) then local array = getArrayFromStorage(cid, i) if arrayHasContent(array) then for e, f in pairs(array) do if (not npc) or (nome ~= "" and e == nome) then for a = 1, #f do local poke = f[a][1] local num = f[a][2] if tonumber(num) >= 1 then table.insert(str, ((a ~= 1 and c ~= 0) and ", " or "")..num.." "..poke..(num == 1 and "" or "s")) c = c+1 end end table.insert(str, ".\n") end end end endendreturn table.concat(str)endfunction arrayHasContent(array)if type(array) ~= "table" then return false endreturn next(array) and true or falseendfunction getMyTaskSto(cid, npc)if not isCreature(cid) or (type(npc) ~= "string" and not isCreature(npc)) then return -1 endfor i = 91001, (91000+maxTasks) do if getPlayerStorageValue(cid, i) ~= -1 and tostring(getPlayerStorageValue(cid, i)) then local t = string.explode(getPlayerStorageValue(cid, i), "/") if tostring(t[1]) and tostring(t[1]) == (type(npc) == "string" and npc or getCreatureName(npc)) then return i end endendreturn -1endfunction isMyTaskComplete(cid, npc)if not isCreature(cid) or (type(npc) ~= "string" and not isCreature(npc)) then return false endlocal storage = getMyTaskSto(cid, npc)local count = 0 if storage ~= -1 then local array = getArrayFromStorage(cid, storage) for e, f in pairs(array) do for i = 1, #f do count = count+f[i][2] end end else return false endif count == 0 then return true endend function getFreeTaskStorage(cid)if not isCreature(cid) then return -1 endfor i = 91001, (91000+maxTasks) do if type(getPlayerStorageValue(cid, i)) == "number" and getPlayerStorageValue(cid, i) <= -1 then return i endendreturn -1endfunction setStorageArray(cid, storage, array)if not isCreature(cid) or not storage or type(array) ~= "table" then return false endlocal str = ""for e, f in pairs(array) do for i = 1, #f do str = i == 1 and str..""..e.." / " or str.."" str = i == 1 and str..""..f[i][1] or str..";"..f[i][1] str = str..", "..f[i][2] endendsetPlayerStorageValue(cid, storage, str)return trueendfunction getArrayFromStorage(cid, storage)if not isCreature(cid) or not storage or type(getPlayerStorageValue(cid, storage)) ~= "string" then return {} endlocal array = {}local name = string.explode(getPlayerStorageValue(cid, storage), "/")if not name or type(name) ~= "table" then return {} endlocal t1 = string.explode(name[2], ";")array[name[1]] = {}for i = 1, #t1 do local t2 = string.explode(t1[i], ",") table.insert(array[name[1]], {t2[1], t2[2]})endreturn arrayend
-
function onKill(cid, target)local continue = trueif ehMonstro(target) then for i = 91001, (91000+maxTasks) do local sto = getPlayerStorageValue(cid, i) if type(sto) == "string" then local array = getArrayFromStorage(cid, i) if arrayHasContent(array) then for e, f in pairs(array) do for a = 1, #f do if tostring(f[a][1]) == getCreatureName(target) and tonumber(f[a][2]) >= 1 then if (pokes[getPlayerStorageValue(cid, 854787)] and getCreatureName(getCreatureSummons(cid)[1]) ~= getPlayerStorageValue(cid, 854787)) then if npcsTask[tostring(e).."_1"] then continue = false --task clan end elseif e == "Agatha" and getCreatureName(target) == "Shiny Abra" and not isInRange(getThingPos(target), Agatha.fromPos, Agatha.toPos) then continue = false --alterado v1.9 agatha quest end if continue then f[a][2] = f[a][2]-1 if f[a][2] == 0 then doPlayerSendTextMessage(cid, 27, tostring(e)..": Quest Done!") else doPlayerSendTextMessage(cid, 27, tostring(e)..": You need to kill more "..f[a][2].." "..f[a][1]..(f[a][2] == 1 and "." or "s.")) end setStorageArray(cid, i, array) end continue = true end end end end end endend return trueend creaturescripts que faz a contagem
-
Obrigado. Essa parte com o nome do NPC = Junko tem como adiconar? Pq ele funcionar para a contagem da task no console, igual PDA Faltou também a quantidade de pokemons para matar ["blastoise"] = {["Junko"] = {{"Blastoise", 3}}},
-
Quando o player falar hi, task, ai o npc vai dar duas opção de task (aleatoria), ai o player escolhe uma das opcoes e fala yes e inicia a task. Player: hi Player: task NPC: What task do you wat? Aleatoria 1 ou aleatoria 2? Player: Aleatoria 1 NPC: Tem certeza? Player: Yes NPC: boa sorte
-
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() end function creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseend local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidlocal tasks = {["blastoise"] = {["Junko"] = {{"Blastoise", 3}}}, --modifiquei aki, mas n sei se vai da certo kk["electabuzz"] = {["Junko"] = {{"Electabuzz", 3}}},["venusaur"] = {["Junko"] = {{"Venusaur", 3}}},["charizard"] = {["Junko"] = {{"Charizard", 3}}},}local msg = msg:lower() --eh sempre bom por isso.. pra deixar a msg soh em letras minusculas if msgcontains(msg, "task") then if isMyTaskComplete(cid, getNpcCid()) then selfSay("Wow you have already complete my task! Ok then, take your reward!", cid) doPlayerAddExperience(cid, 1500000) --premio doPlayerAddItem(cid, 2160, 25) local sto = getMyTaskSto(cid, getNpcCid()) setPlayerStorageValue(cid, sto, -1) --nunca esqueça disso... setPlayerStorageValue(cid, 25566, os.time() + 24*60*60) setPlayerStorageValue(cid, 181601, 1) --storage da outfit setPlayerStorageValue(cid, 181602, 1) --storage da outfit talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 25588) > os.time() then selfSay("You have to wait 24h to do my task again!", cid) talkState[talkUser] = 0 return true elseif getMyTaskSto(cid, getNpcCid()) ~= -1 then selfSay("You are already doing my task! Go end it!", cid) talkState[talkUser] = 0 return true end selfSay("What task do you want? {blastoise}, {electabuzz}, {venusaur}, {charizard}", cid) talkState[talkUser] = 1 return trueelseif isInArray({"blastoise", "electabuzz", "venusaur", "charizard"}, msg) and talkState[talkUser] == 1 then task = tasks[msg] --modifiquei aki tb selfSay("Are you sure?", cid) talkState[talkUser] = 2 return trueelseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then local sto = getFreeTaskStorage(cid) 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 selfSay("OK kill all, good luck!", cid) setStorageArray(cid, sto, task) talkState[talkUser] = 0 return trueend return trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Olá, achei esse script de um npc de task, ele funciona perfeitamente, porém tentei deixar os monstros da task random e não consegui, podem me ajudar? Tentei de várias maneiras e não consegui Desde já agradeço
-
Engraçado, um fala que criou, ai o outro fala que foi ele também. O server era meu e passei para o Bluester. A source eu que adaptei. Mas independente, façam bom uso, ótima base, quem quiser a source com vários crashs removidos e várias correções só chamar no pv.
-
[DxP] Exclusivo Poketibia OpenSource
tópico respondeu ao Taiger de deglorio em OTServer Alternativo (ATS)
Alguém ai sabe onde ta o bloqueio do player não enviar mensagem nos channel quando ta assistindo TV? Quero corrigir e colocar para conversar igual PxG, não não to identificando o bloqueio, lá em game.ccp não é. -
Bom dia Sukito, me passa seu whatsapp ou face, não consigo achar vc online no skype.
Grégore aqui
-
Boa tarde, estou tentando fazer um código para dar look na pokeball quando dar trade e aparecer os atributos. int32_t valuee = (1,50); if(tradeItem->getIntegerAttribute("boost") >= valuee) ss << ", Boost: [" << tradeItem->getIntegerAttribute("boost", valuee) << "]"; Apareceu alguns erros e não sei como arrumar no matching function for call to 'Item::getIntegerAttribute(const char [6], int32_t&)' candidates are: const int32_t* ItemAttributes::getIntegerAttribute(const std::string&) const Alguém me ajuda?
-
[Encerrado]Pokémon mysterion - junte-se a nós!
tópico respondeu ao LLossavaro de deglorio em Formação de Equipes
Desejo que vocês levem o projeto até o fim. Não tenho tempo para trabalhar com vocês, mas posso ajudar de acordo com minha disponibilidade. -
Por atitudes de alguns membros decidi ficar com a source aqui no PC, e na próxima vez que formatar PC vou jogar isso fora, 2 membros aqui do fórum vou passar a source e o resto que só sabe reclamar, bye bye ao tópico!
-
Gente, o sistema de addon feito por mim e o gristony é um protótipo, em breve posso corrigir, algumas coisas precisam ser arrumadas sim, mas eu estou abandonando a "carreira de pokemon" vou ajudar de acordo com meu tempo. Por isso a bucha esta com vcs, mas quando tem tempo eu ajudo, sempre ajudo o Bluester e o NextBR.Qualquer coisa posta ai que vamos corrigindo.
-
Gente, o sistema de gender esta na source!
-
Vi lá, depois já posto um patch com as correções.
-
@ Posta a correção do trade novamente, até perdi com esse rolo todo.
-
Pronto, problema resolvido!
-
Corrigido a Evolução /town é normal, gm nao precisa de pokemon
-
Irei Corrigir
-
Você ta usando a TV depois que eu utilizei o servidor dia 30/12/2015?
-
Pessoal o novo server que coloquei para download já tem a função, não precisa baixar o EXE separado não.
-
Pessoal, não darei suporte para sqlite, o servidor esta configurado para mysql Vocês perceberam que a TV é conectada pela database? as vezes em sqlite da bug, pq a database sqlite demora um pouquinho para atualizar. Ai vai do critério de vocês, tudo que for relacionado a SQLITE não responderei. Servidor ATUALIZADO 29/12/2015.
-
Pessoal, logo logo, posto o servidor com as modificações feitas pelos membros.
-
Gente, usem o sistema de mysql, muito melhor, servidor sério com sqlite não vira, com mysql eu posto o site aqui e vcs param de sofrer com first item.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.