Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 11/15/17 em todas áreas
-
[Resolvido] Selecionar gênero de acordo com vocação ao criar personagens.
Renan Morais e um outro reagiu a Kydrai por uma questão
@dalvorsn Não recomendo dessa forma, assim os players poderiam burlar fácil editando o html, precisando de outras formas de verificação. Você precisa tirar o select, como já disseram, e editar a função create_character no arquivo system\application\controllers\character.php. La tem um comando assim (ou parecido): $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');, ele verifica o sexo do personagem. Antes desse comando você pode fazer algo assim (não testei): if (in_array($_POST['vocation'], array(1, 2, 3, 4))) { $_POST['sex'] = 0; } else if (in_array($_POST['vocation'], array(5, 6, 7, 8))) { $_POST['sex'] = 1; } else { $_POST['sex'] = -1; } Dessa forma, se a vocação escolhida for 1, 2, 3 ou 4 terá o sex 0 (feminino), se for 5, 6, 7, 8 terá o sex 1 (masculino). Caso não seja nenhum desses dará erro de sexo inválido e não criará o personagem.2 pontos -
[Resolvido] Mudando o sistema de lvl do servidor
tataboy67 reagiu a Gabrieltxu por uma questão
provavelmente arruma isso no proprio catch na parte q seta as coisas1 ponto -
[SAO] Ordinal Scale Online
Raskgames reagiu a Fearlet155 por um tópico no fórum
? Ordinal Scale Online ? Bom dia galera hoje vim trazer pra vocês algumas informações sobre o novo projeto que estamos desenvolvendo com um beta que não está muito longe de ser lançado. 1-Abaixo explicaremos algumas coisas referentes. 2- Sistema de Skill Points implantado A cada level cada player irá receber 5 pontos para distribuir entre Mana, Vitalidade, Axe, Sword, Level Mágico. 3-Para o lançamento do servidor será implantado o patch somente da Primeira temporada (Sword Art Online / Alfheim Online) 4- Adicionada as classes e sub classes *Classes TANKERS: Os tankers são especialistas em repelir o dano recebido e se concentram mais em atrapalhar os inimigos do que em causar algum dano significativo. FIGHTERS:Os Fighters ou lutadores são campeões de ataque corpo a corpo duráveis, destinados a causar dano e que gostam de sentir o calor da batalha. FAIRYS:Os fairys são conjuradores ofensivos que buscam debilitar e destruir os adversários com seus potentes feitiços. ESPADACHINS: Os espadachins confiam apenas em seu refinado estilo e graciosidade para proteger-se de ataques fatais enquanto combinam raciocínio e velocidade para derrotarem seus inimigos de forma gloriosa. *Sub-classes Tanker vanglory:Os Vanglorys lideram as investidas de suas equipes, portanto, são especialistas no star de uma team fight, ou seja, são indicados para começarem a luta para seu time. Sua explosiva iniciação de confrontos de equipe tem o objetivo de pegar os inimigos desprevenidos, permitindo que os aliados se aproveitem desse efeito devastador. Como há de se perceber, estes são os tanques mais ofensivos. Tanker protector:Os Protectors permanecem inabaláveis, buscando manter a formação com o bloqueio persistente de qualquer intruso que tente ultrapassá-los. Os Protetores mantêm seus aliados fora de perigo e permitem que eles lidem com os inimigos na batalha de forma segura. Como os Vanguardas são os ofensivos, os protetores são os mais defensivos Fighter colosso:Os Colossos são titãs de luta corpo a corpo que avançam sem medo algum para cima do seu adversário e devastam aqueles que são ingênuos o suficiente para atravessar seu caminho. Eles são a única subclasse que conseguem causar um bom dano, ao mesmo tempo que conseguem receber bastante dano. No entanto, eles têm dificuldade para se aproximar dos alvos devido ao seu curto alcance e mobilidade extremamente limitada. Fighter lonely (antigo Fighter investid):Os Fighters lonely são a parte mais ágil da classe de Lutadores. Eles são especialistas em identificar alvos de alta prioridade ( normalmente carregadores) para atingi-los, o que acaba forçando esses alvos (e seus companheiros de equipe) a lidarem com sua presença de uma forma ou de outra. Mergulhadores não têm tanta durabilidade quanto os Tanques ou Colossos da vida, mas aguentam uma boa dose de dano e, se não tomar cuidado, eles podem causar dano suficiente para se tornar uma verdadeira ameaça de morte. Espadachim Duelist:Ao contrário dos patterns o objetivo dos Duelistas é triturar qualquer inimigo que se aproxime. Como os Duelistas não dispõem de dano explosivo sofisticado, nem de maneiras confiáveis para se aproximar de alvos de alta prioridade. Espadachim Pattern:Os patterns são especialistas em se infiltrar nas linhas inimigas com sua mobilidade extremamente eficaz, para com isso, destruir rapidamente os alvos de alta prioridade (normalmente são jogadores solo). Salamander:Embora eles são capazes de aprender e usar outros tipos de magia, Salamanders são os mestres da magia de fogo, tornando-os capazes de conjurar magias de fogo de atributos exclusivos de sua raça. Para mais informações acessem. Grupo do whatsapp: https://chat.whatsapp.com/KELyY9GRbfC9iwh6nGLksC Grupo do Facebook: https://www.facebook.com/groups/292091771294775/ Página: https://www.facebook.com/Ordinal-Scale-Online-152504322151511/1 ponto -
[Resolvido] Selecionar gênero de acordo com vocação ao criar personagens.
Renan Morais reagiu a dalvorsn por uma questão
Remove o select de genero e altera o script de submissão. function createCharacter() { $('.loader').show(); var form = $('#createCharacter').serialize(); form.sex = 0; if($.inArray(parseInt(form.vocation), [1,2,3]) != -1 ) { form.sex = 1; } $.ajax({ url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1', type: 'post', data: form, success: function(data) { $('.errors').html(data); $('.loader').hide(); } }); } Supondo que as vocações que são masculinas sejam 1, 2 e 31 ponto -
desculpe, não estava discutindo... Estava tentando fazer nosso amigo não generalizar mais os "ot-admins" já que é uma "criancice" como você disse... Todos nós começamos como "ot-admins" e deveríamos parar com essa mania.1 ponto
-
Olá pessoal, boa tarde. Eu tentarei não me alongar nesse tipo de tópico pois não há necessidade disso, o próprio título chamativo já aponta o intuito deste tópico per si só. Trata-se de uma pesquisa de opinião, agora que tenho bastante tempo livre irei voltar aos primórdios onde eu tento montar um servidor e acabo desanimando e fracassando (sádico, não é mesmo?), em geral grande parte do motivo é porque encontro pessoas com vontade, mas não para apoiar minhas ideias, assim como noventa porcento da comunidade também tem este mesmo problema. Andei fazendo uma pesquisa de mercado utilizando listas que apontam servidores para players que os procuram, pude ver que há uma carência de servidores da versão 7.6, atualmente não há NENHUM servidor global (e saudosista diga-se de passagem) nesta versão que é aclamada por muitos como uma das melhores e que contém a essência do jogo em sua magnificência e originalidade, claro. A ideia é dividir pequenos objetivos e conquista-los com a ajuda da comunidade, não há nenhum interesse econômico neste futuro servidor, todo o conteúdo produzido para o servidor que sejam de autoria de terceiros (e quando digo isso estou querendo dizer qualquer um que não seja eu) deverão ser divulgados ou mesmo comercializados por seu autor, se assim o mesmo desejar. Não exigirei exclusividade, pontualidade, metas ou qualquer coisa da equipe, deixarei objetivos expostos tanto no tópico que está por vir quanto no CHAT que criarei futuramente. A ideia é dar autonomia para os membros e a própria comunidade ajudar no desenvolvimento, irei conceder honrarias dentro do futuro servidor para TODOS aqueles que ajudarem, isso inclui qualquer coisa durante um período de tempo permanente. (Quando digo comunidade são entusiastas que acompanharam o tópico, pessoas sem qualquer filiação com a equipe de desenvolvimento) Com tudo isso o meu objetivo é tentar uma nova abordagem ao criar um tópico de formação de equipes, diminuir a burocracia ao máximo possível e inovar um pouco. É dar autonomia para o projeto, permitindo que toda a comunidade possa ajudar no desenvolvimento sem que seja cobrado nada de ninguém. É claro, nada mais justo que liberar o servidor para público assim que concluído, no momento eu preciso de qualquer pessoa disposta a ajudar, qualquer habilidade é bem vinda, tirando spriters pois usaremos o conteúdo disponibilizado pelo próprio Tibia. Não tem importância o nível da habilidade desde que se tenha vontade de ajudar. Oh, céus, acabei me alongando mais do que deveria. Preciso de comentários neste tópico para ter uma noção de quantas pessoas apoiam, qualquer comentário ou crítica construtiva será bem recebido. Qual sua opinião sobre o narrado acima? Desde já deixo os meus agradecimentos para quem leu até agora, uma boa tarde novamente.1 ponto
-
Eai gente. Estarei postando uns script para pokemon. Favor n passa sem deixar 1 comentario xD Testado em: Pokemon Dash 8.54 Vamos la : [>Bau de Quests<] - Teleporta para HomeTown do Player. [>Npc que Pinta Balls<] - Configurada apenas para cores da ub e da pball. [>Npc Diamond Account<] - 10 Diamond por 31 Dias, e outras funçoes. [>Npc Elite Lee And Chan <] - Troca de Pokemons Change Log V.1.0 - 12/03 Entao eh isso gente. Nao passe sem comentar.. Mesmo que seja criticas Flws1 ponto
-
Arvore Sagrada Oque Ela Faz ?? É bem simples , ela da frutos =) É praticamente a arvore de Berrys , so que essa adiciona o fruto em sua Bp, tem a função AnimatedText, e estágios ate reaparecer os frutos. Começando Fiz com uma arvore de mango pq vc pode adicionar ela junto com um script que achei aqui no forum .. passo link no final. Abra a pasta Data/Actions/Scripts copie um arquivo , delete tudo que tem dentro e coloque isso : Salve o arquivo com o nome avr.lua . Agora abra actions.xml e adicione essa linha 5157 é o ID da arvore , Salve Agora vamos colocar fazer ela voltar ao normal em um certo tempo Na Pasta Data/Items abra Items.xml Vá ate a arvore de Id 5157 que seria a mango tree , e logo em cima a arvore de ID 5156 , que é a arvore q ela ira virar depois de vc pegar os frutos. No lugar das 2 adicione isso Agora vá ate o Item de ID 2710 , e coloque isso no lugar dele Agora so abrir o Mapeditor do seu ot e adicionar uma arvore de Id 5157 EXPLICANDO No arquivo avr.lua Em vermelho : Item que a arvore ira dar para o player , 5097 é o id da Manga. Em azul : Quantidade que ira adicionar. Em Verde : ID da arvore que a sua arvore ira virar depois de vc pegar os frutos. Em Rosa : Msg que vai subir quando vc colher. Em Items.xml Em Verde : Nome da arvore , ai vc coloca oque vc quiser. Em Rosa : Tempo Para cresçer + Food / em segundos Vlw gente , qualquer erro posta ai em baixo q eu do uma olhada .. + certeza que não vai dar , é bem simples (( Se gosto posta ae , se n gosto tambem xD )) Primeiro Post =x Topico que eu comentei no começo , Yggdrasil Berry de Guilhermee56 http://www.xtibia.co...ggdrasil-berry/1 ponto
-
• nome: Sistema de Ginásio / GYM para pokemon. • autor: brun123 (mastercraft) • versão testada: TFS 0.36 pl 1 (8.54) Detalhes: Como cada servidor de pokemon é bem diferente, acredito que muitos erros vão aparecer devido a diferença de IDs das pokebolas por exemplo, mas vou ajudar no que posso. Primeiro passo: crie um arquivo com o nome gymlib.lua na pasta data/lib/, e coloque isso dentro do arquivo: Segundo passo: crie um arquivo chamado gym.lua na pasta data/creaturescripts/scripts/ e coloque isso dentro: Terceiro passo: abra o arquivo creaturescripts.xml (localizado em data/creaturescripts) e adicione essas 4 tags: <event type="cast" name="Gym1" event="script" value="gym.lua"/> <event type="attack" name="Gym2" event="script" value="gym.lua"/> <event type="direction" name="Gym3" event="script" value="gym.lua"/> <event type="death" name="Gym4" event="script" value="gym.lua"/> Quarto passo: crie um arquivo chamado brock.xml em data/npc e crie um chamado brock.lua em data/npc/scripts e coloque isso dentro: Quinto passo: se você usar o pokemon dash, vá no arquivo playerattack.lua (data/creatureevents/scripts) e adicione esses códigos embaixo da linha "function onAttack(cid, target)": if getPlayerStorageValue(target, 201) ~= -1 then for a, b in pairs(ginasios) do if getPlayerStorageValue(target, ginasios[getPlayerStorageValue(target, 201)].storage) == 1 then if getPlayerStorageValue(cid, ginasios[getPlayerStorageValue(target, 201)].storage) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end end end Se você não usa o pokemon dash, crie um arquivo chamado playerattack.lua na pasta data/creatureevents/scripts e coloque isso dentro: function onAttack(cid, target) if getPlayerStorageValue(target, 201) ~= -1 then for a, b in pairs(ginasios) do if getPlayerStorageValue(target, ginasios[getPlayerStorageValue(target, 201)].storage) == 1 then if getPlayerStorageValue(cid, ginasios[getPlayerStorageValue(target, 201)].storage) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end end return true end e adicione essa tag no creaturescripts.xml (data/creaturescripts): <event type="attack" name="PlayerAttack" event="script" value="playerattack.lua"/> e ainda, abra o arquivo login.lua e embaixo dessa linha: "function onLogin(cid)" adicione esse código: registerCreatureEvent(cid, "PlayerAttack") Último passo: vá em data/creaturescripts/scripts e abra o arquivo goback.lua (aqui por exemplo, pode ser que haja uma particulariedade de servidor para servidor), e procure pela linha: function onDeath(cid, deathList) e abaixo dela, adicione esse código: local owner = getCreatureMaster(cid) for x, y in pairs(ginasios) do if getPlayerStorageValue(owner, y.storage) == 1 then if getPlayerStorageValue(owner, 991) == 5 or not hasPokemon(owner) then setPlayerStorageValue(owner, 991, -1) else local number = tonumber(getPlayerStorageValue(owner, 991)) setPlayerStorageValue(owner, 991, number + 1) end end end Configuração dos NPCs: Abrindo o arquivo brock.lua na pasta data/npc/scripts, procure por esta linha: "doGymBattle("Brock", "Brock Geodude", cid, 1)" o "Brock" precisa ser o nome do NPC e o "Brock Geodude" precisa ser o nome do primeiro pokemon a ser usado. Agora nessa parte, no script do seu NPC, você também deve editar o nome do NPC no lugar de "brock". Se quiser que o player possa lutar com o NPC mesmo depois de tê-lo vencido, é só remover a mesma parte: if getPlayerStorageValue(cid, ginasios["Brock"].storage) >= 1 then return true end Ao abrir o arquivo gymlib.lua, você encontra essas duas linhas (são as primeiras): funcpokemon = {2220, 2222} -- ID das pokebolas (o pokemon tem que estar vivo nessas IDs) bpslot = CONST_SLOT_BACKPACK --em outros servers, pode ser que seja CONST_SLOT_AMMO o lugar onde fica a backpack no inventory Onde está funcpokemon, você coloca o ID de todas as pokebolas do seu server, mas esse ID tem que ser o ID da pokebola com algum pokemon vivo dentro, e esses IDs devem ser separados por vírgula. Onde está bpslot, você escreve onde fica a BACKPACK do seu server de pokemon. Se ficar no lugar normal de BPs, deixe como está, mas se sua BP fica no slot da munição (ammunition), você deve estar para CONST_SLOT_AMMO. Isso é tudo, agora vocês podem configurar os IDs e localização da BP facilmente, sem precisar conhecimentos mais avançados sobre scripting, e evitar erros no sistema. Abrindo o arquivo gymlib.lua, localizado em data/lib/ você encontra essa tabela: ginasios = { ["Brock"] = { storage = 900, msgdefeat = "You lost! You aren't strong enough yet, don't come back until you get stronger!", msgafk = "Go away if you don't have any pokemons!", msgwin = "Congratulations, you were strong enough to win this battle fairly! Take this Earth Badge as reward.", [1] = { msggo = "Lets fight then! I choose you, Geodude!", msgba = "That's enough, Geodude!", pokem = "Brock Geodude", nextp = "Brock Graveler"}, [2] = { msggo = "It's your turn, Graveler!", msgba = "Come back, Graveler!", pokem = "Brock Graveler", nextp = "Brock Golem"}, [3] = { msggo = "Crush'em, Golem!", msgba = "You did well, Golem!", pokem = "Brock Golem", nextp = "finish"} } } • storage significa a única storage que deve variar de NPC para NPC, tenha certeza de que essa storage não está sendo usada, é você não deve usar a storage 901 aqui, pois a mesma já está em uso pelo próprio sistema. • msgdefeat significa o que o NPC irá dizer quando o player perder o duelo. • msgafk significa o que o NPC irá dizer caso o player comece o duelo, mas não faça nada depois. • msgwin significa o que o NPC irá dizer quando o player vencer o duelo. • msggo / msgba significam os textos que o NPC irá dizer ao sumonar o pokemon dele, ou quando o mesmo morrer, respectivamente.• pokem / nextp significam o nome do pokemon que será utilizado, e o próximo pokemon a ser sumonado pelo NPC, respectivamente. Caso o nextp seja especificado como "finish", não haverá um próximo pokemon. • o número entre [] significa a ordem utilizada pelo líder para usar o tal pokemon, sendo 1 o primeiro pokemon, 2 o segundo e assim vai... Uma tabela detalhada sobre a configuração: Importante: caso for testar o sistema como foi postado aqui, é necessário criar antes os monstros Brock Geodude, Brock Graveler e Brock Golem, assim como adicioná-los no monsters.xml. Recomendações: é bom você impedir que o pokemon consiga retornar para a pokebola durante duelos (assim como foi feito no SvkE), para isso, basta adicionar esse código no arquivo goback.lua (data/actions) na parte inicial de retornar o pokemon: for a, b in pairs(ginasios) do if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.") return true end end Aconselho fazer o mesmo caso seu server tenha script de revive. Deve-se também checar pelos storages usado em players, somente o 990 e o 991. No servidor testado, é utilizado apenas pokeballs e ultraballs, com IDs 2220 e 2222 (outra particularidade). Após ter instalado os arquivos, entre no jogo e use o comando /n Brock para testar o NPC. Último aviso: o prêmio ainda não foi adicionado (que seria a badge), pois esse sim é bem variado de servidor pra servidor. Já que nenhum servidor base já vem com os IDs das badges, cada um adicionou elas de modo diferente, por isso não pude fazer, mas existe uma parte sobre um prêmio no arquivo gym.lua (data/creaturescripts/scripts), procure por isso: --local item = getPlayerItemById(killer, true, 2307) --doTransformItem(item.uid, 2294) Você pode modificar para adicionar dinheiro ou outra coisa, e pode também desenvolver um sistema de badges. Eu não vou fazer badge aqui, mas se vocês tentarem, posso ajudar com problemas. Quaisquer erros, tentarei responder o mais rápido possível.1 ponto
Líderes está configurado para São Paulo/GMT-03:00