Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/15/15 em todas áreas
-
[MODULE] Extended Opcodes SEM SOURCES
GOD Vitor e 4 outros reagiu a david0703 por um tópico no fórum
Será possível o uso de opcodes em servidores sem o código fonte? Agora é sim com esse novo mod que eu fiz e disponibilizarei à vocês! Conversação de servidor para client! Muito fácil de usar e de instalar! Sem mais delogas, vamos logo ao conteúdo! 1. Crie um arquivo com o nome ModOpcodes.lua na pasta lib do seu servidor; 2. Coloque o seguinte código dentro dele: -- By Hopus -- function doPlayerSendModOpcode(cid, port, param) doPlayerSendCancel(cid, '#<=>#ModOpcode#<=>#'..port..'#<&>#'..param) end 3. Agora coloque a pasta mod_opcodes na pasta modules de seu client; 4. Abra o arquivo textmessage.lua, localizado na pasta modules/game_textmessage de seu client; 5. Procure esse código: elseif string.find(text, '12&,') then modules.cdBar.cdBar.toolTipChange(text) return end 6. Adicione, logo abaixo, essa linha: if text:find('#<=>#ModOpcode#<=>#') then return end 7. Opcodes instalados com sucesso! Como usar? Simples! [Obs.: A função a ser conectada deve ter UM PARÂMETRO, seja ele nomeado como quiser.] Bom, é isso... Espero que seja de grande utilidade e ajude muita gente! Abraços e até a próxima! ^^ [Obs.: Seria legal criar uma área no site exclusiva para otclients!]5 pontos -
Global Full [CLIENTS COMPATÍVEIS] 10 e 11.5. [BUGS E DOWNLOAD] BAIXEM E REPORTEM EM: OTXGlobal Full [FEATURES] NEW DEPOT, NEW SPAWN, NEW CAST SYSTEM, NEW NPC SYSTEM VIA BANK BALANCE, NEW CRITICAL BOOST SYSTEM, NEW POTIONS, REWARD SYSTEM, PREY ... [MAPA] FULL GLOBAL MAP WITH FEYRIST TODAS CIDADES E NOVAS AREAS TODAS QUESTS FUNCIONANDO! [EVENTS] WAR-ANTIENTROSA [CONTATO] SKYPE: onjogos WHATSAPP: (66) 998427-4493 [Créditos]Tfs 1.2 Developers -Zbizu - Pitis91 - MatheusMkalo - Gesior - Lundrial - M4G0 - Fish04k - Printer - Djarek - Ninjalulz - Slavidodo - Thexamx - Socket2810 - Ciroc -Absolute - Gordonbay - Mitsuig - Alissonfgp - Gunz - Bruno Minervino - Comedinha -Hirako - Maya - Mattyx14 – Darkjav - Viking Tibia2 pontos
-
Taming System Versao: TFS 1.x Todas as Montarias Crie um Arquivo em data/actions/scripts/others Chamado taming.lua e Cole Isto Dentro! E em actions.xml adicione isto: Pronto!!! Agora o Script Esta Pronto! Qualquer duvida so perguntar.2 pontos
-
Duvida no RME. Help fast plx
oONooBZinhOo e um outro reagiu a Bruno por uma questão
Tem sim, vá até o ultimo andar e deixe a opção marcada: Edit -> Selection -> Lower Floors Ai faz o mesmo procedimento acima que ele seleciona todos os andares abaixo.2 pontos -
Videos que irão ajudar:2 pontos
-
Pop Up de Propaganda
Administrador e um outro reagiu a Animal Pak por uma questão
Vá em seu latestnews.php e antes do <?PHP adicione : <div id="LayerPop" style="display:block; position:Criminoso; left:0px; top:0px; background-color:#1e1e22; width:100%; height:180%; z-index:100;margin:0px;opacity:0.75;"></div> <div id="LayerPop2" style="position: Criminoso; left: 330px; top: 80px; z-index: 5000;"><a href="?subtopic=doacao"><img src="LINK DIRETO DA IMAGEM UPADA" class="imgBorder"></a><br><a href="javascript:void();" onClick="document.getElementById('LayerPop').style.display = 'none';document.getElementById('LayerPop2').style.display = 'none'"><b>Fechar</b></a></div> Basta colocar em LINK DIRETO DA IMAGEM UPADA o link da imagem do seu banner de propaganda, e em subtopic=doacao o nome da pagina caso seja doacao deixe doacao caso seja pagseguro troque para pagseguro!2 pontos -
Quest Simples
Administrador e um outro reagiu a zipter98 por uma questão
É bem simples fazer isso. Poderia informar se a base que você está utilizando é algum derivado (por exemplo, PDA)?2 pontos -
Quest Simples
Administrador e um outro reagiu a kttallan por uma questão
Opa bom eu fiz um codigo aqui e não testei intão espero noticias. Vamos ao tutorial de edição. obs: Não fiz de caso um player morrer a quest volta nn tenho nivel suficiente :v.2 pontos -
Smeargle System[PXG]
KaboFlow reagiu a gabrielbsales por um tópico no fórum
Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui) Bom, aqui está o smeargle system, igual o da PxG. Vamos lá. 1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso: 2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso: 3 - Agora no order.lua, do Actions, em baixo de: Adicione: 4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses(data/lib/pokemon moves.lua): Se não, use os mesmos acima, não esqueça de adicionar no spells.xml. 5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua: Por Depois: Por: Pronto, se tiver feito tudo certo, funcionará. Como ficará: Como usar: Créditos: Eu(Todo o script)1 ponto -
DEV C++ Compilando TFS no Windows
julhinhuu reagiu a Natanael Beckman por um tópico no fórum
DEV C++, aprenda a compila uma source TFS! Downloads(Baixe de acordo as configurações do seu windows): DEV C++ CONFIGURADO PARA 32BITS | SCAN DEV C++ CONFIGURADO PARA 64BITS | SCAN REV 3884 TFS 0.4 | SCAN Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos. ====================================== Abra o DEV C++: ====================================== ====================================== Abra a Source: ====================================== ====================================== Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev: ====================================== ============================================================= ====================================== Aguarde carregar todos os arquivos: ====================================== ====================================== Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK: ====================================== ====================================== Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo: ====================================== ====================================== Se der tudo certo em Log vai estar como mostra a imagem abaixo: ====================================== ====================================== Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou! ====================================== =========================================== Só isso galera tutorial rápido resumido e útil! Créditos Natanael Beckman! =========================================== Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar: Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone. Abra o DEV-C++, clique em File> New> Project: Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos: Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp. No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros: -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs: -lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK. Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project: Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9: OpenSLL 0.9.8 1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa! Clica aqui \/1 ponto -
Features: Pokes adicionados: Sistema de bike funcionando Perfeitamente. Sistema de correr, afk e !invite pras houses. Atenção- os pokes que eu adicionei nao da pra dar /cb pq eu nao sei faser isso nessa base blz so da pra dar /s e /m mas eles estam com atakes. obrBugs removidos: Metang não evoluia pra metagross; Shiny Larvitar tambem não tava virando shiny Pupitar com stone; Larvitar não tava evoluindo; Bug de arvore que ganhava 10mil Dark Ball, 20mil Td, 20mil Boost Stone, e Held Item Removido. Prints: Bike !Invite Mapa Mega Lucario Poke mega e Poke X e Y Pokes Mini Quest Nova Shiny Metagross Reshiram e Zekrom Area De Pesca Downloads: Server Cliente Scans Server (arquivo potencialmente (não quer dizer que realmente seja) prejudicial. Baixe por sua conta e risco) Cliente Créditos Brun - Por Criar o Servidor Slicer - Por Editar o Servidor Mulurka - Pelas outfits Stylo - Pelo tuto do ícone system Noninhu - Por ajudar em alguns spells Dandanrvb - Pelos scripts do icone system Erondino - Por algumas caves ih é só bjundão a all Tioj - Pelas edições Kuuhaku - Pela cave dos geot . AnnaFeeh - Pelo script do ditto system pxg Vudi - Por ter postado originalmente Gabrielbsales pedrojosex - Por ter editado um pouco mais1 ponto
-
Eae galera do xtibia, bom eu consegui editar a minha tabela top 10 com level e magic level com ajuda do membro Avuenja e prometi que iria disponibilizar para a comunidade. Vamos lá Primeiramente uma print da tabela: *lembrando que pode mudar o fundo e a tabela do top 10 de acordo com sua template. obs: Pode ocorrer bugs porque o código está adaptado para meu site mais em caso de problemas comente que eu ajudo ^^ Agora vá na pasta do seu site em templates/pasta da template/index.tpl ou o index que for. procure por: <div id="vt_panel_buttons"> <a href=" essa linha seria a do botão de download e logo a cima do <div id="vt_panel_buttons"> você coloca este código <div class="bot">{include_php file='templates/naruto/topplayer.php'} bom feito isso pode salvar e fechar, ainda dentro da pasta da template crie um arquivo com o nome topplayer.php dentro dele coloque o seguinte código <table cellpadding="0" cellspacing="0" style="MARGIN-LEFT: 9px"> <tbody> <tr background="/templates/naruto/images/homepage.png"> <td width="537" height="37"> <center> <a style="color: yellow; font-size: 12px; text-shadow: #3d2e05 ;"> <b>Top 10</b> </a> </center></td> </tr> </tbody> </table> <?php $ots = POT::getInstance(); $ots -> connect(POT::DB_MYSQL, connection()); $SQL = $ots -> getDBHandle(); $money_list = $SQL->query('SELECT name, level, experience, maglevel FROM players ORDER BY experience DESC, maglevel DESC LIMIT 10')->fetchAll(); $i = 1; foreach ($money_list as $money_chr) { echo '<center>'; echo $i . '. <a href="' . WEBSITE . '/index.php/character/view/' . $money_chr['name'] . '">'; $player = $ots -> createObject('Player'); $player -> find($money_chr['name']); echo '<font color="'; echo($player -> isOnline()) ? 'green' : 'red'; echo '">'; echo '<b>' . $money_chr['name'] . '</b></a></font>'; echo '<br>Level: <span style="color: #10FF00; font-weight: bold;">' . $money_chr['level'] . '</span> '; echo 'Ninjutsu: <span style="color: #67CCF9; font-weight: bold;">' . $money_chr['maglevel'] . '</span><br>'; $i++; } for ($i; $i <= 10; $i++) { echo $i . '. <br><i>Empty</i><br /><br />'; } echo '</center>'; ?> Para mudar as escritas procure por (Top 10 - Level - Ninjutsu) Para mudar a cor das escritas procure por (Yellow - #10FF00; - #67CCF9; ) Bom é isso galera espero que ajuda vocês a terem um rank bem legal no site de vocês xD Se Gostou +rep xD Créditos: Eu xD Avuenja (por ter editado o código)1 ponto
-
Pokémon Online
jeanflamengo reagiu a Tony Araujo por um tópico no fórum
Salve galera do Eks, hoje eu venho apresentar a vocês por meio deste tópico o Pokemon Online (new era), o mais novo projeto de pokémon, cujo a principal ideia é sair da mesmice de todos os servidores existentes de hoje em dia. Nosso projeto, tem como base o primeiro, unico e melhor servidor já existente no mundo de OTServers. Quem não lembra do glorioso Pokémon Online, criado pela equipe SVKE? Haha. Servidor sendo feito totalmente do 0, sem usar base alguma. O mapa será criado tendo em mente o mapa do SVKE, tentaremos ao máximo trazer os incriveis mapas e sistemas, novamente. Andamento do servidor Caught System: 100% Go-Back System: 100% Portrait System: 100% Evolution System: 100% NPC Nurse System: 100% Paint System: 100% Pokedex System: 100% Ghost System: 100% Wild Pokemon Passive: 100% Moves System: 100% Limite de 6 Pokemons: 100% Party System (Pelo Private Channel): 100% Effective System (Vantagem e Desvantagem): 100% Duel System (Pela Party) 100% Tv / Cam System 100% Próximos sistemas Order System (Com todas as habilidades [Fly, Surf, Ride, Blink, Cut, Light, Transform, Control Mind, Dig, Move]) All Pokemon Spells Boat System (Vermilion - Cinnabar) Gym System NPC's de batalha espalhados pelo mapa. Imagens Vídeos - New Pokédex | Pokémon LifeBar Página no Facebook: Pokémon Online Equipe Oficial - OrochiElf - TioSan Colaboradores - GabrielTXU1 ponto -
AVISO* CASO QUERIA ACHAR RAPIDO UMA PARTE ESPECIFICA, UTILIZE CTRL+F PARA A PROCURA RAPIDA para isso Criei um pequeno Sumário Olá galera. SUMARIO Introdução......................................................................................................................................1.0 Entendendo sua internet.................................................................................................................1 Distribuição dos IPS...............................................................................................................................1.1.2 meu IP / IP's..........................................................................................................1.1.3 Porque meu Servidor nao fica ONLINE ................................................................1.1.4. Criando IP FIXO ........................................................................................................... 1.1.5. Bugs.......................................................................................... 2.0 Entendendo o config.lua ..................................................................... 2.2.1 IntroduçãoEstou criando este pequeno tutorial por alguns motivos. Um deles é que a maioria dos que já estão por ai tem muitos termos técnicos que dá até medo de ler, o problema é que como há muito copiar-colar pela net, o pessoal nem ao menos se dá o luxo de verificar se o que se está escrevendo é certo ou não. Outro bom motivo é que na maioria o autor para no meio do post, manda você fazer uns malabarismos pulando tantas partes e parece que nem ele mesmo sabe o que esta fazendo. Vou tentar resolver alguns desses problemas com esse único tópico. 1. Entendendo sua Internet Antes de começar, precisamos entender o mais importante sobre colocar um servidor online. A nossa internet. Muitos acham que acessar o Facebook é ter todo conhecimento que se precisa sobre a internet para ter um servidor online ou mesmo ter algum outro recurso interessante, mas na verdade estão totalmente enganados. Para ter recursos mais específicos pela internet é preciso conhecimentos técnicos que vai além do conhecimento leigo que muitos têm, e um deles é o bom entendimento da comunicação e funcionamento de redes de computadores. 1.1.2. Distribuição dos IP's Como a maioria dos tutoriais que vejo por ai me arrepiam com esse assunto, vou começar por ele. Sabemos que quando nos conectamos na internet pode haver dois tipos de distribuição de IPs O fixo (estático, IP que não muda nunca) e o dinâmico(IP que muda toda hora que você desconecta e se conecta novamente). Isso acontece por que não existem endereços IP suficiente para todos dentro da internet então se fosse distribuído IP fixo para cada pessoa, os que viriam a acessar a rede mais para frente não poderiam ter o acesso já que todos os IPs estariam em uso e em uma rede de computador não pode haver dois IPs iguais (Na verdade se todas as pessoas tentarem se conectar ao mesmo tempo não haverá endereço IP suficiente para serem distribuídos, eles vem tentar resolver isso com o iPV6). Por esse motivo que se distribui IP dinâmico para se acessar a internet. Toda vez que acontecer uma desconexão somente por uma grande coincidência se obterá o mesmo endereço IP que tinha anteriormente. Como toda a rede de computador é baseada em pontos com endereços imutáveis também há a distribuição dos IPS fixos (estáticos), esse caso é muito importante, imagine só você ter que ir a um banco pagar uma conta e toda hora ele estiver com um endereço diferente, como saberíamos aonde ir? Nesse caso, pontos específicos da internet possuem um endereço FIXO para que os programas saibam procurar por recursos, por um exemplo, quando você digita um endereço no navegador, www.seila.com, como você acha que o navegador encontra o site ? Funciona mais ou menos assim. Ele tem no código dele o IP de um servidor que contem o inicio de toda a amarração de onde se encontram os sites da internet, então o navegador vai até esse endereço IP e pergunta "olha, estou procurando site seila.com" como encontro ele? Nesse momento esse servidor passa o endereço IP que também é fixo do próximo servidor que vai passando os endereços de outros servidores e vai te redirecionando até encontrar o site que você procura, imagine se por algum equivoco esse endereço IP mudar? A INTERNET PARA!!!! 1.1.3. meu IP / IP's ou logo ao ponto! O que quero mostrar aqui é o seguinte, ou você tem um IP FIXO que é caro, ou você tem um dinâmico que é o normal. Não existe esse negocio de "COMO CRIAR UM SERVIDOR OT COM IP FIXO"!!!!! Isso é BESTEIRA, se o seu IP é dinâmico e você não esta pagando um fixo então ele é DINÂMICO, não tem macumba nesse mundo que faça um IP dinâmico virar fixo sem desembolsar uns R$200 por mês! O Nome correto para essa baboseira que se vê por ai pode ser um monte de coisas uma delas é. “COMO CRIAR UM OT COM URL FIXA PARA REDIRECIONAR PARA O SEU SERVIDOR!” Pois é isso que acontece, o cara quando digita meuserver.seilaoque.com:7171 o que vai acontecer é o seguinte, Você com certeza se inscreveu em um desses sites de redirecionamento e instalou o programa que eles pedem para ser instalado, ai toda X que o seu IP mudar esse programa vai se conectar no site e atualizar a URL que você escolheu para ser redirecionada ao seu IP , quando alguém tentar conectar no servidor OT em meuserver.seilaoque.com:7171 o site vai enviar uma mensagem a para o cliente falando, cara acessa esse IP aqui (o IP que estiver na base do site) que você consegue a conexão, e então o cliente acessa o SEU IP QUE É DINÂMICO. 1.1.4. Porque meu Servidor nao fica ONLINE ? Apos toda essa explicação aula dá para tentar explicar por que o OT não fica ON. Primeiramente, acho que todos os modens que vem das operadoras de internet estão em modo ROTEADOR (ROUTER). Sabendo se isso, vamos pensar um pouco no processo. Primeiro Carregamos nosso OT certo? Após toda a carga, abrimos o cliente e usamos o ipchanger nele (fazemos isso pois como expliquei no inicio, programas precisam saber o endereço IP Fixo dos locais para se conectar, e ele nada mais muda um IP fixo dentro do cliente para o IP do servidor que você vai se conectar) trocado o IP que geralmente colocamos 127.0.0.1 (Não importa o IP da sua rede, esse IP sempre indica o IP da maquina atual por padrão do protocolo TCP/IP), clicamos em Login e vemos nosso boneco logado no servidor correto? Ai, o que pensamos em fazer? Corremos no meuip.com e copiamos o nosso IP que aparece lá, distribuímos para todos os nossos amigos ficamos todos naquela ansiedade, e quando todos clicam em Logar no server vem aquela decepção. MAS QQ HOUVE?? QQ Houve é que você distribuiu O IP DO SEU MODEM MAS O SEU OT ESTÁ RODANDO NO IP DA SUA REDE INTERNA!!!!!!!!!!! O modem não esta esperando nenhuma comunicação na porta 7171, entendeu? Mesmo você acessando do seu PC qualquer que seja o endereço pela NET e você ver as conexões acontecendo, todas essas conexões aconteceram PQ o outro lado estava esperando uma conexao, você ligar um servidor no seu PC não vai falar para o MODEM, Ow idiota, to com um servidor ligado aqui, quando alguém chamar ai na porta 7171 é para você vir até esse PC. Para que isso aconteça, precisa-se falar para o MODEM o que você que. -Jumento, se alguém bater ai procurando a porta 7171, por favor, redirecione para o IP blablabla porta blabla. Como fazer isso. Bem, ai você precisa fazer sua correria, cada modem tem um nome ou opção e para isso o melhor é pegar o modelo dele e puxar o manual. Geralmente na opção NAT, ou na opção Virtual Server, Port Forward alguma coisa assim. O que se precisa fazer é sempre criar uma configuração nova e escolher um nome para essa configuração depois configurar os parâmetros. Eu geralmente coloco OT ou quando rodo varias instancias de OT coloco OT7171 OT8181, ou sei lá o que, você escolhe o que quiser. Após isso, ele vai pedir as portas iniciais e finais, aqui você também precisa colocar de acordo com o seu OT, e IP o ip da maquina que está o OT dentro da sua rede, se o seu OT estiver em 192.168.0.14 coloca 192.168.0.14, MAS NUNCA COLOQUE 127.0.0.1 pq nesse caso seria o IP do próprio MODEM. Tendo entendido tudo isso procure o manual do seu MODEM leia umas 500Xs estude cada item dele atenciosamente ENTENDA TUDO DELE, vire um mestre de configurações de seu modem ai você já estará apto a fazer qualquer um se conectar no seu OT e até mesmo teleportar pessoas. 1.1.5. Criando IP FIXO Como disse, isso pode ter um monte de nomes (menos o que está logo à cima). COMO CRIAR UM OT COM URL FIXA PARA REDIRECIONAR PARA O SEU SERVIDOR! COMO CRIAR UM REDIRECIONAMENTO FIXO PARA SEU OT! EU NÂO VOU FALAR MAIS JUMENTISSE!! COMO TER UM ENDEREÇO ETERNO PARA SEU OT!! QQ COISA JESUIS!!!! Essa parte é baba. Primeiramente precisa procurar na internet por "dynamic dns free" ou alguma coisa assim. Alguns que eu geralmente usava são os: dyndns, o no-ip e o cjb.net Encontrando um de seu gosto, é só ver se ele tem algum programa que monitora a mudança de IP, se cadastre, crie um domínio gratuito, baixar e instalar o programa rode-o em sua máquina e configure colocando sua senha e login, ele vai ficar atualizando o seu IP no servidor dos caras de tempo em tempo e já era. 2. BUGS!!! Acabamos de escolher uma distribuição, baixamos os arquivos e quando rodamos a primeira X, vem uma mensagem blablabla erro blablaba. Vontade de jogar tudo na parede é a menor nessas horas. Vamos entender por que deu esses erros. Quando se desenvolve um programa, geralmente a linguagem de programação que se usa não possui todos os recursos já disponíveis de antemão que precisamos para o programa ficar completo, ela pode até dar toda a capacidade que se precise más nem sempre já está disponível, ai precisamos escrever mais e mais códigos, geralmente algumas pessoas se dão o trabalho de não criar programas, mas sim bibliotecas com funções já prontas dentro delas, o que acontece é que se você sabe que a função que se quer usar existe em uma biblioteca pronta, geralmente se usa essa biblioteca, e quando outras pessoas vão rodar o programa e no computador está faltando a biblioteca, o Windows avisa acusando o erro, outro problema que se acontece é o seguinte, a mesma linguagem de programação que usamos para desenvolver um programa possui tantas funções internas que se o compilador fosse colocar tudo dentro do nosso programa ele ia ficar com uns 200 Megas só o executável, então essas funções também vem dentro de bibliotecas, por esse motivo quando se cria um programa geralmente ele usa os recursos de algo que chamamos de “RUNTIME Library” que nada mais é que um montão de arquivos DLL’s que ficam na pasta System do Windows. No mesmo caso se dentro do computador que você vai rodar o OT não contiver o RUNTIME da linguagem de programação que ele foi feito o Windows vai reclamar. Os erros mais comuns que se acontece na hora de rodar um OT são os seguintes BlaBlaBla luaxxx.dll -> Nesse caso o Windows está avisando que quem fez o OT usou a biblioteca Lua, e que ele não está encontrando-a, o mais apropriado a se fazer nesse caso é entrar no site do criador do Lua e baixar a versão que se pede BlaBlaBlla MSVCP blablabla.dll -> Esse erro depende muito, pode ser outro nome ali, geralmente isso está relacionado a falta do RUNTIME do Visual C++ onde MS significa Microsoft, VCP significa Visual C Plus(eu acho que é isso) e o resto é a versão, por exemplo se no blablabla estiver 120 é a versão 12.0 ai é sou buscar no google como “RUNTIME Library VC 12” ou melhor ainda “Download Visual C++ Redistributable 12”, lembre se, seja experto e baixe somente se aparecer o Link da Microsoft. O grande problema do erro a cima é que se o OT tiver sido compilado com um C++ de outra empresa, o erro será outro ai você vai ter que ficar esperto nisso. Com essa primeira parte dos bugs corrigidos podemos ir para a segunda parte de Bugs. Geralmente nos OT existem duas tipos de bugs, os que o Windows avisa que nesse caso geralmente acontece por falta de arquivos e bibliotecas e esses erros conseguimos identificar pois aparecem janelinhas de erro do próprio Windows e os erros internos do próprio OT que nesse caso a maioria dos erros estão relacionados a configuração que o servidor precise para carregar e geralmente são mostrados no console do OT, essas configurações são diversas e as mais comuns estão relacionadas ao carregamento do MAPA e a conexão com a base de dados. Entendam que LÊR é primordial para tudo, se aparecer uma mensagem e você tiver paciência de entender essa mensagem com certeza vai resolver o problema. MySQL blablabla-> Esse é um tipo de erro que com certeza vai te frustrar muito, e serão dezenas e dezenas de milhares de vezes então se quer ser um SUPREMO EXCELENTE ADM de OT dominar o conhecimento da base de dados que ele utiliza é primordial. Mas o que é esse tal de MySQL, para entender isso você precisa entender o seguinte Seu OT terá varias contas de usuários e vários itens para esses usuários, e você terá que deixar isso guardado em algum lugar para que eles possam ter acesso aos itens sempre que quiserem, guardar tudo isso de uma forma segura e pratica teria que ser desenvolvido mais código da parte dos desenvolvedores dos OT, para economizar tempo eles optaram por utilizar sistemas já prontos de bancos de dados e uma das opções se chama MySQL entenda então que o MySQL é o cara que vai tomar conta de todos os dados que o seu OT precisa guardar para ser lembrado mais tarde, dês de os itens dos usuários do seu servidor até mesmo a senha e login deles. Sabendo isso vamos aos erros. MySQL blablabla Cant Connect blablabla -> Esse problema acontece por que o MySQl é um programa a parte e para que o OT possa se conectar com os dados no MySQL é preciso instalar ele na máquina sua instalação e uso foge de nosso escopo. MySQL blablabla Access denied blablabla -> O fato de o MySQL estar instalado na máquina não significa que o OT conseguirá se conectar a ele, isso acontece pelo motivo que o MySQL também é um servidor, mas nesse caso um servidor de base de dados, e como empresas o utilizam para manter dados de clientes e mesmo outros tipos de dados que são restritos a apenas uma parte de pessoas os Servidores de Dados precisam dar confiança e segurança, uma delas é negar acessos não autorizados, toda instalação que se faz do MySQL é gerado o usuário Administrador, por padrão esse usuário tem o nome de root, e sempre é pedido uma senha para esse usuário, com essa conta de usuário vc é capaz de criar outros usuários e também novas tabelas para o MySQL, então precisamos configurar o OT para ele se conectar com o servidor de dados, uma coisa legal do OT é que ele tem um arquivo de configuração chamado config.lua e é de extrema responsabilidade do ADM dominar toda a configuração desse arquivo. Vamos utilizar esse arquivo para configurar a conexão com o servidor de dados. Abrindo o config.lua em um editor de sua preferencia vc precisa encontrar os seguintes itens: “mysqlHost” ,”mysqlUser”,”mysqlPass”,”mysqlDatabase”,”mysqlPort”. “mysqlHost” : Corresponde ao IP ou url de onde se encontra hospedado o servidor MySQL, se for na mesma maquina onde se encontra o OT basta colocar 127.0.0.1. ”mysqlUser”: Corresponde ao nome de usuário MySQL que vai ser utilizado para o OT se conectar ao MySQL, geralmente o pessoal usa o usuário root, mas bons administradores de Servidores de Dados cria um novo usuário com acesso a apenas a base que o OT vai se conectar. ”mysqlPass”: Esse item é a senha do usuário que se vai conectar ao MySQL ”mysqlDatabase”: Base de dados ou “Schema” que o seu OT utiliza para acessar as tabelas. ”mysqlPort” : Na hora que se instala o OT pede-se uma porta de acesso, essa porta geralmente é 3306 Normalmente o seu config.lua na parte de acesso a servidor MySQL deve ficar assim mysqlHost = "127.0.0.1" mysqlUser = "root" mysqlPass = "senha" mysqlDatabase = "otServer"<-no meu caso é esse mas vc pode colocar aqui de acordo com onde suas tabelas vão estar no servidor MySQL. mysqlPort = 3306 mysqlSock = "" MySQL blablabla Unknow database -> Lembra dessa configuração mysqlDatabase = “otServer” então no config.lua vc está falando para o seu OT que a base de dados que vai usar para guardas as tabelas e dados do sevidor é “otServer” e se esse erro está acontecendo é pelo motivo de que vc não criou ainda essa tabela no MySQL. Vamos cria-la, acesso o prompt do Windows (digitando cmd em procurar ou Prompt de Comando em Acessórios) e digite mysql –uUsuarioAdministradorDoMysql –pSenhadoUsuario[ENTER](isso vai fazer vc acessar o console do Mysql e fique ligado nos espaços). Você vai ver que o prmpt vai ficar “mysql>”. Digite o seguinte comando: CREATE DATABASE `otserver` /*!40100 DEFAULT CHARACTER SET utf8 */;[ENTER] Terá que aparecer algo mais ou menos assim: Query OK, 1 row affected (0.00 sec). The database you have specified in config.lua is empty->Apesar de esse erro não estar especificando o MySQL o erro ainda está acontecendo por causa dele. Mesmo tendo se criado a base de dados ainda é preciso criar as tabelas, note que mais para frente ao erro está “please import the schema.sql to your database”. Geralmente a distro que vc pega tem um arquivo chamado schema.sql e nela está contido todo o script SQL para se criar as tabelas. Para ficar mais fácil crie na raiz de sua unidade C: um diretório temporário e coloque o arquivo schema.sql nesse diretório no meu caso criei o diretório otMysql. Acesse novamente o prompt do Windows e digite cd\diretorio que vc criou e colocou o arquivo schema.sql, no meu caso cd\otMysql[ENTER] acesse novamente o console do mysql. Quando estiver no console do mysql digite o seguinte, use nomeDasuaTabela, no meu caso use otserver[ENTER], note que esse comando vai fazer vc mudar da base de dados seja lá qual vc esteja para a base de dados onde vamos criar as tabelas para o nosso OT, se aparecer Database changed, o comando foi aceito com sucesso. Para ter certeza de que vc esteja na base de dados certa digite o comando status[ENTER] Na lista que aparecer procure pelo item Current database: se for o nome da tabela do seu OT está certo. Agora vamos executar os scripts SQL que está no arquivo. Digite \. schema.sql(ou o nome do seu arquivo que contém os scripts para criação das tabelas ) note que” \.” é o comando e o resto é o nome do arquivo(de atenção ao espaço digitado entre \. E o nome do arquivo). Vão aparecer várias linhas iguais a essa: Query OK, 0 rows affected (0.02 sec), aguarde até que todas as tabelas tenham sido criadas. Esses são os erros mais comuns que temos quando geralmente estamos criando um servidor do zero. 2.2.1 Entendendo o config.luaIp-> Aqui vamos colocar o IP de seu servidor se vc for rodar o servidor apenas para uma rede interna então coloque aqui o ip da máquina, se ele for 192.168.0.3 então coloque ip = "192.168.0.3", se vc for rodar ele para que seja acessado de pessoas externamente, aqui precisa colocar o seu IP público(IP DO SEU MODEM) mas se vc estive usando redirecionamento de url tipo blablabla.meuserver.com então vc precisa colocar sua url aqui e ai ficaria ip=” blablabla.meuserver.com” loginProtocolPort e statusProtocolPort-> precisam ser a mesma porta, por padrão essas portas são 7171 e é a porta que vc fornece para os seus amigos junto com o ip, não se esqueça de liberar a porta no modem. gameProtocolPort-> também é um numero de uma porta, por padrão o pessoal usa 7172 pode ser qualquer uma e também não se esqueça de liberar no modem. mapName -> Aqui você específica o nome do arquivo do mapa do seu OT e o mapa precisa estar dentro do sub diretório world no diretório data, no meu caso mapName = "Xedegux". Créditos : Mudrock1 ponto
-
[Show Off] RetornoDeLaug
Qwizer reagiu a RetornoDeLaug por um tópico no fórum
RetornoDeLaug Estagiário SLAYER EDITADO ----- ----- -----1 ponto -
POKEMON DASH REVOLUTION - PDR PROJETO
cleiodmiro reagiu a valakas por um tópico no fórum
OLA GALERA EU VIM AQUI HOJE INFORMAR QUE EU E MEU GRUPO ESTAMOS ENVOLVIDOS EM UM NOVO PROJETO DE POKEMON, o Pokemon Dash Revolution já temos grupo formado e cada um com sua função. estamos aceitando feedback ^^ System print1 ponto -
Ola pessoal do Xtibia, venho apresentar um futuro projeto meu iniciado hoje dia 15/04/2015 que é nada mais que um gesior totalmente simples e prático sem qualquer erro.. o Projeto pode demorar um pouco mas garanto que ficara muito criativo e chamativo e FUNCIONAL Painel 1.0.0 DE INSTALAÇÃO DO GESIOR ( BETA ) *O mesmo só possuí uma pequena base ainda, poucas funções estou arrumando aos poucos.. Próxima atualização em breve..1 ponto
-
—» Minhas Fotografias via Mobile
Newnotwen reagiu a firejaspion por um tópico no fórum
Então galera, meu nome é Daniel Baptista, sou um jogador de tibia e minha profissão é Designer Gráfico e Fotógrafo, Vou postar um pouco das minhas fotos aqui emitida pelo meu celular pessoal no meu dia a dia e espero que vocês gostem, se quiserem dicas de fotos é so falar que estarei respondendo voces!1 ponto -
[Encerrado]Empire Server [10.43 - 10.71]
TarciisioFilho reagiu a Qwizer por um tópico no fórum
Nice, same team version 7x?1 ponto -
abrir 2 sites
Administrador reagiu a lol08 por uma questão
diferente do tibia king que vc passa 1 mes para receber ajuda1 ponto -
abrir 2 sites
Avuenja reagiu a Piabeta Kun por uma questão
ou simplesmente voce coloca os 2 sites em pastas nomeadas diferentes e os instala normalmente, como isso vai funcionar, voce vai por exemplo por no site do server de tibia normal voce coloca o nome de pasta site, instalando ele voce acessa com o seuip.com/site e o de pokemon coloca na pasta poke por exemplos e instala ele normal e abre o site seuip.com/poke pronto 2 sites no mesmo xampp sem muita gambiarra! voce pode usar tbm quantas dns quiser para o mesmo ip, por exemplo dns do no-ip, voce cria 2 dns, uma chamada pokemon2.servegame.com e um por exemplo meutibia.servegame.com ai basta acessar ambos que vao dar no mesmo ip, assim ficando por exemplo: meutibi.servegame.com/site e o de pokemon ficando pokemon2.servegame.com/poke bj nas crianças!1 ponto -
Quest Simples
narutomaniacos reagiu a zipter98 por uma questão
Action: local config = { time = 10, --Tempo para fazer a quest, em minutos. toPosition = {x = x, y = y, z = z}, --Para onde os jogadores serão teleportados. positions = { {x = x, y = y, z = z}, --Posições que os jogadores devem ficar. {x = x, y = y, z = z}, {x = x, y = y, z = z}, {x = x, y = y, z = z}, }, level = 100, --Level mínimo para fazer a quest. storages = {8605, 8606}, } function onUse(cid) local pid = {} if getPlayerStorageValue(cid, config.storages[2]) > -1 then return doPlayerSendCancel(cid, "You already completed that quest.") end for _, online in pairs(getPlayersOnline()) do if getPlayerStorageValue(online, config.storages[1]) > -1 then return doPlayerSendCancel(cid, "Someone is at the quest right now.") end end for i, position in pairs(config.positions) do local p = getTopCreature(position).uid if p < 1 or not isPlayer(p) then return doPlayerSendCancel(cid, "Not enough players to start the quest.") elseif getPlayerLevel(p) < config.level then return doPlayerSendCancel(cid, "Some player is at a level below "..config.level..".") end pid[#pid + 1] = p end for _, player in pairs(pid) do doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, "Good luck at the quest!\nTime: "..config.time.." minutes.") doTeleportThing(player, getClosestFreeTile(player, config.toPosition)) setPlayerStorageValue(player, config.storages[1], 1) end addEvent(function() for _, player in pairs(pid) do if isPlayer(player) and getPlayerStorageValue(player, config.storages[1]) > -1 then doPlayerSendTextMessage(player, 27, "Oh, timeout. Sorry. :/") setPlayerStorageValue(player, config.storages[1], -1) doTeleportThing(player, getTownTemplePosition(getPlayerTown(player))) end end end, config.time * 60 * 1000) return true end Tag: <action actionid="xxx" event="script" value="nome_do_arquivo.lua"/> Troque xxx pelo actionid. Creaturescript: function onLogout(cid) if getPlayerStorageValue(cid, 8605) > -1 then return doPlayerSendCancel(cid, "You can't logout on the quest.") and false end return true end function onLogin(cid) if getPlayerStorageValue(cid, 8605) > -1 then setPlayerStorageValue(cid, 8605, -1) end return true end Tags: <event type="logout" name="questLogout" event="script" value="nome_do_arquivo.lua"/> <event type="login" name="questLogin" event="script" value="nome_do_arquivo.lua"/> Em data/creaturescripts/scripts, abra o arquivo exp2.0.lua. Acima de: if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then Coloque: if getPlayerStorageValue(cid, 8605) > -1 then for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 8605) > -1 then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doPlayerSendTextMessage(pid, 27, "Someone died and you lost the quest. Better luck on the next time!") setPlayerStorageValue(pid, 8605, -1) end end doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false end No código de premiação da quest, coloque as seguintes linhas: setPlayerStorageValue(cid, 8605, -1) setPlayerStorageValue(cid, 8606, 1)1 ponto -
[Pedido] Dicas para elaborar botões para site
Administrador reagiu a Mudrock por uma questão
Essa bordas são imagens em .png que não possui fundos, Simplesmente é feito a lista preta e colocado 2 imagens de pergaminhos nos lados esquerdo e direito, básico do photoshop1 ponto -
abrir 2 sites
Administrador reagiu a Mudrock por uma questão
é só você fazer como o Bruno falou, abrir um Sub-Dominio no seu xampp www.seusite.com www.seusite2.com1 ponto -
xTibia, o RETORNO!
Administrador reagiu a Bruniin Henrique por um tópico no fórum
Cheguei Com Tudo quando fui la no google tava escrito Xtibia Voltou ;3 GOGOGOGO Estou anciso pra ve as coisa novas1 ponto -
1 ponto
-
abrir 2 sites
Administrador reagiu a Bruno por uma questão
1. Abra o arquivo 'httpd.conf' em 'C:\xampp\apache\conf' em Altere: # Virtual hosts #Include "conf/extra/httpd-vhosts.conf"Para: # Virtual hosts Include "conf/extra/httpd-vhosts.conf"apenas remova o '#' do começo da linha 2. Agora abra o arquivo 'httpd-vhosts.conf' em 'C:\xampp\apache\conf\extra' e adicione as seguintes linhas: <VirtualHost *:80> ServerAdmin postmaster@host.localhost DocumentRoot "C:/xampp/htdocs" ServerName localhost ServerAlias www.localhost ErrorLog "logs/host.localhost-error.log" CustomLog "logs/host.localhost-access.log" combined </VirtualHost> <VirtualHost *:80> ServerAdmin postmaster@siteum.localhost DocumentRoot "C:/xampp/htdocs/drupal" ServerName siteum.localhost ServerAlias www.siteum.localhost ErrorLog "logs/siteum.localhost-error.log" CustomLog "logs/siteum.localhost-access.log" combined </VirtualHost> <VirtualHost *:80> ServerAdmin postmaster@sitedois.localhost DocumentRoot "C:/xampp/htdocs/drupal" ServerName sitedois.localhost ServerAlias www.sitedois.localhost ErrorLog "logs/sitedois.localhost-error.log" CustomLog "logs/sitedois.localhost-access.log" combined </VirtualHost> 3. Reinicie todos os serviços 4. Agora em 'WINDOWS\system32\drivers\etc\hosts' adicione as seguintes linhas: 127.0.0.1 siteum.localhost 127.0.0.1 sitedois.localhost 127.0.0.1 www.sitedois.localhost 127.0.0.1 www.sitedois.localhost 5. Agora faça o download do 'Drupal 7 (recomendado)' e crie um diretório chamado 'drupal' em 'C:\xampp\htdocs\' e coloque todo o conteúdo do download do Drupal 7 (incluindo a estrutura da pasta e seu conteúdo) neste novo diretório.Você pode encontrar, por exemplo, o arquivo 'C:\xampp\htdocs\drupal\sites\default\default.settings.php', que é o site 'default' criado pelo drupal. 6. Crie os diretórios de seus sites: a.) siteum.localhost e b.) sitedois.localhost em 'C:\xampp\htdocs\drupal\sites\' 7. Crie duas databases para seus dois sites do Drupal (com os nomes siteum e sitedois por exemplo) usando http://127.0.0.1/phpmyadmin/ 8. Abra as Urls a.) http://siteum.localhost/ e b.) http://sitedois.localhost/ e siga com o processo de instalação do Drupal. 9. Agora a instalação está feita, seus sites são: a.) http://siteum.localhost/ e b.) http://sitedois.localhost/ Espero ter ajudado!1 ponto -
abrir 2 sites
Administrador reagiu a Wend ll por uma questão
vai em Htdocs cria uma pasta site e joga todo seu site pra pasta site e na pasta Htdocs do xampp você coloca a entrada que deseja essa voçê vai ter que editar os links e as imagens mais isso e facil so procurar os programinhas e prontin mais os links da entrada terão que estar assim Ex: seulink.no-ip.biz/site (site) e a pasta que ta o seu site . ai dps ta pronto pra usar.1 ponto -
Eai Pessoal! Td Okay?? Estou aqui com uns scripts de domar duas montarias! Estou com o Script de domar a Uniwheel e a Tinlizzard! Eu Testei no Alissow 5.0 e Funcionou! Acredito que funcione em outras versões também! Funciona em Versão 8.70++ Vamos Parar de BláBláBlá e começar o tutorial! Uniwheel Script Crie um Arquivo em data/actions/scripts Chamado uniwheel.lua e Cole Isto Dentro! function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 13938 and itemEx.itemid == 13937 then doSendMagicEffect(fromPosition, CONST_ME_MAGIC_BLUE) doPlayerAddMount(cid, 15) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Inoperative Uniwheel ativado com sucesso!") else doSendMagicEffect(toPosition, CONST_ME_POFF) end end E em actions.xml adicione isto: <action itemid="13938;13937" script="uniwheel.lua"/> Tinlizzard Crie um Arquivo em data/actions/scripts Chamado tinlizzard.lua e Cole Isto Dentro! function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 13292 and itemEx.itemid == 13306 then doSendMagicEffect(fromPosition, CONST_ME_MAGIC_BLUE) doPlayerAddMount(cid, 8) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Tin Lizzard ativado com sucesso!") else doSendMagicEffect(toPosition, CONST_ME_POFF) end end Agora Em Actions.xml Adicione isto: <action itemid="13292;13306" script="tinlizzard.lua"/> Pronto!!! Agora o Script Esta Pronto! Creditos 20% Zet0N0Murmurou - Por eu Ter dado uma Editada bem Pequena e Por Criar o Tópico! 80% unknown - Por ter Criado o Script - Não Sei quem é o Criador! Mas Boa parte dos créditos é dele!1 ponto
-
Eai Pessoal! Td Okay?? Estou aqui com uns scripts de domar Algumas montarias! Eu Postei o Script de Domar a Uniwheel e a Tinlizzard! Eu testei este script no alissow 5.0 e funcionou direitinho! acredito que funcione em outras versões! Funciona em Versões de tibia 8.70+ Pronto Vamos Parar de Besterou e Começar! Em Data/Actions/Scripts Crie um Arquivo Chamado mounts.lua e Adicione Isto Dentro: E em Actions.xml Adicione Isto : Pronto! Creditos Zet0N0Murmurou - Por Editar Muito o Script e Fazer o Tópico Unknown - Autor Disconhecido mas os creditos vão a "ele" por ter criado o script!1 ponto
-
Acho que poderá ajudar:1 ponto
-
Duvida no RME. Help fast plx
oONooBZinhOo reagiu a Administrador por uma questão
Suba no outro andar, mantenha o crtl + shit pressionado e selecione. depois que selecionou todos os andares aperte ctrl + C. Cole o mapa no mesmo andar que copiou.1 ponto -
Pop Up de Propaganda
HeelNox reagiu a Piabeta Kun por uma questão
eu nao uso site que sao basicamente html, eu costumo usar sites em full php com html embutido, e sempre coloco como voce tinha colocado fora de todas tags, eu to muito enferrujado com html porem como eu disse onde teria que mudar a posição era la na linha que citei por ultimo, se alguem ai mais atualizado e ativo com html ajudar ta tudo certo, mais eu to mo sem pratica...1 ponto -
(Pedido) Qualquer sprite medieval !
CalistoKing reagiu a underewarr por uma questão
Algumas aqui os creditos estao logo a baixo Creditos.Gasparisio,MadoxSilver1 ponto -
Pode ser usado também o StepOut... Coloca a action no sqm de chão e uma verificação no toPos pra ver se o chão é o tal 459... [EDIT] Tag no movements.xml <movevent type="StepOut" actionid="4170" event="script" value="caindo.lua"/> caindo.lua function onStepOut(cid, item, toPosition, fromPosition) if getThingFromPos(toPosition).itemid == 459 then doPlayerAddHealth(cid, -1) end end [EDIT²] Creio que o script pode ser feito também sem o uso de um sqm com esse item 459, ficaria assim function onStepOut(cid, item, toPosition, fromPosition) if not getThingFromPos(toPosition).itemid == 0 then doPlayerAddHealth(cid, -1) end end [EDIT³] O comando 'getThingFromPos' não pega o id do chão... Se alguem descolar o comando que pega... Não sei se será necessário editar algo nas sources pra adicionar um "getTitleByPos" (pelo menos em base dash não pegou o id do chão) [EDIT4] Encontrei uma função interessante em um servidor antigo de poketibia... function getSqmId(pos,t)-- Script by mock if hasSqm(pos) or t then pos.stackpos = 0 local i = getTileThingByPos(pos) return i end return nil end Então, ficaria assim [necessitando dos sqm em volta com o id 459] Tag no movements.xml <movevent type="StepOut" actionid="4170" event="script" value="caindo.lua"/> caindo.lua function getSqmId(pos,t)-- Script by mock if hasSqm(pos) or t then pos.stackpos = 0 local i = getTileThingByPos(pos) return i end return {itemid = 0} --Editado pra não dar erro ali em baixo end function onStepOut(cid, item, toPosition, fromPosition) if getThingFromPos(toPosition).itemid == 459 then doPlayerAddHealth(cid, -1) end end1 ponto
-
Minhas fotografias [iPhone]
Newnotwen reagiu a Alexclusive por um tópico no fórum
haha tenho algumas ne? Olha essa que tirei ano passado em um show aéreo que tem aqui todo ano.1 ponto -
Entendendo scripts da Pasta Data Nessa Serie de Tutoriais vou explicar e faze-los entender a base dos scripts em lua e xml. Desde você que não sabe nada de scripts e você que está num estagio médio A idéia aqui é você aprender e saber o que e não pode fazer, já que a criatividade é sua parte Esses tutoriais serão divididos em 14 partes, começando a explicar o if, else até os esquemas mais avançados. A vantagem daqui é que você poderá testar seus scripts no otserver e sabendo o que deve fazer fica mais fácil do que fazer coisas a esmo... Lembrando que você não ficará expert em LUA e sim em scripts de Otserver. Links em negrito já estão prontos ! A divisão é : Tutoriais Parte I – Básico do básico de Lua Parte II – Funções Lua Parte III - Monstros Parte IV - Raids Parte V - Intermediario de Lua Parte VI - Spells e suas grandes funções Parte VII – Actions Parte VIII – Movements Parte IX – A magia dos NPCS Parte X – Mega Quests Parte XI – Itens e grandes idéias Parte XII – Vocations e outfits Parte XIII –Sqlite no Forgotten Server Provas : Prova I - Script em Actions Tutoriais baseados no The Forgotten Server 0.3.0 Alpha 4 +. Use essa que por enquanto é a melhor distro disponivel Um pouco sabe os tutoriais não feitos: Talk Actions : Será um grande tutorial ensinando como utilizar a maravilha das talk actions. Mega Quests: Ensinará a fazer quests que incluem actions, movements,npcs, talk actions e algumas ideias e possibilidades. Darei como exemplo a segunda maior quest do meu ot caseiro. E ainda um tutorial completo de como usar o Quest Log. items e Grandes ideias: Ensinará como criar novas armas, itens para quest, tudo isso simples e facil, o que fará de seu ot muito especial. Poderá e haverá mais coisas que na hora lembrarei. Isso é só um aperitivo1 ponto