
Tudo que xWhiteWolf postou
- Água.
- Magnus Challenger
-
Magnus Challenger
fico feliz de ter contribuído pro seu projeto de alguma forma. linha por linha e muito ctrl + c e ctrl + v hahaha pior nem é escrever tudo isso, é dar erro e você não souber aonde que tá e ter que ficar executando o programa inteiro na sua cabeça umas 5x pra achar.. mas são os ossos do ofício haha
- Magnus Challenger
-
(Resolvido)[PEDIDO] NPC de task avançado [Zezenia]
tópico criado, vou dar como resolvido. http://www.tibiaking.com/forum/topic/44760-magnus-challenger/
-
Magnus Task Project
Tópico criado, espero que gostem: http://www.tibiaking.com/forum/topic/44760-magnus-challenger/
-
Magnus Challenger
Fala galera, hoje vim trazer o projeto pronto do Magnus Challenger pra vocês instalarem no servidor de vocês! Pra quem não conhece é um sistema de Tasks baseado no Zezenia onde você pode escolher entre tasks de matar monstros ou de coletar certos items para o npc Magnus, um guerreiro famoso da cidade que está atolado de tarefas e precisa da sua ajuda! Peguei os aspectos que eu julguei serem os principais do modelo do Zezenia e editei com algumas coisas que eu achei que ficariam melhores. Quem quiser pode ver um vídeo comentado de como o sistema funciona: Dito isso vou ensinar vocês como instalar isso no server: Pra começar vá em data\creaturescripts\scripts e procure login.lua, agora vá até o final do arquivo e antes do último return true coloque essas linhas abaixo ainda em creaturescripts procure creaturescripts.xml e adicione essa linha junto com as outras que já estão lá (seguindo o padrão) <!-- TASK SYSTEM --> <event type="kill" name="tasksystem" script="tasksystem.lua"/> Agora crie um arquivo em creaturescripts\scripts com o nome de tasksystem.lua e adicione o seguinte à ele: Terminada a parte da contagem de kill vamos ao NPC em si. Crie um arquivo chamado Magnus.xml em data\npc e coloque isso dentro dele: Agora em data\npc\scripts crie um arquivo chamado zezeniaa.lua e adicione esse conteúdo dentro do arquivo: ~~~~~~~~~~~~~~~~ FEITO ISSO ESTÁ TERMINADO ~~~~~~~~~~~~~~~~~~ Agora aprendendo a configurar: No tasksystem vc pode editar isso daqui: Eu fiz um sistema onde se vc estiver em party com alguém e a pessoa matar os bixos conta como se você tivesse matado; Assim incentiva o pessoal a ir numa cave de Dragon e ao invés de matar quem está lá pra ficar sozinho na cave, eles vão chamar party pra fazerem a task juntos.. assim fazer amigos fica mais fácil e com maiores laços é maior a chance do povo não abandonar o seu server. Apenas digite "true" ou "false" pra ativar/desativar esse sistema e em baixo temos a distancia máxima pro monstro estar do cara que está fazendo a task pra contar o kill. Se a distancia entre o monstro e a pessoa for maior que 7 não vai contar pra ele a kill. No zezeniaa.lua as coisas que dão pra configurar são maiores mas são igualmente simples: Toda vez que vc pedir uma task short (curta) vc vai ter de 100 a 400 monstros pra matar, ele gera um número de 0 a 6 e multiplica por 5 e soma com os 100 iniciais.. o mesmo vale pra todos os outros valores. levelcollect é o level mínimo pra fazer tasks do tipo collect. time é o tempo em segundos que você vai ficar sem poder falar com o npc caso desista de alguma task, o padrão é 8 * 60 * 60 (8 horas) bonus é por quanto vai multiplicar caso vc permita que o npc escolha aleatoriamente entre todas as opções.. o padrão é 20% de bonus (1.2) multiplicador é uma coisa que eu adicionei pra ficar mais fácil mexer na fórmula sem cometer cagadas, se vc tá ganhando 10% de exp e quer ganhar 80% é só colocar 8 no multiplicador. Isso daqui é o banco de dados principal do sistema de kill, toda vez que vc escolher uma task do tipo fácil, médio, dificil ele vai acessar essas tabelas contendo o nome das criaturas.. vc pode facilmente adicionar novos nomes, o npc já está programado pra lidar com isso, apenas siga o padrão e mantenha sempre o último sem vírgula! Ex: adicionando Morgaroth na tabela de hard local hard = { [1] = "Giant Spider", [2] = "Dragon Lord", [3] = "Grim Reaper", [4] = "Demon", [5] = "Crystal Spider", [6] = "Demon Skeleton", [7] = "Juggernaut", [8] = "Destroyer", [9] = "Hand of Cursed Fate", [10] = "Morgaroth" } atente-se também pra não repetir o número no index.. se o anterior era [9] use [10]. O restante das tabelas são separadas para o banco de dados das tasks de collect: segue a mesma lógica da de kill só que aqui você tem o id dos itens que serão usados... aquela count não tem nada a ver com o item pois ele vai gerar tanto o item aleatoriamente quanto à count; Ex: [1] = {id = 5880, count = 20}, -- iron ore isso não significa que se cair iron ore (id 5880) irá cair sempre 20.. até porque eu poderia escolher uma task long e easy e pegar a task de trazer até 50 iron ores, apenas tente manter os padrões que são os intervalos definidos. No easy ele varia de 10 a 20, no medium ele varia de 20 a 35 e no hard de 40 a 50. Espero que vocês tenham curtido, é um sistema grande mas bem simples de se mexer... se tiverem quaisquer problemas podem comentar aqui. Deu trabalho fazer isso então se você gostou deixe o seu comentário aí e o seu "Gostei" que vai me incentivar a trazer mais coisas desse tipo pra cá. Abraços do lobo. PS: Pra sumonar o npc digite com o GOD: /n Magnus ou coloque ele pelo map editor.
- (Resolvido)[PEDIDO] Personagem Brilhando!
-
Aleatório
local exhaust = 0 local storage = 9811 local items = {2183, 8920, 2181, 8912, 8921, 2187, 8910, 8922, 7764, 7773, 7770, 7855, 7864, 7861, 7745, 7754, 7751, 7748, 7755, 7753} function onUse(cid, item, fromPosition, itemEx, toPosition) quantidade = math.random(3, 5) local gems = doPlayerAddItem(cid,2002,1) if (getPlayerStorageValue(cid, storage) <= os.time()) then a = 0 while a < 5 do a = a+1 doAddContainerItem(gems, items[math.random(1, #items)], quantidade) end doRemoveItem(cid, item.uid, 1) setPlayerStorageValue(cid, storage, os.time()+exhaust) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você abriu a mochila surpresa azul e recebeu uma backpack com " .. quantidade .. " equipamentos.") doSendAnimatedText(getCreaturePosition(cid), "SURPRESA!", 5) else doPlayerSendCancel(cid, "Desculpe, você só pode usar novamente este item depois de "..exhaust.." segundos.") end return TRUE end
-
Magnus Task Project
mas é por isso que elas vem aleatórias, mesmo que ele for ultra rico são 9 tipos de items diferentes.. e bear paw é do modo easy kkk
-
Erro no Login.lua
^não foi essa função que deu erro... cara, não dá certo vc simplesmente pegar seu server e mudar de versão, a source tá acusando erro em 3 funções diferentes (por elas não existirem).. vc vai ter um trabalho absurdo pra arrumar isso
-
(Resolvido)[Ajuda] Player Look Bug
tópico fechado à pedido do autor.
-
PK ao Atacar Summon de Outro Player
Bem simples e útil, já vi muita gente procurando isso pra fazer servers mais sérios.. espero que ajude bastante gente.
-
(Resolvido)[PEDIDO]Talkaction 8.54
se a dúvida tiver sido resolvida clique em "Melhor Resposta" embaixo do comentário
-
(Resolvido)[PEDIDO]Talkaction 8.54
O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Scripting → Actions e TalkActions" Para: "OTServ → Suporte OTServ → Suporte de Scripts"
-
O "i" ( í ) com acento agudo está bugado
realmente, vou repassar para a equipe. Obrigado
-
Script De Fishing
@Vasto Lord X, peço que por favor não fuja do assunto do tópico. Se quiser discutir alguma coisa à outras áreas no fórum pra isso. Obrigado.
-
Uhul Hoje é Sexta:
Postado Hoje, 23:56
-
Correr (Poketibia)
local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, 1.7, -36, 1.7, -36) function onSay(cid, words, param) local pos = getThingPos(cid) if(param == '') then doSendMagicEffect(pos, 14) doCreatureSay(cid, "Strong Haste: Correr", 20, false, 0, pos) doAddCondition(cid, condition) return true end local t = string.explode(param, '"') if(t[2]) then doCreatureSay(cid, "Strong Haste: ".. t[2], 20, false, 0, pos) doSendMagicEffect(pos, 14) doAddCondition(cid, condition) end return true end
- cooldown bag
-
Correr (Poketibia)
na teoria se ele não diz nada é só pra soltar o efeito e dar a velocidade, por isso nem coloquei magia nenhuma
-
Magnus Task Project
claro, porque não? tem uma parte no script que é o "multiplicador", vc só mudaria ele e em vez de ganhar 10% de exp ganharia uns 10 leveis.
-
Correr (Poketibia)
a fórmula funciona assim: 1.7, -36, 1.7, -36 /\ /\ /\ /\ quanto maior o primeiro e o terceiro valor mais rápido vai ficar. Quanto menor o segundo e o quarto mais rápido vai ficar; E eles tem que ser iguais. Mude os numeros e vá testando para ver oque te agrada. Quanto aos que estão tendo problema em soltar a frase, é só você digitar correr "frase; se não tiver saindo ou qualquer coisa eu preciso que me digam a versão que está com problema. Testem sem a frase e vejam se sai pelo menos a velocidade e dps tentem correr 'frase e também correr "frase"
-
[Sugestão] Galeria Avançada
O fórum é pra compartilhar coisas de forma livre, estar suscetível à rippers é um risco que todos corremos.. não que seja certo mas é algo facilmente contornável se vc postar somente a foto da sprite ou meter uma marca d'agua em cima. Acho que você me interpretou mal, eu super apoio a idéia mas não acredito que há essa possibilidade de fazer uma parte fechada do fórum só pra membros convidados, por isso sugeri outros meios.
-
[Sugestão] Galeria Avançada
acho legal a idéia porém vai contra os ideais do fórum. Se você pensa realmente em montar uma "escola" você pode fazer isso contatando membros daqui pra um grupo externo (facebook,skype,whats, etc..) e por lá incitar essas discussões acerca do conteúdo (é oque a equipe fez no skype, temos um grupo pra discussões de conteúdo e chamados quem confiamos pra ele)