Líderes
-
Thiago Mapper
MembroPontos150Total de itens -
-
xWhiteWolf
HéroiPontos3605Total de itens -
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 09/04/16 em todas áreas
-
[8.54] Servidor + Client Naruto B&W [EXCLUSIVO]
OLÁ USUARIOS DO TIBIA KING .. HOJE ESTAREI TRAZENDO UMA NOVIDADE .. O SERVIDOR DE NTO EXCLUSIVO DO NTO BLACK & WHITE(AKELE OT NOVO QUE FOI CRIADO A 1 MES POR E MIN E POR O [ADM] Johnatan). VALE LEMBRAR QUE O NTO BLACK WHITE FOI UM DOS SERVIDORES DE NARUTIBIA QUE MAIS CRESCEU NOS ULTIMOS TEMPOS .. EM APENAS 1 SEMANA DE NTO JÁ ATINGIMOS A META DE 70 ~ 80 USUARIOS ONLINE FIXOS DIARIOS, E ESSE É O SERVIDOR MAIS RECENTE DO NTO BLACK WHITE BASEADO NO DO SERVIDOR MADARA RINNEGAN EDITADO POR MIN E POR O JOHNATA. ANTES DE MAIS NADA GOSTARIA DE EXPLICAR O MOTIVO DE TAR POSTANDO O SERVER .. BEM O JOHNATAN ERA QUEM FAZIA PRATICAMENTE TUDO NAS ATUALIZAÇÕES E TAALS .. POREM ELE PAROU COM NTO AI TIVE QUE DESMONTAR O NTO B&W PORQUE EU NÃO TINHA CONDIÇÕES PRA DAR CONTA DO NTO SOZINHO. CHEGA DE BLABLA E VAMOS LÁ!! [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] DOWNLOAD [+] CREDITOS [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] Downloads Servidor Naruto B&W: Clique Aqui Client(descompilado): Clique Aqui [+] Creditos - Madara Rinnegan (servidor base) - [ADM] Johnata Editar Praticamente Todo o Servidor - Eu Por umas Besteiras q eu Coloquei e Por Postar GOSTOU DO SERVIDOR? DA UM REP++1 ponto
-
Gran Castle Event (8.54+)
Gran Castle Event (8.54+)
koyotestark reagiu a xWhiteWolf por uma resposta no tópico
1 pontoOlá pessoa, hoje vim trazer pra vocês um script bem requisitado que inclusive é vendido por alguns scripters. Algumas versões "pioradas" dessse script podem ser encontradas em servidores cópias do Fox World porém nenhum desses scripts chegará aos pés desse daqui que foi arrumado por mim. Eu não sou o criador do Script, eu peguei qualquer um na internet e só fui arrumando e adicionando coisas que as pessoas reclamavam que não tinha. O cara que criou a versão que eu editei é esse daqui: Não vou me prolongar e nem falar mal da versão do Roksas, apenas saibam que eu editei ela praticamente inteira e que agora está 100%. Aqui tem um pequeno vídeo de como funciona o evento: Explicação: Gran Castle é um evento para ser feito sozinho ou com a guild, há um limite configurável no script de membros que podem entrar da mesma guild. Em dias determinados é aberto o evento e os players podem entrar ao falar com o NPC Melkrapo. Uma vez dentro do castelo os players batalharão para subir os andares e chegar até a Gran Tower, um monstro lendário que dará glória para aqueles que o derrotarem. Será que você é capaz? Instale no seu server e descubra! Um evento para redefinir o conceito de PVP e onde o seu maior inimigo serão seus semelhantes. Sem mais delongas vamos começar a instalar esse monstrinho.. porque ele é grande pra caralho. Agora crie um arquivo em creaturescripts\scripts chamado Gran Tower.lua e adicione o seguinte: em data\lib crie um arquivo chamado 046-Gran Tower.lua e adicione o seguinte dentro dele: Agora voltando aos creaturescripts crie um arquivo em scripts chamado Gran Aura.lua e adicione: E um arquivo chamado Barrier.lua na mesma pasta com o seguinte conteúdo: Agora em globalevents\globalevents.xml adicione a seguinte linha: <globalevent name="Gran Tower" interval="60" event="script" value="Gran Tower.lua"/> E adicione o script associado em globalevents\scripts com o nome de Gran Tower.lua: Agora na pasta monster procure o seu monsters.xml e adicione essas duas linhas: <monster name="Gran Tower" file="8.4/Gran Tower.xml"/> <monster name="Barrier" file="8.4/barrier.xml"/> Feito isso crie os monstros na pasta data\monster\8.4: O primeiro se chama barrier.xml e deverá conter: O segundo se chamará Gran Tower.xml e deverá conter: Agora vamos para NPC, vá em data\npc e crie um arquivo chamado Melkrapo.xml com o seguinte conteúdo: Agora em npc\scripts crie um arquivo chamado Melkrapo.lua e adicione o seguinte: Agora partindo pra spells vá em data\spells e adicione no spells.xml essas linhas: local function atk(cid) doSendDistanceShoot(pos5, pos6, 3) doSendDistanceShoot(pos7, pos8, 3) end local function atkself(cid) doSendDistanceShoot(pos9, selfpos, 3) doSendDistanceShoot(pos10, selfpos, 3) doSendDistanceShoot(pos11, selfpos, 3) doSendDistanceShoot(pos12, selfpos, 3) doSendDistanceShoot(pos13, selfpos, 3) doSendDistanceShoot(pos14, selfpos, 3) doSendDistanceShoot(pos15, selfpos, 3) doSendDistanceShoot(pos16, selfpos, 3) end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_DAMAGE, -500, -7000, -300, -9000, 200, 200, 100, 400) --- formula de dano que tira o ataque da gran tower local area = createCombatArea(AREA_TOWER) setCombatArea(combat, area) function onCastSpell(cid, var) selfpos = getCreaturePosition(cid) pos1 = {x=getCreaturePosition(cid).x + 2, y=getCreaturePosition(cid).y + 2, z=getCreaturePosition(cid).z} pos2 = {x=getCreaturePosition(cid).x - 2, y=getCreaturePosition(cid).y + 2, z=getCreaturePosition(cid).z} pos3 = {x=getCreaturePosition(cid).x - 2, y=getCreaturePosition(cid).y - 2, z=getCreaturePosition(cid).z} pos4 = {x=getCreaturePosition(cid).x + 2, y=getCreaturePosition(cid).y - 2, z=getCreaturePosition(cid).z} pos5 = {x=getCreaturePosition(cid).x - 2, y=getCreaturePosition(cid).y + 2, z=getCreaturePosition(cid).z} pos6 = {x=getCreaturePosition(cid).x - 2, y=getCreaturePosition(cid).y - 2, z=getCreaturePosition(cid).z} pos7 = {x=getCreaturePosition(cid).x + 2, y=getCreaturePosition(cid).y - 2, z=getCreaturePosition(cid).z} pos8 = {x=getCreaturePosition(cid).x + 2, y=getCreaturePosition(cid).y + 2, z=getCreaturePosition(cid).z} pos9 = {x=getCreaturePosition(cid).x - 1, y=getCreaturePosition(cid).y + 1, z=getCreaturePosition(cid).z} pos10 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y + 1, z=getCreaturePosition(cid).z} pos11 = {x=getCreaturePosition(cid).x + 1, y=getCreaturePosition(cid).y + 1, z=getCreaturePosition(cid).z} pos12 = {x=getCreaturePosition(cid).x - 1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} pos13 = {x=getCreaturePosition(cid).x+ 1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} pos14 = {x=getCreaturePosition(cid).x - 1, y=getCreaturePosition(cid).y - 1, z=getCreaturePosition(cid).z} pos15 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y - 1, z=getCreaturePosition(cid).z} pos16 = {x=getCreaturePosition(cid).x + 1, y=getCreaturePosition(cid).y - 1, z=getCreaturePosition(cid).z} doSendDistanceShoot(pos1, pos2, 3) doSendDistanceShoot(pos3, pos4, 3) addEvent(atkself, 350) addEvent(atk, 350) return doCombat(cid, combat, var) end Feito isso vá em spells\lib e no seu arquivo spells.lua adicione a seguinte area: AREA_TOWER = { {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 3, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1} } Agora nós vamos criar a talkaction que vai te permitir ligar o evento a hora que vc quiser. Vá em data\talkactions\talkactions.xml e adicione a seguinte linha: <talkaction hide="yes" words="/grantower" access="5" event="script" value="cleargrantower.lua"/> e em talkactions\scripts adicione o arquivo cleargrantower.lua com o seguinte conteúdo dentro: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local t = string.explode(param, " ") if (tonumber(t[1]) == 1) then doPrepareGranTower() doSendMagicEffect(getCreaturePosition(cid), 14) elseif (tonumber(t[1]) == 0) then doCloseGranTower() doSendMagicEffect(getCreaturePosition(cid), 14) elseif (tonumber(t[1]) == 2) then print(getGlobalStorageValue(GRANTOWER.SAVELASTWINNER)) doSendMagicEffect(getCreaturePosition(cid), 14) elseif (tonumber(t[1]) == 3) then print(getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID)) doSendMagicEffect(getCreaturePosition(cid), 14) end return true end Agora vá em data\creaturescripts\scripts\login.lua e adicione essas linhas antes do ultimo return true: -----------GRAN CASTLE ----------- registerCreatureEvent(cid, "Gran Tower") registerCreatureEvent(cid, "Gran Aura") registerCreatureEvent(cid, "Gran Aura Stats") registerCreatureEvent(cid, "Gran Aura Logout") registerCreatureEvent(cid, "Gran Tower Target") Por último eu acho que eu usei uma das funções da minha lib nesse script, então se der qualquer erro eu recomendo que vcs instalem ela antes de me mandar o print do erro do servidor haha. (Pra instalar é só criar um arquivo em data.lib e coloca aquilo dentro, veja o tópico no meu perfil) Eu testei o script e tá funcionando perfeitamente, a única coisa que não consegui testar foi as guilds e como fica a aura qnd alguém da guild ganha mas acho que vcs podem fazer esse trabalhinho de testar pra mim... Pra finalizar gostaria de dizer que um membro do fórum pagou por esse script e ele não estava funcionando, não comprem scripts, venham ao fórum e peçam por eles. Que fique de lição. Todas as configurações são feitas pelo arquivo 046- Gran Aura que está na LIB (exceto as coisas relacionadas aos monstros/spells que eles tiram) mas está tudo bem explicadinho nos scripts e acho que vocês já sabem editar um monstro, não é mesmo? haha Espero que façam bom proveito, pretendo lançar uma versão 1.0 em breve juntamente com a versão 1.0 do Magnus Challenger. Fiquem ligados! e claro, se você gostou não faz mal clicar em "Gostei". Abraços do lobo. NOTA FINAL: Sei que a maioria dos caras que queriam esse script queriam pra servers 8.4 porém a forma de fazer a barreira ter essa modificação na outfit qnd estiver quebrando é só por statschange. É só modificar a source e adicionar a function onStatsChange do creaturescripts que vai pegar no seu server 8.4. Já vi server 7.6 com statschange então não creio que seja algo dificil.1 ponto -
Magnus Challenger
Magnus Challenger
bagulhoescroto reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala 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.1 ponto -
[PagSeguro] Novo Método de Retorno Automático
[PagSeguro] Novo Método de Retorno Automático
AddroJhonny reagiu a Ivens Pontes por uma resposta no tópico
1 pontoOlá amiguinhos! Esse é meu primeiro script que faço e trago para vocês. Esse sistema usa a API PHP do PagSeguro, muito mais simples e seguro, sem muitas gambiarras. Tentei deixar o mais fácil possível de se instalar, qualquer sugestão será bem vinda! Requisitos: PHP 5.4.27+ SPL cURL SimpleXml Funcionalidades: Double Points no config/config.php Possibilidade de usar vários sites em uma unica conta do PagSeguro Possibilidade de acrescentar mais funcionalidades ao Gesior ou outro AAC com a API do PagSeguro. Primeiramente pegue seu token (AQUI) e desative todas as configurações. Assim: Feito isso, baixe a source no repositório do GitHub (AQUI). Extraia o conteúdo e coloque na raiz do seu site (www ou htdocs). Agora vamos colocar a mão na massa! Abra config/config.php e coloque esse código onde achar melhor: $config['pagSeguro']['email'] = "[email protected]"; // Email da conta pagseguro $config['pagSeguro']['token'] = "yourtokenhere"; // Seu TOKEN $config['pagSeguro']['urlRedirect'] = 'http://seusite.com/?subtopic=donate&action=final'; $config['pagSeguro']['urlNotification'] = 'http://seusite.com/retpagseguro.php'; $config['pagSeguro']['productName'] = 'Premium Points'; // Nome do produto que irá aparecer no pagseguro $config['pagSeguro']['productValue'] = 1.00; // valor de cada ponto ex.: 0.50 = R$ 0,50 / 1.50 = R$ 1,50 .... $config['pagSeguro']['doublePoints'] = false; // se true ativa double points / se false desativa $config['pagSeguro']['host'] = 'localhost'; // host banco de dados $config['pagSeguro']['database'] = 'tibiaking_db'; // nome do banco de dados $config['pagSeguro']['databaseUser'] = 'root'; // usuario banco de dados $config['pagSeguro']['databasePass'] = 'tibiaKing3321'; // senha banco de dados Preencha as configurações, não tem muita dificuldade. Um passo importante para o sistema funcionar corretamente é preencher o ['urlRedirect'] e ['urlNotification'] corretamente. ['urlRedirect'] é a pagina que o PagSeguro irá mandar o comprador depois que ele pagar a solicitação. Substitua o seusite.com pelo seu site eu se quiser o para outra pagina ex.: seusite.com/?subtopic=accountmanagement ['urlNotification'] é onde o retpagseguro.php está, tenha certeza que ele está na raiz do site, não o coloque em outro lugar para evitar problemas. Com tudo preenchido vamos ao banco de dados e execute esse código sql: CREATE TABLE IF NOT EXISTS `pagseguro_transactions` ( `transaction_code` varchar(36) NOT NULL, `name` varchar(200) DEFAULT NULL, `payment_method` varchar(50) NOT NULL, `status` varchar(50) NOT NULL, `item_count` int(11) NOT NULL, `data` datetime NOT NULL, UNIQUE KEY `transaction_code` (`transaction_code`,`status`), KEY `name` (`name`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Ou importe o arquivo pagseguro.sql que vem dentro da pasta schemas. Feito isso entre em seusite.com/?subtopic=donate e prossiga normalmente como se fosse fazer uma doação. Se ao clicar no botão de finalizar for levado a esta tela: Provavelmente você fez tudo corretamente. Qualquer bug ou dificuldade na instalação só comentar que irei ajudar. Até a próxima! Scan mais recente: Link Documentação da API: Link Agradecimentos: DexDev Natanael e Abusolute e Matk (Os sistemas anteriores me fizeram entender a logica da coisa)1 ponto -
Sistema: Cassino Slots.
Sistema: Cassino Slots.
JcA reagiu a Adriano SwaTT por uma resposta no tópico
1 pontoBoa noite galera, após um pedido aqui no fórum sobre um sistema de Cassino, decidi então criar este e disponibilizar para vocês. Introdução: Bom, este script simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo: Como funciona? O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu. Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável). Como jogar? Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar. Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado. Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca. E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente. Dicas de instalação! Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo: Instalando: Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro: Agora em “actions.xml” adicione a tag abaixo: Agora basta configurar de acordo com as informações disponíveis no início do script. Vejam o vídeo demonstrativo do Sistema em funcionamento. Criado por: Adriano Swatt'1 ponto -
Forge System
1 pontoADVANCED FORGE SYSTEM O SISTEMA DE CRIAÇÃO DE ITENS PARA SEU SERVIDOR Creio que muitos já conhecem o sistema de forja criado por mim, acontece que o código já estava um pouco obsoleto, então resolvi reescrever ele do 0. Simplesmente consiste em um sistema de criação de itens avançado que ressuscita um pouco do RPG perdido nos servidores de hoje em dia. O jogador poderá criar itens através de forja, agindo como um verdadeiro ferreiro medieval. Adiciona itens em cima de uma bigorna previamente colocada no mapa e com um martelo cria um item totalmente novo. CARACTERÍSTICAS DA VERSÃO FINAL: - Configuração intuitiva e fácil de compreender; - Mini-tutorial auxiliando criação de novas receitas; - Receitas podem conter até 250 itens diferentes com suas respectivas quantidades; - Sistema inteligente que identifica uma receita em qualquer ordem; - Código totalmente orientado a objetos; - Possibilidade de configurar diferentes requerimentos, diferentes skills, magic level e level Há dois modos de instalar o Advanced Forge System, o primeiro é seguir os passos deste tópico e o segundo e baixar pasta data/ anexada no tópico com os arquivos em seus respectivos diretórios, precisando apenas o registro das chaves nos arquivos XML. Escolha o modo que mais convém a você. Crie um arquivo em data/lib chamado forgesystem.lua e cole o conteúdo abaixo: --[[ ADVANCED FORGE SYSTEM FINAL Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- RecipeHandler = { itemtype = 0, items = {}, level = 1, maglevel = 0, skills = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0} } Forge = { type = nil, position = nil, magicEffect = CONST_ME_MAGIC_GREEN, messages = { class = MESSAGE_STATUS_DEFAULT, success = "You have successfully forged a %s.", needskill = "You don't have enough %s to create a %s.", needlevel = "You need level %s to create a %s.", needmaglevel = "You need magic level %s to create a %s." } } function RecipeHandler:new(itemtype, items, level, maglevel, skills) local obj = { itemtype = (itemtype or 0), items = (items or {}), level = (level or 1), maglevel = (maglevel or 0), skills = (skills or {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0}) } table.insert(Recipes, obj) return setmetatable(obj, {__index = self}) end function RecipeHandler:setItem(itemtype) self.itemtype = (itemtype or 0) end function RecipeHandler:setRecipe(...) self.items = {...} end function RecipeHandler:setRecipeItem(itemid, amount) table.insert(self.items, {itemid, amount}) end function RecipeHandler:setSkill(skillid, value) self.skills[skillid] = value end function RecipeHandler:setLevel(value) self.level = value end function RecipeHandler:setMagLevel(value) self.maglevel = value end function RecipeHandler:check(position) local match = false for n, item in ipairs(self.items) do local thing = getTileItemById(position, item[1]) if thing.uid > 0 and math.max(1, thing.type) >= item[2] then if n == #self.items then match = true end else break end end return match end function RecipeHandler:get(position) if self:check(position) == true then return setmetatable({type = self, position = position}, {__index = Forge}) end return false end function Forge:create(cid) if self.type.itemid == 0 then print("[FORGE SYSTEM - ERROR] ATTEMPT TO CREATE A RECIPE ITEMID 0") return end local status = true if(cid) then if getPlayerLevel(cid) < self.type.level then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needlevel:format(self.type.level, getItemNameById(self.type.itemtype))) return end if getPlayerMagLevel(cid) < self.type.maglevel then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needmaglevel:format(self.type.maglevel, getItemNameById(self.type.itemtype))) return end for skillid, value in pairs(self.type.skills) do if getPlayerSkillLevel(cid, skillid) < value then status = false doPlayerSendTextMessage(cid, self.messages.class, self.messages.needskill:format(SKILL_NAMES[skillid], getItemNameById(self.type.itemtype))) break end end end if status == true then for _, item in ipairs(self.type.items) do local thing = getTileItemById(self.position, item[1]) doRemoveItem(thing.uid, item[2]) end doSendMagicEffect(self.position, self.magicEffect) doPlayerSendTextMessage(cid, self.messages.class, self.messages.success:format(getItemNameById(self.type.itemtype))) doCreateItem(self.type.itemtype, self.position) end end dofile(getDataDir() .."/lib/recipes.lua") Crie um arquivo em data/lib chamado recipes.lua e adicione o conteúdo abaixo: ---------------------------------------- -----** TUTORIAL DE CONFIGURAÇÃO **----- ---------------------------------------- --[[ O 'ADVANCED FORGE SYSTEM' é muito fácil e intuitivo de configurar, você só precisa chamar a função RecipeHandler:new(...), sendo que você já configurar os atributos da receita nela ou usar outras funções para isso. Por exemplo, quero criar uma Magic Sword que precise de 100 Gold Nuggets. RecipeHandler:new(2400, {{2157, 100}}) Ou então Magic_Sword = RecipeHandler:new() Magic_Sword:setItem(2400) Magic_Sword:setRecipe({2157, 100}) Funções do Sistema: RecipeHandler:new(itemtype, items, level, maglevel, skills) --> Cria uma nova instância de forja. RecipeHandler:setItem(itemtype) --> Atribui um certo itemid como resultado da receita. RecipeHandler:setRecipe(recipe) --> Atribui uma receita. RecipeHandler:setRecipeItem(itemid, amount) --> Adiciona um itemid e sua quantidade a receita. RecipeHandler:setSkill(skillid, value) --> Atribui um valor necessário de uma certa skill para poder criar a receita. RecipeHandler:setLevel(value) --> Atribui o level necessário para criar uma receita. RecipeHandler:setMagLevel(value) --> Atribui o magic level necessário para criar uma receita. ]]-- --[[ Este é um exemplo de receita usando algumas funções. É uma Magic Sword (ITEMID: 2400) que precisa de 100 Gold Nuggets (ITEMID: 2157), além disso, o personagem que tentar forjar, precisa ter Level 100 e Sword Fighting 50. ]]-- Recipes = {} magicsword = RecipeHandler:new() magicsword:setItem(2400) magicsword:setRecipeItem(2157, 100) magicsword:setLevel(100) magicsword:setSkill(2, 50) Agora em data/actions/scripts, crie um arquivo chamado iron_hammer.lua e adicione o conteúdo abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) local recipe = nil for _, v in ipairs(Recipes) do recipe = v:get(toPosition) if(recipe ~= false) then break end end if(recipe) then recipe:create(cid) else doPlayerSendCancel(cid, "This is not a valid recipe.") end return true end E por fim em actions.xml, adicione a seguinte linha: <action itemid="4846" event="script" value="iron_hammer.lua"/> OPCIONAL - TALKACTION A talkaction abaixo mostra ao jogadoras receitas configuradas no servidor que ele pode fazer. Em data/talkactions/scripts, crie um arquivo chamado recipes.lua e adicione o conteúdo abaixo: function onSay(cid, words, param, channel) local ret = {} local msg = " ADVANCED FORGE SYSTEM\n" for _, recipe in ipairs(Recipes) do local skills = true for skillid, value in pairs(recipe.skills) do if getPlayerSkillLevel(cid, skillid) < value then skills = false break end end if skills == true then if getPlayerLevel(cid) >= recipe.level and getPlayerMagLevel(cid) >= recipe.maglevel then table.insert(ret, {recipe, true}) else table.insert(ret, {recipe, false}) end else table.insert(ret, {recipe, false}) end end for _, recipe in ipairs(ret) do msg = msg .."\nRecipe for ".. getItemNameById(recipe[1].itemtype) ..":\n\n" if recipe[2] == true then for _, item in ipairs(recipe[1].items) do msg = msg .."* ".. getItemNameById(item[1]) .." [".. math.min(item[2], math.max(0, getPlayerItemCount(cid, item[1]))) .."/".. item[2] .."]\n" end else msg = msg .."[LOCKED]\n" end end doShowTextDialog(cid, 2555, msg) return true end Em data/talkactions/talkactions.xml, adicione a linha: <talkaction words="/recipes" event="script" value="recipes.lua"/> Siga as instruções para configuração de novas receitas. Em breve vídeo de funcionamento Advanced Forge System.rar1 ponto
-
Melhor Baiak Rox do Mundo Disponivel
Melhor Baiak Rox do Mundo Disponivel
iandro serafim reagiu a Thiago Mapper por uma resposta no tópico
1 pontoiae galera hoje vim disponibilizar o meu ot tem varias pessoas que deixa a gente ecitado com umas fotos de um mapa mais na verdade nao coloca para download coloca para divulgar o ot tipo eu IP: roxplayer.servegame.com heuheu mais eu vou deixar o download para voces vou mostrar o diferente né e o melhor que posso fazer mapa baiak rox todo editado com 2 vip3, teleports free foi adicionado mais 13 novas hunts, teleports vip com + ou - umas 8 novas hunts tbm seller que vende itens ROX editado é o melhor que já Veio no @#Tibia king#@ bem e oque eu acho fotos ai em baixo ot online 100% vou avisar não sei se eu tirei as senhas salvas mais se não tirei por favor mostra diferente resete pra mim por favor ta ai umas fotos a tem tbm campo de futboll e uma quest que eu add tbm com os itens editado que vende no SELLER SER e caro para ser comprado mais tbm a quest não e facio por isso so os TOP terão o items VLW REP+ pra eu ... #DOWNLOAD> http://www.4shared.com/rar/OQ4y5Gcbce/Baiak_Rox_860_BY_Thiago_Mapper.html? #SCAN> https://www.virustotal.com/pt/file/86aa87279251ae040e721b22738471af67be0dd8bfa96a9875cc0e99900c425a/analysis/1415722705/ desculpe pelo scan mais podem ficar desprecupado se acontecer alguma coissa podem me MATAR isso e que dar abaixar varios mapas tenho mais de 100 mapas deis to pokemon ate o global mais desculpem quem quiser abaixar garanto que não ira acontecer nada # # # # # # # # # # # #NÃO #ESQUECE #DE #DAR #REEEP+ #PRA #EU1 ponto -
Naruto United
Naruto United
Uchiha Fodinha reagiu a Erik Cazo por uma resposta no tópico
1 ponto•Informações• (Mapa Do naruto United) 8.54,+ Monstros do Sevidor+ Items Compativeis Otbm,Xml + Cliente Compativel +(Todas as cidades e Hunts •Prints• Desculpem Estou um pouco sem tempo pra Postar Imagens. •Downloads• •Mapa• DOWNLOAD •Cliente• DOWNLOAD •Items• DOWNLOAD •Monsters• DOWNLOAD Bom, Eu não Gosto Muito desse Mapa mais tem Gente que Gosta então resolvi Postar CREDITOS: EUZINHO POR EDITAR O MAPA1 ponto -
Poke zot editado por factur v2.0
1 pontoATENÇÃO O Tópico ainda pode ser atualizado. Em breve versão v2.2 !! Eae galera tudo beleza? venho trazendo pra vocês Um novo server PokeZot! Eu editei ele bastante!, Vou mostrar algumas coisas que eu editei, algumas coisas que adicionei E algumas que eu resolvi... ------------------ // ------------------ [~] Bugs ------------------ // ------------------ [~] Quest's Modificadas/Adicionadas. ------------------ // ------------------ [~] Resto que foi Editado/Adicionado/Removido ------------------ // ------------------ [~] Prints ------------------ // ------------------ [~] Download ------------------ // ------------------ [~] Créditos Pelo jogo = Wolf Admin Por Editar = Factur Flw galera! Factur ~ ------------------ // ------------------1 ponto
-
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
panettoone reagiu a 1xeuzinho1 por uma resposta no tópico
1 pontomano win 7 funfa, mas vc tem que atualizar o win 7 pelo windows update do proprio sistema1 ponto -
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
markim1986 reagiu a luangop por uma resposta no tópico
1 pontoInfelizmente não mano, é obrigatório ter o actionID no tile onde vai ser a restrição.1 ponto -
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
markim1986 reagiu a luangop por uma resposta no tópico
1 pontoTroca doPlayerSendCancel(cid, "You have not completed the required mission.") por doPlayerPopupFYI(cid, "You have not completed the required mission.")1 ponto -
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
markim1986 reagiu a luangop por uma resposta no tópico
1 pontoOk agora entendi, pode pah q vai dar agora: function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if not (getPlayerStorageValue(cid, 91003) == "Finished") then doPlayerSendCancel(cid, "You have not completed the required mission.") doTeleportThing(cid, fromPosition) return true end doPlayerSendCancel(cid, "You accessed the prohibited area.") doSendMagicEffect(position, 13) return true end1 ponto -
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
markim1986 reagiu a luangop por uma resposta no tópico
1 pontoEsse Player Marcos Fialho nunca obteu a storage... -1 = nula mas tenta assim: function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, 91003) < 1 then doPlayerSendCancel(cid, "You have not completed the required mission.") doTeleportThing(cid, fromPosition) return true end doPlayerSendCancel(cid, "You accessed the prohibited area.") doSendMagicEffect(position, 13) return true end Testa com um char que obteve a storage... se der o erro faça o comando /storage... como falei a cima com o nick do char que ja obteve a storage!1 ponto -
[DescompilarClient] Nto Skyng E Nto Ilusion
[DescompilarClient] Nto Skyng E Nto Ilusion
Matheus Reis reagiu a leozincorsair por uma resposta no tópico
1 pontofiz so de um estou com preguiça de descopilar o outro http://www.4shared.com/rar/m69n2BJqba/ntoilusion.html?1 ponto -
Erro no SHOP System (Resolvido)
Erro no SHOP System (Resolvido)
ZoR reagiu a Igor Silva Junior por uma resposta no tópico
1 pontoDesculpa a Demora Mas posso passar sim,mas vou logo adiantando que o problema não é script do shop e sim a versão do seu xampp, no meu caso eu utilizei o xampp 1.7.2 ai o site funcionou. Eu usei as informações desse topico e utilizei o shop citado. Conselho : Usa esse SHOP e utiliza a versão do xampp 1.7.2 e cria um novo usuário em teu pc , para não haver problemas, faz todo o processo nesse novo usuário. Espero ajudar, qualquer coisa você pode me avisar. LINK:1 ponto -
GesiorACC 2019 8.60 UPDATE 29/06/2019
GesiorACC 2019 8.60 UPDATE 29/06/2019
Digoshow reagiu a Natanael Beckman por uma resposta no tópico
1 pontoEm accountmanagement.php abaixo de: $account_id = $account_logged->getId(); ADD: if($account_id == 1) die("<body bgcolor=#000000><center><br><br><br><br><br><br><br><font color='red'><b>This account is blocked for this site.</b><br><br></font><a href='?subtopic=accountmanagement&action=logout'><img src='images/block.png' width=200></a></center></body>"); Não esqueça de adicionar uma imagem, src='images/block.png'1 ponto -
Como crio cliente proprio 10.96?
Como crio cliente proprio 10.96?
dennis126 reagiu a igorlabanca por uma resposta no tópico
1 pontoUsei aqui esse tutorial e funcionou ! Abraço!1 ponto -
Remover aura do sistema boot
Remover aura do sistema boot
tetelkk reagiu a Drakopoulos por uma resposta no tópico
1 ponto1 ponto- [TFS 1.x] Mount Doll
[TFS 1.x] Mount Doll
Marcio Santos reagiu a Babilonia por uma resposta no tópico
1 pontomuito bom ta bugado pra compra pelo gesior aki n chega isso me salvo reputado vlwss!!! Otimo Cara me ajudo muito vou ajuda tbm ae codigo atualizado versao 10.96 local mounts = { --["mount"] = {id = x}, ["widow queen"] = {id = 1}, ["racing bird"] = {id = 2}, ["war bear"] = {id = 3}, ["black sheep"] = {id = 4}, ["midnight panther"] = {id = 5}, ["draptor"] = {id = 6}, ["titanica"] = {id = 7}, ["tin lizzard"] = {id = 8}, ["blazebringer"] = {id = 9}, ["rapid boar"] = {id = 10}, ["stampor"] = {id = 11}, ["undead cavebear"] = {id = 12}, ["donkey"] = {id = 13}, ["tiger slug"] = {id = 14}, ["uniwheel"] = {id = 15}, ["crystal wolf"] = {id = 16}, ["war horse"] = {id = 17}, ["kingly deer"] = {id = 18}, ["tamed panda"] = {id = 19}, ["dromedary"] = {id = 20}, ["scorpion king"] = {id = 21}, ["rented horse"] = {id = 22}, ["armoured war horse"] = {id = 23}, ["shadow draptor"] = {id = 24}, ["rented horse"] = {id = 26}, ["lady bug"] = {id = 27}, ["manta ray"] = {id = 28}, ["ironblight"] = {id = 29}, ["magma crawler"] = {id = 30}, ["dragonling"] = {id = 31}, ["gnarlhound"] = {id = 32}, ["crimson ray"] = {id = 33}, ["steelbeak"] = {id = 34}, ["water buffalo"] = {id = 35}, ["armoured scorpion"] = {id = 36}, ["armoured dragonling"] = {id = 37}, ["ursagrodon"] = {id = 38}, ["hellgrip"] = {id = 39}, ["noble lion"] = {id = 40}, ["desert king"] = {id = 41}, ["shock head"] = {id = 42}, ["walker"] = {id = 43}, ["azudocus"] = {id = 44}, ["carpacosaurus"] = {id = 45}, ["death crawler"] = {id = 46}, ["flamesteed"] = {id = 47}, ["jade lion"] = {id = 48}, ["jade pincer"] = {id = 49}, ["nethersteed"] = {id = 50}, ["tempest"] = {id = 51}, ["winter king"] = {id = 52}, ["doombringer"] = {id = 53}, ["woodland prince"] = {id = 54}, ["hailtorm fury"] = {id = 55}, ["siegebreaker"] = {id = 56}, ["poisonbane"] = {id = 57}, ["blackpelt"] = {id = 58}, ["golden dragonfly"] = {id = 59}, ["steel bee"] = {id = 60}, ["copper fly"] = {id = 61}, ["tundra rambler"] = {id = 62}, ["highland yak"] = {id = 63}, ["glacier vagabond"] = {id = 64}, ["flying divan"] = {id = 65}, ["magic carpet"] = {id = 66}, ["floating kashmir"] = {id = 67}, ["ringtail waccoon"] = {id = 68}, ["night waccoon"] = {id = 69}, ["emerald waccoon"] = {id = 70}, ["glooth glider"] = {id = 71}, ["shadow hart"] = {id = 72}, ["black stag"] = {id = 73}, ["emperor deer"] = {id = 74}, ["flitterkatzen"] = {id = 75}, ["venompaw"] = {id = 76}, ["batcat"] = {id = 77}, ["sea devil"] = {id = 78}, ["coralripper"] = {id = 79}, ["plumfish"] = {id = 80}, ["gorongra"] = {id = 81}, ["noctungra"] = {id = 82}, ["silverneck"] = {id = 83}, ["slagsnare"] = {id = 84}, ["nightstinger"] = {id = 85}, ["razorcreep"] = {id = 86}, ["rift runner"] = {id = 87}, ["nightweller"] = {id = 88}, ["frostflare"] = {id = 89}, ["cinderhoof"] = {id = 90}, ["mouldpincer"] = {id = 91}, ["bloodcurl"] = {id = 92}, ["leafscuttler"] = {id = 93}, ["sparkion"] = {id = 94}, ["neon sparkid"] = {id = 95}, ["vortexion"] = {id = 96} } function onSay(player, words, param) local word = mounts[string.lower(param)] local mountdoll_id = 9019 -- id do mount doll if (player:getItemCount(mountdoll_id) > 0) then if (param ~= "" and word) then if(word and not player:hasMount(word.id)) then player:removeItem(mountdoll_id, 1) player:sendTextMessage(MESSAGE_INFO_DESCR, "Sua mount foi adicionada!") player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) player:addMount(word.id) else player:sendCancelMessage("Voce ja tem esta mount.") end else player:sendCancelMessage("Digite novamente, algo está errado!") end else player:sendCancelMessage("Voce não tem um mount doll!") end return true end espero que ajude. vc tem que decha tudo ate o letra minúscula ai vai roda manin ou pega o codigo que editei abaixo vlw!!!1 ponto- Melhor Baiak Rox do Mundo Disponivel
Melhor Baiak Rox do Mundo Disponivel
Thiago MapperOFICIAL reagiu a Thiago Mapper por uma resposta no tópico
1 pontoprovável mente a senha do [ADM] estara assim "account"> god "password">god .. se nao tiver crie qualquer char pelo account manager, nao lembro se tem mais da uma olha ai... vai na pasta do server ve se tem um arquivo com este nome >> sqlitestudio-2.1.5 ... se nao tiver eu mando pra vc..., se tiver abre ele , 1º vai la em cima no canto onde esta escrito DATABASE... 2º ADD DATABASE... 3° aperte numa pasta amarela... 4° vai onde esta a database do server... 5° vai aparecer escrito o nome da database alguma coissa no final de azul assim (SQLite 3)... entao la e a database do server.... 6º aperta no sinal de + e vai aparecer varias coissas escristas e sua database vai ate onde esta escrito PLAYERS... 7º ai vc acha o nome do char que vc criou vai estar mais ou menos assim que eu me lembro >> 1 PLAYER 0 6 6 1 2 1385 1385 0 0 0 0 0 302 0 0 1635 1635 0 100 1 10157 10046 7 475 1 1464302518 67152064 1 0 0 0 1464302522 0 0 151200000 2 100 100 100 100 100 0 0 0 0 0 0 0 0,,,,,.. >> na onde estiver escrito, GROUP_ID vc acha qual e o char e coloca o numero 6, depois disso vc acha um sinalzinho cor de abobora tipo o simbola do naick nike, aperte la e fexa mais tem que estar com o player off, caso nao entendel eu fasso um video pra vc ver como e ok1 ponto- Melhor Baiak Rox do Mundo Disponivel
Melhor Baiak Rox do Mundo Disponivel
Thiago MapperOFICIAL reagiu a Thiago Mapper por uma resposta no tópico
1 pontoVLW CARA1 ponto- Instalação AAC está desativado / AAC installation is disabled.
Instalação AAC está desativado / AAC installation is disabled.
Thiago MapperOFICIAL reagiu a Thiago Mapper por uma resposta no tópico
1 pontopelo amor de deus alguem me AJUDA AFFF esse erro aqi pf AAC installation is disabled. To enable it make file install.php in main AAC directory and put there your IP. \/ traduzido \/ Instalação AAC está desativado. Para habilitá-lo fazer arquivo install.php no diretório AAC principal e colocar lá o seu IP. pf nececitando de ++++++++++++++++++++++++++++++++++++1 ponto- [7.4, 7.6, 7.72] Tibia Classic Bot
[7.4, 7.6, 7.72] Tibia Classic Bot
joaaoinacio reagiu a grafit por uma resposta no tópico
1 pontoTibia Classic Bot Versões 7.4 , 7.6 e 7.72 Esse é um dos poucos bots e o mais completo para estas versões mais antigas... Eu tenho acompanhado desde a versão 1.6.4 dele (atual 1.6.8). Segue abaixo algumas das hotkeys que podem ser usadas nele: Para que a hotkey fique "automática" ela deve ser adicionada na parte persistent , caso contrário a hotkey só será ativada uma vez. Download: https://mega.co.nz/#!x41jxAqa!sqL7cfy3_p-4wjfOrPB1qpUq_UrHuUd46G1wBJVn9nI Scan: https://www.virustotal.com/pt/file/b86169815eeddbaef3808be3d60e523b8a73a18113056ee516f10efd61105207/analysis/1400633901/ Créditos: Xavious O BOT também pode ser encontrado no seguinte link: http://tpforums.org/forum/threads/3889-7-4-7-6-7-72-ClassicBotter-1-6-81 ponto- Editando Wands & Rods
1 pontoAe Pessoal do Tibiaking, aqui é o Tony hoje vou estar ensinando vocês como dar uma boa editada nos Wands & Rods de seu Otserv lembrando que estou usando como base meu Servidor 8.6 Rook War (hellwarot.no-ip.biz) Vamos ir em data\items\items.xml Vamos Procurar o Wand ou Rod a ser Editado Wand of Dimensions no meu caso Script dele é esse <item id="ID DO ITEM" article="Wand of Dimensions" " NOME DO ITEM " name="Wand of Dimension"> <attribute key="weight" value="2300" /> " Aqui é o Peso do Item " <attribute key="weaponType" value="wand" /> " Aqui é o Tipo da Arma no Caso Wand, se colocar axe ele vai Upar Axe nos Skill's " <attribute key="shootType" value="death" /> " Death é o Tipo do Ataque se for Colocar Ice, ele vai atacar Ice " <attribute key="range" value="3" /> " Aqui é a Distancia por SQM que ele vai pegar " Aqui ele já foi Editado. vamos Ensinar agora como Mudar a Força do Ataque dele Vá em \data\weapons\Weapons.xml Aqui o Script da Nossa wand Vamos editar e explicar <wand id="2186" level="LEVEL QUE PODERA USAR " mana="MANA QUE IRA GASTAR POR ATAQUE" min=MINIMO DE ATAQUE " 300 " " max="MAXIMO DE ATAQUE "320" " type="ice" event="function" value="default"> <vocation id="2"/> EM type="ice" Aqui você vai colocar o Mesmo que você colocou no Script do Item.xml porque se não ele vai tacar gelo e fazer efeito de Fogo. Então Ice>Ice nos 2. Obrigado a Todos - TONY1 ponto- Smeargle System[PXG]
Smeargle System[PXG]
Solano Ulisses reagiu a Featzen por uma resposta no tópico
1 pontoÉ, acho que sim, kk.1 ponto- Smeargle System[PXG]
Smeargle System[PXG]
Solano Ulisses reagiu a Thayam por uma resposta no tópico
1 pontoExcelente cara! Reputado com certeza! Esperamos mais conteúdos de qualidade como esse haha!1 ponto- Smeargle System[PXG]
Smeargle System[PXG]
Solano Ulisses reagiu a xWhiteWolf por uma resposta no tópico
1 pontoSeu conteúdo está muito bom, por conta disso estarei te dando REP+ e movendo seu tópico pra seção correta. Esperamos que mais conteúdos, tão bons quanto este, continuem vindo de você haha.1 ponto- Melhor Baiak Rox do Mundo Disponivel
Melhor Baiak Rox do Mundo Disponivel
Thiago MapperOFICIAL reagiu a Thiago Mapper por uma resposta no tópico
1 pontoVai em WOLD GLOBAL EVENTS PROPAGANDA1 ponto- Poke zot editado por factur v2.0
1 pontoFaltando o cliente do OT Coloque o Link ....1 ponto- (Resolvido)Retirar uma área NO-PVP
Jovem, ta assim: Se você manter o PZ da área selecionado e segurar o ctrl passando o mouse (clicando) vai tirar as áreas, ficando assim:1 ponto- [AJUDA] Não consigo conectar no meu servidor!
Esse problema é fácil de se resolver. Vá no seu iniciar e pesquise por cmd Abra o cmd e escreva ipconfig Irá aparecer várias coisas, procure por Endereço IPv4 Anote esse ip e é com ele que você deve entrar em seu servidor, todas as outras pessoas entram com o seu ip virtual. Se ajudei, rep+. Abraço! Edit: Lembrando que se você reiniciar sua net, ou seja, se o modem for desligado (se cair a luz por exemplo) esse ip muda, ai você faz o mesmo procedimento e olha seu novo ip.1 ponto- (Resolvido)[PEDIDO] Editar Items.
(Resolvido)[PEDIDO] Editar Items.
Rodrigo94 reagiu a xWhiteWolf por uma resposta no tópico
1 pontoVocê coloca no items.xml oque vc quer que o item faça, experimenta usar comandos de itens parecidos: Exemplo: Quero que o set de Knight dê skill de club/sword/axe.. daí vc procura algum item que faça isso e só copia a parte que aumenta a skill <attribute key="skillSword" value="3" /> <attribute key="skillAxe" value="3" /> <attribute key="skillClub" value="3" /> Se você quiser que aumente distance é só colocar <attribute key="skillDist" value="3" /> para absorver danos é bem simples <attribute key="absorbPercentPhysical" value="3" /> <attribute key="absorbPercentEarth" value="5" /> <attribute key="absorbPercentDeath" value="6" /> <attribute key="absorbPercentFire" value="-3" /> <attribute key="absorbPercentIce" value="2" /> Perceba que o PercentFire está negativo, é porque ele tem fraqueza contra fogo, positivo ele é bom contra o elemento, negativo ele é fraco contra o elemento. Pra aumentar ML é só usar: <attribute key="magiclevelpoints" value="1" /> Pra aumentar speed é só procurar a BOH e copiar: <attribute key="speed" value="20" /> E não esquece de colocar no final <attribute key="showattributes" value="1" /> para que apareçam os atributos quando o player der look no item. Em <attribute key="slotType" value="necklace" /> Você escolhe que tipo de item aquilo é, os values são: body, two-handed, one-handed, ammo, ring, necklace, legs, feet, head, backpack E PARA FINALIZAR DECLARE TUDO NO MOVEMENTS.XML: <movevent type="Equip" itemid="IDDOITEM" slot="TIPO DE SLOT" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="IDDOITEM" slot="TIPO DE SLOT" event="function" value="onDeEquipItem"/> itemid="IDDOITEM" troque IDDOITEM pelo ID DO ITEM (BEM ÓBVIO, NÉ?) slot="TIPO DE SLOT" coloque um dos slots possíveis, os que são possiveis estão nessa lista aqui: armor feet legs head shield pickupable necklace ring OBSERVAÇÃO FINAL: O SLOT QUE VC DECLARAR NO MOVEMENTS TEM QUE SER DO MESMO TIPO QUE O ITEMS.XML ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agora as flechas/bows/armas: Essas não precisam declarar no movements.xml mas precisam de um script no weapon.xml 1) Flechas As flechas são bem simples: <attribute key="slotType" value="ammo" /> <attribute key="attack" value="25" /> <attribute key="maxHitChance" value="90" /> <attribute key="weaponType" value="ammunition" /> <attribute key="ammoType" value="arrow" /> <attribute key="shootType" value="arrow" /> slotype = ammo para ficar no lugar da munição (ammo) Attack vc muda a vontade pro que vc quiser MaxHitChance = chance de acertar o hit, qualquer numero menor que 100 apresenta uma chance do hit falhar WeaponType= Tipo de arma, flechas são munições então deixe sempre ammunition ammoTyoe = Tipo de munição, pode ser "arrow" ou "bolt" dependendo doque vc quiser usar, um bow ou um crossbow shootType é o efeito que vai sair, no caso dessa aí seria uma arrow normalzinha mas vc pode colocar qualquer flecha que exista ou até mesmo copiar efeitos de runas Dê ctrl+F no items.xml em shootType e copie diferentes tipos e vá vendo no servidor qual se encaixa melhor na sua opinião. 2) Bows e Crossbows Eu te aconselho copiar de algum item que já exista o modificar oque você quiser <attribute key="slotType" value="two-handed" /> <attribute key="weaponType" value="distance" /> <attribute key="ammoType" value="bolt" /> <attribute key="range" value="5" /> <attribute key="hitChance" value="1" /> isso daqui é um crossbow duas mãos que ataca bolt (podia ser arrows tb) a uma distância de no máximo 5 SQM (modifique o range) a chance de hit padrão dele é 1 e essa hit chance soma com a da munição 3) Wands e Rods <attribute key="weight" value="2900" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="ice" /> <attribute key="range" value="3" /> peso, tipo (mesmo que seja uma rod o tipo é "wand"), tipo de efeito que sai dela (no caso é o ice), distância que ataca (no caso, 3 sqm) Agora no weapons.xml: <wand id="2190" level="7" mana="2" min="8" max="18" type="energy" event="function" value="default"> <!-- Wand of Vortex --> <vocation id="1"/> </wand> id do item, level pra usar, custo de mana por hit, dano minimo e maximo, tipo de ataque, event (deixe function para ele fazer tudo que vc colocou no items.xml) value= não mexa a menos que vc seja um programador C++, vocation vc coloca as classes que podem usar. 1= sorc, 2= druid, 3= pally, 4= kina, 5= master sorc, 6= elder druid, 7= royal pally, 8= elit kina OBS: Você pode colocar isso também para que quando o player dê look não apareça o nome da classe que pode usar aquele determinado item (isso é util quando vc declarar que ambos sorceres e master sorcerers podem usar o item, evitando as repetições quando o player der look no item <vocation id="5" showInDescription="0"/> <vocation id="1"/> 4) Outros tipos de arma É bem simples, só edite oque quiser seguindo o modelo: <attribute key="weight" value="6800" /> <attribute key="defense" value="65" /> <attribute key="attack" value="90" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="5" /> <attribute key="elementIce" value="30" /> <attribute key="slotType" value="two-handed" /> <attribute key="decayTo" value="2401" /> <attribute key="duration" value="60" /> weight = peso defense= defesa q ela dá attack = ataque weapontype = Tipo de arma (sword, axe, club) extradef = defesa extra (fica Defesa 65 +5 nesse caso) ElementIce = adiciona dano elemental à arma, pode usar também ElementFire, ElementEarth e ElementEnergy slotType = se a arma é duas mãos ou não (caso não seja apenas retire essa linha) decayTo = apos um tempo igual a duration (em segundos) ela vira o item de ID 2401 (se não quiser isso apenas remova essas duas ultimas linhas) OBSERVAÇÃO FINAL: Tudo que você não quiser utilizar é só remover a linha do items.xml, e todo tipo de edição em armas deve ser declarado no weapons.xml seguindo o exemplo. (COMO VOCÊ NÃO TÁ CRIANDO NENHUM ITEM E SIM EDITANDO OS QUE JÁ EXISTEM EU TE ACONSELHO A PROCURAR O ITEM LÁ DANDO CTRL F E PROCURANDO PELO ID DOQUE SAIR ADICIONANDO UM MONTE DE LINHA A MAIS QUE TALVEZ DÊ CONFLITO COM AS QUE JÁ EXISTAM). OS ITENS QUE VC COLOCAR PRA DAR SKILL, ML OU PORCENTAGEM ELEMENTAL VOCÊ DEVE DECLARAR NO MOVEMENTS.XML E SE ESSE ITEM FOR PARA UMA DETERMINADA VOCAÇÃO VOCÊ DEVE DECLARAR TAMBÉM SEGUINDO O EXEMPLO: <movevent type="Equip" itemid="7886" slot="feet" event="function" value="onEquipItem"> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </movevent> <movevent type="DeEquip" itemid="7886" slot="feet" event="function" value="onDeEquipItem"/>1 ponto- [Dúvida]Esconder Samples GESIOR
1 pontoOpa, vlw pela ideia, conheço sobre php e consegui fazer =P ta aqui o código para quem estiver com a mesma dúvida: elseif(($name == 'Sorcerer Sample') or ($name == 'Druid Sample') or ($name == 'Knight Sample') or ($name == 'Paladin Sample') or ($name == 'Account Manager')){ $main_content .= 'Here you can get detailed information about a certain player on '.$config['server']['serverName'].'.<BR> <FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>'; } Bastá trocar os nomes pelo nome do char que quer esconder, coloque o código embaixo do fechamento do primeiro if em characters.php Vlw ! Não vi seu post AnaPaula e acabei fazendo o código em php, mas vou fazer isso que você falou =P vlw pela ajuda !!!1 ponto- Transformando Itens
1 pontofunction onUse(cid, item, fromPosition, itemEx, toPosition) if item.type >= 10 then local r = math.floor(item.type/10) if r >= 1 then doRemoveItem(item.uid, r * 10) doPlayerAddItem(cid, 5886, r) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You have created ".. r .." spool".. (r > 1 and "s" or "") .." of yarn.") end else doPlayerSendCancel(cid, "You need at least 10 giant spider silks.") end return true end1 ponto- Transformando Itens
1 pontoFaz o seguinte. Vai em actions > scripts Cria um arquivo lua chamado silktoyarn.lua e poe: function onUse(cid, item, fromPosition, itemEx, toPosition) silk = item.itemid yarn = ID_DA_YARN if(getPlayerItemCount(cid, silk) == 10) then doPlayerRemoveItem(cid, silk, 10) doPlayerAddItem(uid, yarn) doSendMagicEffect(getPlayerPosition(cid), 15) end end[/code] Depois abra o arquivo actions > actions.xml E adicione a tag: [code]<action itemid="ID_DA_SILK" event="script" value="silktoyarn.lua"/> Não esqueça de substituir o ID_DA_SILK na tag XML e o ID_DA_YARN no código. Se não funcionar troque dentro do código lua, aonde diz 'silk = item.itemid' ponha o id da silk no lugar do item.itemid E não sei se vai funfar não porque fiz agora de improviso, não sei nem se as funções são essas mesmos. Mas qualquer coisa só falar aqui. Explicando o Script: Pra dar certo, você não pode clicar nele com 100, se não, não funciona mesmo. Você tem que separar 10 e clicar pra virar 1 yarn. Depois eu crio um script que transforma 100 em 10, 90 em 9 etc. Mas agora to ocupadão. Abraços e boa sorte!1 pontoLíderes está configurado para São Paulo/GMT-03:00 - [TFS 1.x] Mount Doll
Informação Importante
Confirmação de Termo