Líderes
-
Ivens Pontes
MembroPontos213Total de itens -
-
ADM jeanasgotine
MembroPontos53Total de itens -
cleitonbandeira
MembroPontos72Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/11/16 em todas áreas
-
Servidor Naruto Hero
Servidor Naruto Hero
Black Fenix e um outro reagiu a cleitonbandeira por uma resposta no tópico
2 pontosOlá usuários do Tibia King, hoje vim trazer para vocês um Nto que venho editando ha alguns dias. Servidor feito com base no servidor Madara Rinnegan. Oque tem de novo: Novas vocações; Orochimaru Anbu Haku Zabuza Rikudou sennin Kaguya Sarutobi Konan Mei Terumi Onoki Shin Menma Might Guy (Faltando add jutsus) Sasuke gaiden (Faltando add jutsus) Novas quests: Quest Nto pontos. Quest kurama set refeita. Quest Vocação Kaguya Quest Vocação Onoki Quest vocação Shin Quest Cetro madara rikudou Quest Kurama eye Novas talkactions. Novos monstros. Novas areas de up. Novas houses. Novo Dp. Novos itens. Obs; vocação anbu n foi adicionada no account manager nem no npc shop. 1 ou 2 personagem antigo pode estar com o efeito do jutsu errado, isso pode ocorrer porque eu substitui alguns efeitos antigos por novos, se alguma vocação estiver assim é só alterar o efeito do jutsu. Algumas imagens: Download server+client https://mega.nz/#!okAlzBzR!_6rjSw-VwcS12n4bekYsxGSourcHAknDyg5Dkx7KXAo Scan https://www.virustotal.com/pt/file/ac681bae6fe6b8933e8939ad820a033e0689a0390d7eb267c5cc8636b222b6bc/analysis/1485059301/ Creditos-- Madara Rinnegan - Servidor base2 pontos -
Criar Client Proprio
Criar Client Proprio
netoxdd e um outro reagiu a ADM jeanasgotine por uma resposta no tópico
2 pontos2 pontos -
[AJUDA] Error latestnews.php
[AJUDA] Error latestnews.php
Foromir e um outro reagiu a Ivens Pontes por uma resposta no tópico
2 pontosCREATE TABLE IF NOT EXISTS `guild_membership` ( `player_id` int(11) NOT NULL, `guild_id` int(11) NOT NULL, `rank_id` int(11) NOT NULL, `nick` varchar(15) NOT NULL DEFAULT '', PRIMARY KEY (`player_id`), KEY `guild_id` (`guild_id`), KEY `rank_id` (`rank_id`)) ENGINE=InnoDB CREATE TABLE IF NOT EXISTS `announcements` ( `id` int(10) NOT NULL auto_increment, `title` varchar(50) NOT NULL, `text` varchar(255) NOT NULL, `date` varchar(20) NOT NULL, `author` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; ALTER TABLE player_deaths ADD unjustified TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE alter table `player_deaths` add `killed_by` INT NOT NULL;2 pontos -
[Link Quebrado]Base OtPokémon.com + Client
[Link Quebrado]Base OtPokémon.com + Client
Slain reagiu a Matheus Beraldo por uma resposta no tópico
1 pontoOlá Galera do Tibiaking! Hoje Vim Trazer Para voçes uma base parecida com OtPokémon pois editei muito nessa base em breve teremos v2 com as sprites substituidas base (PDA). Vamos Ao Que Importa Alguns Dos Nossos Sistemas Abaixo Agora vamos ao que interessa informaçoes do servidor começando com os Sistemas. Sistemas Moves System: 80% Caught System: 50% Go-Back System: 50% Portrait System: 50% Evolution System: 100% Ginasios 90% (Tentar Adicionar mais na V2) Changelog do servidor: • A Opçao Pokebag Do Client Esta Com o Sistema do Cassino Retire que Sera Aberto Normalmente Versao 1.0 • Adicionei Shiny Clefable - Shiny Wigglytuff - Shiny Tangrowth e Shiny Roserade • • Arrumei Os Attakes Dos Pokemons pareçidos com o OtPokémon (V2 Serao Todos) • • Adicionado Boost System Beta ( Esta Apenas Aumentar 300 De Hp, V2 Sera Arrumado ) • • Todos Os Shinys Alterados para Poderem Usar Level 1 e as Magias Tambem • • o Atake "Healarea" Nao Heala Players Apenas os Pokémons Downloads: Servidor Client (Pode usar este normal) Scan do Servidor Equipe: Apenas eu.1 ponto -
PokeXLegend
PokeXLegend
MarcosGattini reagiu a padreesss por uma resposta no tópico
1 pontoOlá Pessoal Sou Novo Aki Vim Traser Meu 1° Post De Base Lendaria, Editei Essa Base Não Sei De Quem é a Base, Mais a Editei pra uma amigo mais ele não quis mais, dai eu resolvi pegar essa base so com megas de pokemons Bons vamos la. [Pokemons Adicionados] Arch Heatran. [100%] Hoopa Unbound. [100%] Shiny Hoopa Unbound. [100%] Genesect Star. [100%] Fallen Jirachi. [100%] Majestic Lugia. [100%] Black Kyogre. [100%] Black Groudon. [100%] Zygarde. [100%] Shiny Zygarde. [100%] Power Charizard. [100%] Shiny Power Charizard. [100%] Power Raichu. [100%] Shiny Power Raichu. [100%] Power Arcanine. [100%] Shiny Power Arcanine. [100%] Power Venusaur. [100%] Shiny Power Venusaur. [100%] Power Blastoise. [100%] Shiny Power Blastoise. [100%] Fotos: http://prntscr.com/bg3e47 [Boxs Adicionadas] Xerneas Box Level 6000. [100%] Yveatal Box Level 4000. [100%] [Sistemas Novos] Fotos: http://prntscr.com/bg3baw NPC [SHOP] Donate. [100%] Fotos: http://prntscr.com/bg3gzq NPC [SHOP] Stone. [100%] [Removidos Do Map] Megas De Boxs Trocados Por Power Pra Tirar um Pouco Do Lag. Retirado Lag [70%] [Removidos] Removidos Bugs [70%] Removido Bug Que Dava Erro Ao Logar No Account manager [100%] [Sprints De Todas Box Trocadas] Box1 a Box19. [Download] Servidor+Client: https://mega.nz/#!60EDlLiT!LnAvjmlPLZ_FDTHU3KG0pH0yVJ4md8BCM61s_ayIH4Y [Scan] Servidor+Client: https://www.virustotal.com/pt/file/5fc602ad54c6a668ca06daa96e24239c3c19b0c5e118e04af09abf9c31f16352/analysis/1466248383/ [Scan Avast] : Servidor+Client: http://prntscr.com/bhvydx [Contato] Facebook: https://www.facebook.com/everton.jesus.541 ponto -
Mudando a versão do mapa
Mudando a versão do mapa
Lucas Casagrande reagiu a EddyHavoc por uma resposta no tópico
1 pontoMudar a versão do Mapa Eae frequentadores do TibiaKing hoje irei postar um tutorial explicando como mudar a Versão do Mapa. Mas para que ? para você converter de 8.6 para 9.1 de 8.7 para 8.6 de 8.5 para 8.6 e etc... Mude para qualquer versão ao seu desejar. Vamos ao que interessa * Abra o RME com o seu mapa e vá em Map e clique na opção Properties. (CRTL + P) * No índice Client Version clique na "setinha" para baixo e depois escolha a versão que deseja transformar seu mapa. (Imagem de um RME Antigo hoje temos mais versões disponiveis) * Após selecionar a versão desejada clique em OK. * Após isso irá aparecer algumas barras você da "OK" em tudo e aguarde carregar depois seu mapa estará convertido na versão desejada. Créditos: EddyHavoc Imagens Google Caso algum membro necessite do tutorial com imagens : http://www.tibiaking.com/forum/topic/23192-tutorial-mudando-a-versao-do-mapa/#entry133597 (EDITADO POR VIITING.)1 ponto -
[2016] Sprites Completas - PokeXGames
Eae Galera, estava vasculhando alguns fóruns e encontrei as novas sprites da PokeXGames, então resolvi trazer para o TK. Façam bom aproveito! Screenshot Como Abrir a spr pelo Object Builder Download Créditos1 ponto
-
[Básico] Aprendendo Script
1 ponto---Tutorial by Leo --- Bom galera, venho através desse tutorial tentar ajudar aqueles que querem aprender um pouco mais sobre a área de scripting. Vai ser bem básico, como muita gente tinha me pedido por pm (então resolvi fazer para acabar com o enjoo =P). Acredito que existam muitos tutoriais, alguns bons, outros não, e como vinham me pedindo, ou os tutoriais eram ruins, ou queriam uma visão de outra pessoa (quem sabe com outra pessoa falando, entenda melhor). Diante mão, vou logo dizendo que não me considero um bom scripter ou coisa perto disso até porque estou nisso há menos de 1 mês, mas vou tentar ajudar as pessoas com o pouco que sei. Nessa primeira parte, vamos ver os seguintes pontos: 1. [LÓGICA DE PROGRAMAÇÃO] 1.1 O que é um algoritmo? 1.2 Um exemplo de algoritmo. 1.3 Exercício: Faça seu próprio algoritmo. 1. Desde que existe o ser humano, existe programação. Quando os homens da pré-história iam caçar, ele se programavam, decidiam quais passos tinham que seguir a fim de alcançar a caça. (hehe) Com o computador não é diferente, você deve dar os passos para que ele possa executar as ações e alcançar o objetivo, que no nosso caso, é o sucesso do script. Isso é a linguagem de programação, é uma linguagem criada para instruir o computador a realizar suas tarefas, e o programador deve seguir uma lógica para colocar cada parte do script no seu devido local, essa é a lógica de programação. 1.1 Algoritmo é nada mais que uma "receita" que deve ter os passos seguidos pelo computador para realizar uma tarefa. Esses passos não devem deixar o computador com dúvidas, e portanto, devem ser bem definidos e claros. 1.2 Vamos a um exemplo de um algoritmo. Algoritmo: Preparar um cafezinho Geralmente, tomamos um cafezinho logo quando acordamos então a primeira coisa que devemos fazer é: Acordar Se não tiver água quente então Colocar água na panela Colocar a panela no fogão Ligar o fogão Esperar água ferver Vejam que se esses passos acima forem seguidos rigorosamente, você vai conseguir por a água para ferver. Continuando... Mas se já tiver água quente então Botar água na xícara Botar duas colheres de açúcar Botar uma colher de café em pó Mexer Tomar Dizer: Delíiiciaa =P Vejam, que aí estão os passos exatos para preparar um cafezinho. Aliás, mais do que preparar, até tomar o café. Como ficou o algoritmo: 1.3 Faça um algoritmo para: Ir à escola/faculdade (não precisa postar, é só para treinar). 2. [sCRIPTEANDO] 2.1 Arquivos de Base 2.2 Controladores Lógicos - Condicionais - Operadores de relação - Operadores-controladores 2.3 Variáveis 2.4 Storage Nessa parte, vamos começar a parte de script realmente. Lembrando que existem muitos tutoriais e só esse aqui não é o bastante, até por estar bem básico. 2.1 Os arquivos que podem dar auxílio na hora de fazer os seus scripts são: -- Em data/lib (alguns, global.lua) encontre o arquivo: 000-constant.lua que dá muitas informações sobre o server, como por exemplo, id dos channels, id das skulls, tipos de mensagens, etc.. é bastante útil na construção dos scripts. -- Ot script Live by Colex: Programa que facilita bastante pros iniciantes. Ele marca algumas funções em uma cor diferente além de executar o script para ver se há algum erro de escrita. Em alguns fórums tem, é só usar o sistema de busca. -- Notepad++: Um editor de texto que também pode ser útil. 2.2 Os controladores lógicos são aqueles que colocarão em prática a sua lógica de programação. São eles que guiarão os passos que o computador deve seguir. --- Condicionais Acho que todos sabem o que é um condicional. Como o nome já diz, ele abre uma condição para que algo possa ser feito. Exemplo: Caso não chova, irei jogar bola. Então, isso é uma condição, a condição de que não esteja chuvendo. Se não chover eu jogo, se chover não jogo. Na programação, os principais condicionais são: if -- equivale ao se em português. Está presente em todas linguagens de programação. Provavelmente, você já o viu nas aulas de português. Ele abre uma condição. Regra: Todo if tem seu end. else -- equivale ao senão. Vai ser executado caso a primeira condição aberta pelo if seja falsa. elseif -- equivale a "senão se" ou "mas se". Ele evita a repetição de vários se. Não precisa de end, "utiliza" o end do if. Construindo um algoritmo só para exemplificar: Pegando o exemplo acima, vamos usar o elseif. ---- Operadores de relação Os operadores de relação são aqueles que vocês estudam em matemática: igual, maior igual, menor igual...Em lua, é um pouco diferente: igual: = menor igual: <= maior igual: >= verificação: == Esse de verificação serve para checkar se algo é realmente igual. A diferença dele para o de igual "=" é que o igual serve para atribuir valores. Exemplo: se o level do player == 100 então -- verifica se o level do player é realmente 100 --- Operadores controladores Esses operadores são o and e o or que significa basicamente "e" e "ou", respectivamente. O and verifica se todas as condições são verdadeiras para executar algo. Exemplo: se o player tem level 100 e o nome dele é Leoking então execute script fim Perceba que só será executado caso a condição de ser lvl 100 e o nome ser Leo sejam respeitadas. No caso do or, é necessário que apenas uma delas seja respeitadas. Exemplo: se o player tem level 100 ou o nome dele é Leo então execute script fim Nesse caso, com somente uma condição sendo respeitada, já é o bastante para que o script seja executado. 2.3 Variáveis: Servem basicamente para guardarem valores. Exemplo: O script retornará: king -- king é exatamente o valor da variável var. 2.4 Storage: É simplesmente uma função que vai guardar um valor ou letra, palavra, etc. Para dar um storage usamos a função: setPlayerStorageValue(cid, valor, novo valor) Exemplo: setPlayerStorageValue(cid, 1234, 1) Para verificar se um player tem um storage usamos a função: getPlayerStorageValue(cid, valor) Exemplo: getPlayerStorageValue(cid, 1234) Essas funções você pode ver naquele arquivo de base: lista de funções em lua Agora a última parte desse mini tutorial: 3. [ACTIONS] 3.1 Sintaxe das actions 3.2 Exemplo de actions 3.1 A sintaxe das actions é: function onUse(cid, item, fromPosition, itemEx, toPosition) mas também podem ser encontradas como fromPos, toPos, isso vai depender de como o scripter queira e como vai usar no script. Usei essa que está em negrito, pois, já é a padrão. Agora a explicação: function onUse(cid, item, fromPosition, itemEx, toPosition) Primeramente, é bom lembrar que assim como o if, toda função (function) tem seu end. Exemplo: Explicação da sintaxe: onUse = ao Usar (assim que o player use um item) cid = creature id -- quem vai usar o item item = item que será usado ou item "principal" fromPosition = da Posição itemEx = item "secundário" toPosition = para a Posição 3.2 Vamos colocar em prática tudo que lemos até agora. Nossa action fará: [/center] [center]Ao dar use em um item --- para inserir comentários que não alterarão o script, é só colocar -- e escrever[/center] [center]Se o player for level maior ou igual a 100 então[/center] [center]Sumona um monstro em uma posição[/center] [center]Manda uma mensagem para o player[/center] [center]Manda um efeito no player[/center] [center]se não for level 100[/center] [center]Manda uma mensagem para o player[/center] [center]fim do script[/center] [center] [/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx) --- sintaxe das actions[/center] [center]if getPlayerLevel(cid) >= 100 then -- se o level do player é maior igual a 100 então[/center] [center]doSummonCreature("Demon", {x=1, y=1, z=1}) --- sumona um demon na posição determinada. Todo valor que seja uma letra, palavra deve estar entre aspas. A posição, entre chaves.[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um Demon.") -- manda uma mensagem do tipo 22 (veja no constant.lua)[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10) -- manda um efeito de id 10 (veja constant.lua) na posição do player[/center] [center]else -- se não[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level 100.")[/center] [center]end -- end do if[/center] [center]end -- end da função[/center] [center] Toda script deve ser registrado em um arquivo.xml, no caso da nossa action,será registrado no actions.xml e como é o item que será usado, usaremos itemid: <action itemid="IDDOITEM" event="script" value="NOMEDOARQUIVO.lua"/> Esse foi nosso script usando quase tudo que explicamos anteriormente. Vamos usar agora storage e variáveis nesse script. Vimos que variáveis podem guardar valores, seja númerico ou não. Então, podemos fazer com que não precisemos editar o monstro, a posição e o level dentro do script. (não vou explicar o que é uma variável local e global, pois é intuitivo -- se tiverem dúvidas procurem em outros tutoriais). Podemos colocar: --- Guardando os valores com variáveis --- local monster = "Demon" -- entre aspas, lembre-se! local pos = {x=1,y=1,z=1} -- entre chaves! local minlevel = 100 -- minimo de level Ok até aqui, então nosso script ficaria: [/center] [center]local monster = "Demon"[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um Demon.")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level 100.")[/center] [center]end[/center] [center]end[/center] [center] Mas, digamos que vou passar esse script para um amigo e ele não sabe nada de editar scripts. Aí você fala, é só colocar o nome do monstro no lugar do Demon. Ele vai e faz: [/center] [center]local monster = "Rotworm" --- olha aqui[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um Demon.")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level 100.")[/center] [center]end[/center] [center]end[/center] [center] Ou seja, vai sumonar um rotworm mas vai mandar a mensagem: Você sumonou um Demon. Como resolver isso? Existe os strings, (não vou me aprofundar) vou dar um exemplo e mostrar como ficaria. Exemplo: local var = king imprima("Você quis dizer ".. var .."?) Retornaria: Você quis dizer king? Percebam que é só colocar ".. variavel .." . Além de resolver o problema do monster, também poderíamos fazer isso com o level, no nosso script ficaria: [/center] [center]local monster = "Rotworm"[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um "..monster..".")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level "..minlevel..".")[/center] [center]end[/center] [center]end[/center] [center] Sendo assim, seu amigo noob só vai precisar editar na parte de cima do script. Adicionando storage ao script. Nesse caso, faremos com que o item só possa ser usado uma única vez. Para isso, daremos um storage a ele quando o item for usado e verificaremos se o player já tem esse storage para ver se poderá ser usado o item novamente ou não. (Leia a parte de storage) A função que verifica se o player tem storage é : getPlayerStorageValue(cid, value), então: [/center] [center]se o player tiver esse storage menor ou igual a 0 então[/center] [center]execute o script[/center] [center]dê a storage -- para que o player n possa usar novamente[/center] [center]se não --- se ele já não tiver storage menor ou igual a 0, ou seja, ja tiver usado o item[/center] [center]mande msg negando[/center] [center] No script ficaria assim: [/center] [center]local monster = "Rotworm"[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerStorageValue(cid, 1234) <= 0 then -- se o storage 1234 for menor ou igual a zero entao[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um "..monster..".")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]setPlayerStorageValue(cid, 1234,1) --- dar storage 1234 pra q n possa usar novamente[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level "..minlevel..".")[/center] [center]end --- end do if do getPlayerLevel[/center] [center]else -- se já tiver storage igual a 1[/center] [center]doPlayerSendTextMessage(cid, 22, "Você já usou esse item.") -- manda a mensagem[/center] [center]end -- end do if getPlayerStorage...[/center] [center]end -- end da função[/center] [center] Então é isso galera, tentei englobar o maior número de informações necessárias para vocês começarem a fazer seus scripts e espero que esse tutorial ajude alguém. É bom lembrar que só isso não basta e que é sempre bom olhar os scripts dos outros e pelo menos tentar entender como que foram feitos. Vlw aí, abraços. Créditos: 100% Leo PS: Não quero ninguém pegando o Tutorial e colocando em outro fórum se for colocar em outro fórum deixa que eu ou o Leo .1 ponto
-
[TUTORIAL] Como Adicionar Novos Tipos De Pokemons. "Fairy"
1 ponto
-
Criar Client Proprio
Criar Client Proprio
ADM jeanasgotine reagiu a leozincorsair por uma resposta no tópico
1 pontoCara foi erro meu desculpe , eu assisti pelo youtube e ficou normal , Realmente funciona muito obrigado mesmo !!! +REP1 ponto - [AJUDA] Error latestnews.php
-
[AJUDA] Error latestnews.php
[AJUDA] Error latestnews.php
Ivens Pontes reagiu a franckle por uma resposta no tópico
1 pontoWarning: Invalid argument supplied for foreach() inC:\xampp\htdocs\pages\latestnews.php on line 18 Query: SELECT * FROM `z_news_tickers` WHERE hide_ticker != 1 ORDER BY date DESC LIMIT 50; SQLSTATE: 00000 Driver code: Error message: Query: SELECT * FROM `announcements` WHERE id ORDER BY `date` DESC LIMIT 1 SQLSTATE: 00000 Driver code: Error message: ERROS ARRUMADOS.. Ivens arrumou todos .. mas obrigado mesmo assim pela atenção KotZletY1 ponto - [AJUDA] Error latestnews.php
-
[AJUDA] Error latestnews.php
[AJUDA] Error latestnews.php
franckle reagiu a Ivens Pontes por uma resposta no tópico
1 pontoTable 'server.guild_membership' doesn't exist Table 'server.announcements' doesn't exist essas tabelas não existem no seu banco de dados, procure-as onde você pegou esse site. o outro erro é na linha 1 retire o header("Content-Type: text/html; charset=ISO-8859-1",true); provavelmente ja tem esse header() no config.php1 ponto -
[AJUDA] Error latestnews.php
[AJUDA] Error latestnews.php
franckle reagiu a Ivens Pontes por uma resposta no tópico
1 pontovai em index e e troca: define('DEBUG_DATABASE', false); por define('DEBUG_DATABASE', true); acesse latestnews e me mostre as consultas com erros1 ponto -
Private Área System
Private Área System
Axion Nitron reagiu a Schulzinho por uma resposta no tópico
1 pontoSim, vou fazer um por table. Apenas postei esse porque tinha 2 pessoas pedindo um script parecido com esse.1 ponto -
Layout Narutibia
1 pontoO ideal é sempre usar a versão mais recente do Xampp, ele sempre melhora, em segurança, estabilidade e etc... Porém a versão dos Websites que OTServer usa, não é atualizado, Modern AAC mesmo, não tem suporte na versão 7.0 de PHP do Xampp. Só trabalho com Modern, então, use esse. Modern AAC E xampp use esse, é uma versão recente, muito boa, não tão boa quanto a 7.0 porém passando da versão 5.5 a estrutura e versão do Modern AAC, da erro. Então fique tranquilo, essa versão do Xampp é segura, fácil de usar, bem rápida e estável Xampp 5.5.191 ponto
-
ajudar com a guild
ajudar com a guild
thelifeofpbion reagiu a KotZletY por uma resposta no tópico
1 pontoVá em seu Banco de Dados, e execute essa query: ALTER TABLE `players` ADD `guildjoin` INT NOT NULL; Lembre-se de fazer um backup da database sempre, caso não funcione, mas creio que vai dar certo! xD1 ponto -
(Resolvido)[PEDIDO] Problemas no "Look" do Nto
Olá, boa tarde, não sei se já resolveu esse pequeno problema, mas por conhecer essa base, já tive o mesmo, então se ainda não foi resolvido, vamos lá! Em data/creaturescripts/scripts/ procure pelo arquivo "showvoc", abra-o, provavelmente estará assim: function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then local type = getPlayerStorageValue(thing.uid, 89745) doPlayerSetSpecialDescription(thing.uid, "\n"..(getPlayerSex(cid) == 0 and "She" or "He").." are "..(type < 0 and "Shinobi" or type == 1 and "Genin" or type == 2 and "Chunin" or type == 3 and "Jounin" or type == 4 and "Anbu" or type == 5 and "Sennin" or type == 6 and "Kage")) end return TRUE end Para corrigir isto, basta fazer uma pequena modificação na linha 5, editando nesta parte: doPlayerSetSpecialDescription(thing.uid, "\n"..(getPlayerSex(cid) == 0 and "She" or "He").." are "..(type < 0 and "Shinobi" or type == 1 and "Genin" or type == 2 and "Chunin" or type == 3 and "Jounin" or type == 4 and "Anbu" or type == 5 and "Sennin" or type == 6 and "Kage")) É só trocar o "kage" por "Akatsuki member". Ficando assim a script: function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then local type = getPlayerStorageValue(thing.uid, 89745) doPlayerSetSpecialDescription(thing.uid, "\n"..(getPlayerSex(cid) == 0 and "She" or "He").." are "..(type < 0 and "Shinobi" or type == 1 and "Genin" or type == 2 and "Chunin" or type == 3 and "Jounin" or type == 4 and "Anbu" or type == 5 and "Sennin" or type == 6 and "Akatsuki Member")) end return TRUE end Abraços!1 ponto
-
(Resolvido)Retirar missões de quests!
Oi pessoal! Estou criando esse tópico porque confio que só aqui vou encontrar a resposta pra minha dúvida! Estou com um mapa global 10.76 global no qual tem que fazer todas as missões pra a fazer algumas quests ou acessar alguns lugares! Eu queria tirar essas missões. Ex: Para acessar os portões de Yalahar precisa da In service of Yalahar Completa, gostaria de cortar pra começar na missão 10! Alguém poderia me ajudar?1 ponto
-
Magic Level
Magic Level
Law Trafalgar reagiu a elton123 por uma resposta no tópico
1 pontocara sei fazer de outro jeito não vai ter q desloga local magicLevel = 1 -- só editar -- elton123 function onUse(cid, item, fromPosition, itemEx, toPosition) local pid = getPlayerGUID(cid) doRemoveItem(item.uid,1) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + ".. magicLevel.." WHERE `id` = ".. pid) return true end1 ponto -
(Resolvido)Retirar missões de quests!
(Resolvido)Retirar missões de quests!
Spectry 2 reagiu a arthur122222 por uma resposta no tópico
1 pontoAltere o que tem dentro desta script por isso: local mechanisms = { [3091] = {pos = {x = 32744, y = 31161, z = 5}, value = 21}, -- Alchemist [3092] = {pos = {x = 32744, y = 31164, z = 5}, value = 21}, [3093] = {pos = {x = 32833, y = 31269, z = 5}, value = 24}, -- Trade [3094] = {pos = {x = 32833, y = 31266, z = 5}, value = 24}, [3095] = {pos = {x = 32729, y = 31200, z = 5}, value = 29}, -- Arena [3096] = {pos = {x = 32734, y = 31200, z = 5}, value = 29}, [3097] = {pos = {x = 32776, y = 31141, z = 5}, value = 35}, -- Cemetery [3098] = {pos = {x = 32776, y = 31145, z = 5}, value = 35}, [3099] = {pos = {x = 32874, y = 31202, z = 5}, value = 41}, -- Sunken [3100] = {pos = {x = 32869, y = 31202, z = 5}, value = 41}, [3101] = {pos = {x = 32854, y = 31251, z = 5}, value = 45}, -- Factory [3102] = {pos = {x = 32856, y = 31248, z = 5}, value = 45} } local mechanisms2 = { [9235] = {pos = {x = 32773, y = 31116, z = 7}}, [9236] = {pos = {x = 32780, y = 31115, z = 7}} } function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if(mechanisms[item.uid]) then --if(player:getStorageValue(30) >= mechanisms[item.uid].value) then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(mechanisms[item.uid].pos) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) --else --player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The gate mechanism won't move. You probably have to find a way around until you figure out how to operate the gate.") --end elseif(mechanisms2[item.uid]) then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(mechanisms2[item.uid].pos) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) end return true end1 ponto -
"Math", a matemática por traz do script
Math A matemática por traz do script introdução: bem, antes de começar a explicar o math em si, acho melhor explicar que: não é recomendado colocar variáveis como x ou y em uma equação alem do exemplo acima, funções lua ou de otserv, não podem ser declaradas como nome de variáveis "=" é diferente de "==" para facilitar, de uma olhada nessa tabela com os simbulos matemáticos em lua : + ---------------------- adição - ------------------ subtração *---------------- multiplicação / ---------------------- divisão == ------------------ igualdade ~= -------------- desigualdade > ----------------- maior que >= -------- maior ou igual que < ----------------- menor que <= -------- menor ou igual que ^ ----------------- potenciação O math sozinho: O math, sozinho, serve somente para colocar equações e cálculos em geral. ficando assim : local var = getPlayerHealth(cid) local resultado = math((var-(var/2))) no caso, var é a vida do player, e na variavel resultado e math resolve a equação que está em seu parametro. math.random: O math.random, pode pegar um numero aleatorio entre um minimo e um maximo, pegar um numero de uma tabela, ou ate mesmo randomizar frases e etc... randomizando numeros por min/max : observe resultado = math.random(1,3) no caso ali, 1 é o numero minimo a ser sorteado, e 3 é o maximo. randomizando por meio de tabelas novamente com um codigo de base : tabela = {1, "eu sou de...mai...onese!", " tutorial by Eventide =D ", 2, 3, 5} Sorteio = math.random(1, table.getn(tabela)) resultado = tabela[Sorteio] primeiramente, foi feito uma tabela com o que seria sorteado. depois, declarei que ia sortear em uma variavel (sorteio), usando math.random, o primeiro numero de seu parametro, indica em qual valor da tabela ele começara a contar, o numero pode ser considerado ordinal, mas é escrito como cardinal, veja o exemplo: table = { "1° valor (ordinal), é representado por 1 ( cardinal )", "2° valor (ordinal), é representado por 2 (cardinal)" } outro modo: tab = {"sete", "mih", "exemplo" } R = math.random(1,table.maxn(tab)) rand = tab[R] assim, você cria uma tabela, randomiza normalmente pelo metodo min/max, sendo que o max é o numero de valores contidos na tabela, e depois na variavel rand, você pega a tabela randomizada, com esse metodo, da pra inserir novos valores na tabela futuramente, sendo que estes tambem serão randomizados... math.fmod(x, y) Retorna o resto da divisão de x por y, caso necessario o valor é arredondado para baixo. math.fmod(4,2) -- retornara 0 math.sqrt (x) Retorna a raiz quadrada de x. math.sqrt(9) -- retornara 3 math.pow (x, y) Retorna x elevado a y math.pow(x, 2) -- retornara x² math.abs( ) retorna o valor absoluto do valor contido em seu parametro, ou seja, os números negativos são automaticamente transformados em positivos. math.abs(-x) -- retornara x math.floor (x) transorma um numero decimal em inteiro, exemplo, se x for 1,3 depois de passar pelo floor ele se torna 1. math.floor(1,5) -- retornara 1 é sempre bom usar isto após uma divisão creditos: (60%)Eventide (30%)Merdamen (10%) Dark( pelas dicas... ;p) para saber mais, acesse : Creditos : Eventide1 ponto
-
(Resolvido) Erro Gesior ACC
(Resolvido) Erro Gesior ACC
joaopedrodepaiva reagiu a gpedro por uma resposta no tópico
1 pontoVá em C:\xampp\php, abra o arquivo php.ini procure por error_reporting o que tiver lá, mude para após isso, reinicie o apache.1 ponto