Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/15/20 em todas áreas

  1. Bronson Server. É um OT baseado no filme Senhor dos Anéis, mapa, itens, histórias, bosses, etc.. Bosses spawnando a cada meia hora por sorteio, se ja tiver o boss nasce o proximo da fila. Possuindo mapa próprio (traduzido PTBR), existem varias Quest's (solo/team) e Cidades Quest's Edoras, Bree, Forodwaith, Moria, Dol Guldur, Anfallas entre outras quests em grupo estilo Annihilator, Pits of Inferno, Inquisition e muito mais . Há 10 vocações: Blockers: Knight, Miner, Orc. Shooters: Archers, Crossbowman e Elf. Mages: Druid, Sorcerer, Elven Apprendice e Orc Sorcerer. Todas elas contendo varias promotes. Sendo a ultima delas Divine Warrior para Blockes, Divine Mage para Mages e Divine Shooter para Shooters, usando todas as magias das vocações. Sem bugs ao meu conhecimento 100%. Sistema de refinamento (somente para as vocações Miner e Divine Warrior's). Várias hunt's Free e VIP, Novas magias para todas as vocações, runas, Sistema VIP /ir (permite que você chegue à lugares com mais rapidez). É bem focado em RPG (explorar). Itens unicos e proprios do servidor. Link de Download: https://mega.nz/file/zltDCYxK#jmK-CMAvOk0w9DoHwoseVreYVlOPXIf_rrNvZYSJ5wI Scan: https://www.virustotal.com/gui/url/0cfd1ebd6c6014363af13721cb3244c7c62b53f11a9c01949fa3651153305fc2/detection Algumas Imagens do servidor. Mapa. Algumas Quest's.
    1 ponto
  2. NiCaDo

    (Duvida) OTClient

    pra ser sincero não me lembro mas acho que deve ser o client da base pokemon x universion porem base mysterious
    1 ponto
  3. Yan Oliveira

    NPC de TASK

    Eu criei um NPC de Task aqui, porém eu fiz em uma base Poketibia TFS 0.3.6, pois não tenho outra base com versão de TFS diferente. Porém olhei as funções do TFS 1.0 (que é a que você descreveu) e as funções que utilizei nos scripts tem no TFS 1.0. Vai em Data/NPC e cria um arquivo xml chamado Billie.xml e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Billie" script="Billie.lua" walkinterval="10000" floorchange="0" speed="100"> <health now="150" max="150"/> <look type="1421" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I need a service... Say {help} or {task} to more informations."/> </parameters> </npc> Agora em Data/NPC/Scripts crie um arquivo chamado Billie.lua e insira o código dentro: 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 -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local id_item = 2160 -- ITEM QUE VAI GANHAR AO CONCLUIR A TASK local quantidade_item = 1 -- QUANTIDADE DE ITENS QUE VAI GANHAR local exp = 500000 -- EXPERIÊNCIA QUE VAI GANHAR local monstro = "Magmar" -- NOME DO MONSTRO local quantidade_monstro = 50 -- QUANTIDADE DE MONSTROS local storage = 32500 -- STORAGE DO NPC local storage_npc = 34900 -- STORAGE QUE O NPC DA PARA O PLAYER PARA COMEÇAR A TASK local storage_quantidade = 32510 -- STORAGE QUE CONTÉM A QUANTIDADE DE MONSTROS DERROTADOS PELO PLAYER local storage_task = 32600 -- STORAGE DE CONCLUSÃO DA TASK local storage_mensagem = 32505 -- STORAGE PARA DEIXAR O DIALOGO MAIS BONITO local restante = (quantidade_monstro - getPlayerStorageValue(cid, storage_quantidade)) + 1 ----------------------------------- [ DIALOGO COM NPC] ----------------------------------- if msgcontains(msg, 'task') then if getPlayerStorageValue(cid, storage) == 1 then selfSay("You have already done my task.", cid) talkState[talkUser] = 0 return true else if getPlayerStorageValue(cid, storage_npc) < 1 then selfSay("I need you kill " ..quantidade_monstro.. " " ..monstro.. ". Do you accept my task?", cid) else selfSay("Have you already finished my task?", cid) end talkState[talkUser] = 1 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_mensagem) < 1 and getPlayerStorageValue(cid, storage_npc) < 1 then selfSay("Ok, go to complete my task.", cid) talkState[talkUser] = 0 setPlayerStorageValue(cid, storage_mensagem, 1) setPlayerStorageValue(cid, storage_npc, 1) setPlayerStorageValue(cid, storage_quantidade, 1) return true end if getPlayerStorageValue(cid, storage_task) < 1 then selfSay("You don't finish my task yet. You need to kill " ..restante.. " " ..monstro.. " yet." , cid) talkState[talkUser] = 0 return true else selfSay("Congratulations! You finished my task! Receive your reward.", cid) doSendMagicEffect(getThingPos(cid), 27) doPlayerAddExp(cid, exp) doPlayerAddItem(cid, id_item, quantidade_item) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora vai em Data/Creaturescripts/Scripts e crie um arquivo chamado task_billie e adicione o código dentro: local monstro = "Magmar" -- NOME DO MONSTRO local quantidade = 50 -- QUANTIDADE DO MONSTRO local storage_npc = 34900 -- NÃO MEXE local storage_quantidade = 32510 -- NÃO MEXE local storage_task = 32600 -- NÃO MEXE function onKill(cid, target, lasthit) if getPlayerStorageValue(cid, storage_npc) > 0 then if getPlayerStorageValue(cid, storage_task) < 1 then if getPlayerStorageValue(cid, storage_quantidade) < quantidade then if isPlayer(cid) and getCreatureName(target) == monstro then local restantes = quantidade - getPlayerStorageValue(cid, storage_quantidade) doPlayerSendTextMessage(cid, 27, "Billie: " ..restantes.. " " ..monstro.. " restantes para derrotar." ) setPlayerStorageValue(cid, storage_quantidade, getPlayerStorageValue(cid, storage_quantidade) + 1) return true end elseif getPlayerStorageValue(cid, storage_quantidade) == quantidade then doPlayerSendTextMessage(cid, 27, "Billie: You don't have more " ..monstro.. " to defeat. Come back to get your reward.") setPlayerStorageValue(cid, storage_quantidade, -1) setPlayerStorageValue(cid, storage_task, 1) return true end else return true end else return true end end Ainda em Data/Creaturescripts/Scripts abra o arquivo login.lua e vá procure pela parte onde fica os registros de eventos no código, e adicione a seguinte linha embaixo do último evento: registerCreatureEvent(cid, "task_billie") E por último, em Data/Creaturescripts abra o creaturescripts.xml e adicione a tag: <event type="kill" name="task_billie" script="task_billie.lua"/> Explicação: Deixei comentado as variáveis e cada parte, no arquivo Billie.lua coloque o nome do monstro na variável monstro e a quantidade na variável quantidade_monstro, e o coloque o id e quantidade do item que o player vai ganhar nas variáveis conforme deixei comentado, está bem simples de ver. No arquivo task_billie a mesma coisa, só que lá só vai precisar colocar nome do monstro e quantidade. O player irá ganhar o item conforme o id que está na variável, a quantidade e experiência definida no Billie.lua, só alterar lá as recompensas. O resto não precisa mexer. Eu testei aqui e funcionou normal, mas teste e me fale se der algum problema.
    1 ponto
  4. Skulls

    Galeria Spells

    Título auto explicativo.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...