Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 12/19/12 em todas áreas
-
Aulas Básicas Com O Sr. Iunix: 3# Variáveis e Tipos de dados.
Tava sem ideia e um outro reagiu a iunix por um tópico no fórum
Olá abiguinhos, venho aqui mais uma vez dar uma aula para meus grandes amigos ♥. Variáveis O que são variáveis? Para o que elas servem? Como usa-las? Quais os tipos de variáveis? O que são variáveis? Vamos imaginar variáveis como um lugar onde você pode armazenar qualquer valor e mudar isso quando quiser. Isso é o conceito básico de variáveis. Mas para o que isso serve? Suponhamos que você precise pegar o level do player: getPlayerLevel(cid) várias vezes no código. E para evitar isso, você gostaria de ter uma maneira mais simples e eficaz de salvar esse level. Para isso servem as variáveis. Como usa-las? Vamos continuar o exemplo a cima. if getPlayerLevel(cid) < 65 then print("O player tem o level menor que 65") elseif getPlayerLevel(cid) == 65 then print("O Player tem level 65") elseif getPlayerLevel(cid) > 65 then print("O player tem level menor que 65") end Isso seria um código sem variáveis. Podem ver que eu usei várias vezes a função "getPlayerLevel(cid)". Vamos tentar fazer usando variáveis. local level = getPlayerLevel(cid) if level < 65 then print("O player tem o level menor que 65") elseif level == 65 then print("O Player tem level 65") elseif level > 65 then print("O player tem level maior que 65") end Viram como ficou um pouco mais simples? Ok, agora vamos entender o que eu fiz. Toda vez que você for criar uma variável, você tem que declarar o valor dela. Mas como fazer isso? Simples, faça isso: local var = value Onde var seria o nome da variável e value o valor da variável. Mas dai você me pergunta: "O que é esse local?". Já chego lá amigo, aguente um pouco xD Porem o nome das variáveis tem algumas regras: 1º - As seguintes palavras não podem ser utilizadas: and break do else elseif end false for function if in local nil not or repeat return then true until while 2º - Não se pode começar um nome com um numero. exemplo: 1variavel = valor (Mas pode conter números) 3º - Não podem conter esses símbolos: + - * / % ^ # == ~= <= >= < > = ( ) { } [ ] ; : , . .. ... Quais valores elas podem conter? (Tipos de Dados) Existem alguns "tipos" de valóres que elas podem conter: String = Texto Number = Numero Bool = True/False Function = Funções (Sim, pode conter funções) Tables = Sim, podem conter tabelas. Userdata = Ponteiros em C (Não iremos usar isso) Thread = Escopo de processamento (Não iremos usar isso também) Nil = Valor nulo, sem valor ou vazio. Mas e aquele "local", o que significa? Bom, esse local significa que a variável é local desse arquivo. Isso é um tanto quanto irrelevante em otserver, já que ele não consegue pegar variáveis de outros scripts (Só em libs, que se você declarar uma variável como local em alguma lib, ela não será lida em outros códigos). Finalizações Bom, qualquer duvida ou sugestão. Postar abaixo. E se lembrarem de algo que eu esqueci, me avisem (Estou fazendo isso as 8 da manhã e estou sem dormir, meio obvio que deixarei algo passar.2 pontos -
Classic Premium v2
rayzinhoxd e um outro reagiu a Roksas por um tópico no fórum
» CLASSIC PREMIUM V2 ! « Versão Testada: TFS 0.3.6: 8.60 Opa galera, esse é mais um tópico meu, agora de Estagiário :)) Neste tópico irei apresentar-lhes o Classic Premium v2, que usei algumas coisas de base do Perfect System (by Vodkart), agora contém: • GOD pode checar quantos Premium Days o player tem, pelo comando /checkdays NOMEDOPLAYER • GOD também pode adicionar Premium Days, pelo comando /addpremium NOME, QUANTIDADE • Temos também o comando /removedays NOME, QUANTIDADE que o GOD poderá fazer. • Além disso, temos mais duas novidades, os comandos: !changender e !removeskull, ambos removem 5 Premium Days do player! » Comandos de GOD Vamos lá, primeiramente vá na pasta data/talkactions, crie um arquivo chamadopremiumtalk.lua e adicione isso dentro: function onSay(cid, words, param) local player = getPlayerByName(param) local t = string.explode(param, ",") if words == "/checkdays" then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end return doPlayerPopupFYI(cid, "Player checked have "..getPlayerPremiumDays(player).." days of Premium Account!") end if words == "/addpremium" then local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end doPlayerAddPremiumDays(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You has been added "..tonumber(t[2]).." days of Premium Account to the player! ") doRemoveCreature(player) end if words == "/removedays" then local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end doPlayerRemovePremiumDays(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You has been removed "..tonumber(t[2]).." Premium Account Days of the player!") end return true end E no arquivo talkactions.xml adicione a tag que vêm a seguir: <talkaction words="/addpremium;/removedays;/checkdays" access="4" event="script" value="premiumtalk.lua"/> » Premium Door e Premium Scroll Muito bem, agora na pasta data/actions/scripts, crie um arquivo chamado scroll.lua e adicione isso dentro: local days_gain = 30 -- Dias que ganham function onUse (cid,item,frompos,item2,topos) if not doRemoveItem(item.uid) then return true end doPlayerAddPremiumDays(cid, days_gain) doSendMagicEffect(getCreaturePosition(cid), 14) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de ganhar 30 dias de Premium Account, terá áreas exclusivas e 35% a mais de EXP como benefício!") return true end Crie outro arquivo, mas agora com o nome de premiumdoor.lua e ponha isso dentro: function onUse(cid, item, frompos, item2, topos) if not isPremium(cid) then doPlayerSendTextMessage(cid,22,"Você precisa ter Premium Account para passar!") return false end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, frompos, true) return true end Abra o arquivo actions.xml e adicione essas tags: <action itemid="9004" event="script" value="scroll.lua"/> <action actionid="7779" script="premiumdoor.lua"/> OBS: Para fazer com que a porta seja para Premiums, no seu Map Editor, adicione a seguinte ACTIONID nela: 7779! » Classic Premium Tile Em data/movements/scripts, crie um arquivo chamado premiumtile.lua e adicione isso dentro: function onStepIn(cid, item, position, fromPosition) if not isPremium(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você não tem acesso Premium Account!") doSendMagicEffect(getCreaturePosition(cid), 2) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Bem Vindo á Área Premium!") return true end Ea tag no arquivo movements.xml coloque: <movevent type="StepIn" actionid="19456" event="script" value="premiumtile.lua"/> Para fazer com que apenas Premiums passe pelo piso, adicione a ACTIONID 19456 pelo seu Map Editor no piso! » Classic Mods Na pasta do seu OT, vá na pasta mods, crie um arquivo chamado classic_changender.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <mod name="ChangeSex Classic" version="1.0" author="Roksas" enabled="yes"> <config name="changender_config"><![CDATA[ config = { costPremiumDays = 5 } ]]></config> <talkaction words="!changender" event="buffer"><![CDATA[ domodlib('changender_config') if(getPlayerSex(cid) >= 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem sexo para mudar!") return end if(getPlayerPremiumDays(cid) < config.costPremiumDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, voce nao tem " .. config.costPremiumDays .. " Premium Days necessarios!") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return end if(getPlayerPremiumDays(cid) < 65535) then doPlayerAddPremiumDays(cid, -config.costPremiumDays) end doPlayerSetSex(cid, getPlayerSex(cid) == PLAYERSEX_FEMALE and PLAYERSEX_MALE or PLAYERSEX_FEMALE) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce mudou seu sexo e isso lhe custou " .. config.costPremiumDays .. " days de Premium Account! Relogue para que faca efeito.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) ]]></talkaction> </mod> E crie outro arquivo, mas com o nome de classic_removeskull.xml e adicione isso: <?xml version="1.0" encoding="UTF-8"?> <mod name="Classic Remover" version="1.0" author="Roksas" enabled="yes"> <talkaction words="!removeskull" event="script"><![CDATA[ local noRemove = {SKULL_YELLOW} local playerSkull = getPlayerSkullType(cid) if isInArray(noRemove, playerSkull) then doPlayerSendCancel(cid, "Voce nao pode remover esse tipo de skull.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true elseif playerSkull == SKULL_NONE or getPlayerPremiumDays(cid) < 5 then doPlayerSendCancel(cid, "Voce nao tem skull ou 5 days de Premium Account!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true else db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doPlayerSendTextMessage(cid, 27, "Seus frags,skull e 5 days de Premium Account foram removidos!") doPlayerRemovePremiumDays (cid,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED) doSendAnimatedText(getPlayerPosition(cid), "POFF!", 180) doCreatureSetSkullType(cid,0) doPlayerSetSkullEnd(cid, 0, playerSkull) end return true ]]></talkaction> </mod> » Classic Premium Rates Abra a pasta do seu OT, vá em data/creaturescripts/scripts, adicione um arquivo lá chamado premiumrate.lua e coloque isso dentro dele: function onLogin(cid) local rate = 1.35 local days = getPlayerPremiumDays(cid) if isPremium(cid) then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..((rate - 1)*100).."% de EXP em vantagem, Ainda lhe restam "..days.." dias de Premium!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Tornesse Premium e tenha "..((rate - 1)*100).."% a mais de EXP!") end return true end Agora abra o arquivo login.lua na mesma pasta, procure por um trecho mais ou menos assim: registerCreatureEvent(cid, "kill") registerCreatureEvent(cid, "onPrepareDeath") registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "onPrepareDeath") Ao encontrar, adicione isso no fim ou no começo ou no meio deles: registerCreatureEvent(cid, "ExpVip") Muito bem, agora no arquivo creaturescripts.xml adicione essa tag: <event type="login" name="ExpVip" script="premiumrate.lua"/> Explicando: Para configurar as rates procure por esse trecho no script: local rate = 1.35 O número 35, significa a porcentagem. Ou seja, 35% de Exp Rate em vantagem, ajuste como quiser: 20, 50, 60... Bom galera, isso foi tudo. Espero que tenham gostado da versão v2 do Classic Premium! Aguardo respostas, sugestões e críticas a respeito! Agradeço Vodkart por algumas funções e bases. Encerrarei com algumas ScreenShoots do meu Sistema! Obrigado e BENÇA ) » SCREENSHOOTS2 pontos -
Faaaala pessoal! Tranquilo? Então, estou dando início hoje ao projeto XPERGUNTA. O objetivo do projeto, é saber a necessidade da seção de Design a partir das sugestões/críticas de vocês usuários. Com base nas informações fornecidas por vocês, analisaremos, selecionaremos e colocaremos em prática mudanças que irão beneficiar à todos! Porque aqui quem manda é você, cliente. <risos> Mas para isso, é necessário a sua colaboração! Nos ajude a deixar o xtibia com a sua cara! =p * As pesquisas serão realizadas periodicamente, de forma semanal ou mensal, podendo variar de acordo com o andamento da seção. É isso galerinha! Não deixe de participar e nos enviar seu feedback! Sua participação é muito importante! =p2 pontos
-
2 pontos
-
Fala pessoal! =p Como vocês devem saber, a tipografia é na maioria dos casos, uma dor de cabeça para o designer. Mas, uma maneira eficiente de elaborar/projetar uma boa tipografia, é avaliando outras estruturas e criando seu próprio estilo. Estou criando este tópico com a finalidade de postar modelos que sirvam de inspiração para o seu dia a dia como designer. Vale lembrar, que a utilização de outros recursos além do photoshop também são bem comuns, exemplo do Cinema4D/Ilustrator,etc. Agora é com você! Deixe a sua imaginação voar! =p Em breve tratei novas artes de inspiração!2 pontos
-
TM System
Oloster Games reagiu a DinoAdmin por um tópico no fórum
Bom já existe um Sistema de tm no forum porem o meu é diferente. Vamos lá!! Bom Funciona assim: Cada Pokemon Pode Ter 3 TMs Adicionadas, OBS: Se O Pokemon tiver 12 magias ele pode ter 15 se voce adicionar 3 TMs nele. Como Usar O Sistema: Bom Basta Seguir o Tutorial e O Comando para Usar eu Recomendo que coloquem em Hotkeys na parte Shift+f1,Shift+f2,Shift+f3 Coloque os Seguintes Comandos tm1,tm2,tm3 OBS: a TM Nao Substitui Magia e Sim Adiciona , Por isso Vai por sequencia se voce usa a primeira tm no seu pokemon, para usar ela voce vai usar o comando tm1. se voce usa a segunda tm no seu pokemon para usar ela voce vai usar o comando tm2 mesma coisa com o tm3 Lembrando que Já possui as 50 TMs funcionando perfeitamente Vamos ao Tutorial: 1°: Crie um Arquivo Em "data/action/script" Chamado tm.lua e cole este script Dentro: Agora em Data/Action/Action.xml voce vai por a seguinte tag: <action itemid="12595-12644" event="script" value="tm.lua"/> Bom Recomendo voce por esta tag no ORDER 2°: Vá em Data/Lib/Crie um Arquivo Chamado "tm lib.lua" e cole o seguinte script dentro dele: 3°: Agora vá em data/talkaction/script/ Abra seu move1.lua e apague TUDO que estiver dentro e cole isto: 4°: Agora em Talkaction/Script/ Apague Tudo que estiver dentro do Seu "cd.lua" e cole isto dentro: 5°: Agora em Data/Talkaction/Talkaction.xml Coloque estas tags: <talkaction words="tm1" case-sensitive="no" event="script" value="move1.lua"/> <talkaction words="tm2" case-sensitive="no" event="script" value="move1.lua"/> <talkaction words="tm3" case-sensitive="no" event="script" value="move1.lua"/> 6°: o item.otb e item.xml (é recomendado baixar) Apois baixar voce vai pegar o item.xml e o item.otb e vai copiar eles e depois vai em data/item/apaga o item.otb e o item.xml e cola o item.otb e o .xml que voces baixaram. neles possui as tms adicionadas ao server (as 50) e no .xml ta com o nome direitinho, das 50 tmb Link para Download: http://www.mediafire...e54ldx6gw14fo3u Bom o Sistema esta pronto Agora vamos para a Parte do Client: Eu Vou Postar o Link do Client do Meu servidor ai Voces Pega a Tibia.dat e Tibia.spr e Utiliza em seu client bom o client ja esta com sistema de taunt, novas sprites novos flys boost stone, e as 50 TMs Link Do Client: http://www.mediafire...6w2ead2c5wrwj9v Bom ai esta o sistema de TM. Caso alguem tenha duvida so perguntar aqui no topico! Creditos: Criador do Script: ZarefShirou Edito:DinoAdmin1 ponto -
[Modernacc] Como Editar Shop.
WPOxCosT reagiu a AlexandreKG por um tópico no fórum
Fala XTibianos,estou encinando a voces neste tutorial a como editar seu SHOP no ModernACC,bom vi muitas pessoas com este problema,mais em especial vim fazer este tutorial para meu querido amigo josegremista. Bom vamos começar Primeiramente,vá no banco de dados. Se voce esta usando um computador local,provavelmente será acessado por[url="http://localhost/phpmyadmin"] localhost/phpmyadmin.[/url] Se voce esta usando um dedicado/vps voce poderá usar tanto localhost/phpmyadmin quanto seuip.servegame.com/phpmyadmin. Depois de ter acessado o banco de dados vá em sua database e localize a tabela shop_offer.Conforme mostra a figura abaixo: Abra a tabela shop_offer e vc vai ver que vai ter alguns itens adicionados.Bom agora vamos ao que intereça. Para adicionar itens no SHOP voce segue a imagem abaicho. Depois embaixo desses ai. Description - Poem uma descrição do item. Name - Nome do item. OBS:esses dois itens vao aparecer junto no SHOP. Depois disso é so ir em executar e deu pessoal. Para quem nao intendeu muito bem no começo a parte do shop_offer Bom estou disponibilizando minhas 3 tabelas de shop. shop_offer shop_history shop_donation_story Bom é isso ai amigos.Se gostaram do tutorial nao esqueçam de dar um rep ai. Créditos: Mozark0011 ponto -
1 ponto
-
Subwat Kamikaze Atualizado 13/12/12
johnny478 reagiu a rogeriocene por um tópico no fórum
Informações: Server 8.6 Oque Mudou? 1-Adicionada 3 Novas Quests 2-Adicionado Set Brutal 3-Adicionada Novas Runas 4-Diminui um pouco o Exausted..Assim o server Nao tera Mt lag..Obs:continua fast attack so diminui um poco. 5-Novo Visual 6-Adicionei Novos Scripts 7-Livre De Bugs 8-Vocações Balanceadas Baixe E confira o Resto senha do adm god/god thanks! ~~~~~~~~~~~~~~~~~~~~Algumas Imagens~~~~~~~~~~~~~~~~ DOWNLOAD: http://www.4shared.c...D13M12A12.html? Scan: VirusTotal Gostou?Da +REP Seu Dedo Num Vai Cai Eu Juro..Obs: Pelo menos Eu acho Que num vai ne ;D Em Breve Nova Atualização ^^1 ponto -
Oláá galere, de buenas? Trouxe pra vocês mais um sistema que é útil para muitos servers, o Characters Market System (Mercado de Personagens) O que é: É um sistema em que você pode colocar um character à venda por um preço que você mesmo define, tudo dentro do jogo! Gogo ao script: Algumas Screenshots: Configurando: level = 30 -- Level mínimo que o character deve ter para ser vendido min_price = 100 -- Preço mínimo de um character max_price = 1000000 -- Preço máximo de um character[/code] [size=5][u][b]Comandos:[/b][/u][/size] !character buy,nome -- Compra um character !character sell,nome,preço -- Vende um character !character remove,nome -- Remove um character da lista de vendas, caso ele esteja à venda !character list -- Vê a lista de characters disponíveis para a venda Observações: - O character é transferido para a conta do comprador automaticamente ao ser comprado - Funciona em 0.3.6 pra cima - Em algumas versões de servers, pode dar erro na list de characters. Créditos: LuckOake -- Pelo Sistema Oneshot -- Pela ajuda com algumas funções Demonbholder -- Pela ajuda com algumas funções É isso, obrigado.1 ponto
-
Olá Galera,Estou Explicando Como Instalar O Web (Gesior). 1. "SQLite não funciona!" Erro: Como Concertar: Em 90% dos casos o problema é na configuração do seu server www. 1. Não use "WebServer" ou qualquer outro distro desatualizado. Delete-o! 2. Download XAMPP 1.6.5 ou mais novo, instale, execute o "Apache" (e "MySQL" se você usa database MySQL) 3. Vá ao diretório: ~/xampp/apache/bin/ e encontre o arquivo php.ini, abra este arquivo com o bloco de notas mesmo e encontre a linha: Código: mude para: Código: 4. Agora reinicie o Apache e instale o unnamed acc. maker de novo. Site Oficial Do Xampp Para Windowns 2. "MySQL não funciona!", "Não conssigo conectar ao database!" Erro: COMO CONCERTAR: Em 70% dos casos o problema na configuração do seu server www, em 30% o problema é na configuração do seu acc. maker/TFS, lembre-se de não ignorar os erros do "Step 1" na instalação (load server configuration). 1. Gesior acc. maker usa novas funções PHP. Outros sites funcionam no WebServer, mas esse precisa das novas funções para se conectar ao database. 2. Não use "WebServer" ou outro distro desatualizado. Delete-o! 3. Download XAMPP 1.6.5 ou mais novo, instale, execute o "Apache" e "MySQL" se você usa database MySQL. 3. "Erro quando eu tento fazer login/abrir os highscores!" Erro: Citação: MySQL error: Código: SQLite error: Código: Como Concertar: É um problema com as colunas/tabelas no seu database. 1. Há duas versões do acc. maker, para TFS 0.3 e para TFS 0.2.x. 2. Se você usa TFS 0.2.6 - 0.2.12 server/database use a versão do acc. maker para TFS 0.2.x 3. Se você usa TFS 0.3, use a versão do acc. maker para TFS 0.3, senão você receberá esse erro. Se tiver atualizado o seu database de 0.2.x para 0,3 e obter este erro algo está errado no seu database. Link Aki Do Web (Gesior) /By HellGhost\1 ponto
-
• SPR & DAT Pokemon 5° Geraçao - Stigal [Download]• • Menu: ├ Informações; ├ Download; ├ PrintScreen; └ Creditos. • Informações Basicas • • Download's • [Pokemon] SPR e DAT [Pokemons 5 Geração] (4shared) http://www.4shared.com/rar/E836cXv0/Pokemon_Sprite_5_Gerao_-_Stiga.html Sprite Editor [v1.3.0] (4shared) http://www.4shared.com/rar/ZQ1w2BpH/Stigal_-_Spriter_Editor.html? Scan [Pokemon] SPR e DAT [Pokemons 5 Geração] (Virus Total) https://www.virustotal.com/file/030d85e9fe0bb5cab4e8159e3247b86a633acb35dc0773a03effe17da08cef87/analysis/1347751884/ • Prints De Algumas SPR • • Creditos • Stigal - {Master}1 ponto
-
Fazer Um Item Normal Virar Um Item Múltiplos
projectone reagiu a notle2012 por um tópico no fórum
para começar tutorial coloque tibia.spr e seu tibia.dat na mesma pasta do item editor se não ele não abre depois de abrir item editor seleciona items.otb depois procura seu item normal que vc quer deixar múltiplos exemplo to usando item 11441 marca essas 2 caixas pickupable [x] stackable [x] nota que item e 11441 na verdade ele é o item 10530 se for procurar no dat editor pronto agora pode aperta no file sava as.. escolhe lugar pra salva depois só substituir seu items.otb por esse novo pronto agora pode abrir dat editor seleciona o seu tibia.spr e seu tibia.dat que nem eu disse ai em cima procurar pelo numero 10530 no meu caso depois de achar item marca essas 3 caixa stackable [x] useable[x] pickupable [x] depois de fazer isso click em file save e click em compile só espera a barra depois só ir em data\items\items.xml procura o mesmo numero do item editor não do dat do item editor e 11441 no meu caso assim que achar vai ter algo assim <item id="11441" article="a" name="Leaf Stone"> <attribute key="description" value="A peculiar stone that may cause some pokemon to evolve." /> </item> vc tem que deixa assim <item id="11441" article="a" name="Leaf Stone" plural="Leaf Stones"> <attribute key="description" value="A peculiar stone that may cause some pokemon to evolve." /> </item> deixei VERDE pra facilita pra vc ver oq que foi modificado se fizer tudo certo quando logar na conta e criar item vai fica assim 100 em vez de 1 Programas Usados Item Editor 854 Dat Editor 854 Espero Que Gostem Do Tutor!!! Não Esquesao De Comentar1 ponto -
Avaliem
eduardosm14 reagiu a Overpower por um tópico no fórum
Eae galera , beleza? Poderiam avaliar a minha sign com borda modelada? ( a primeira vez que faço com borda modelada,kk) Valeu.1 ponto -
Detalhes Para Uma House!
SkyDangerous reagiu a Deadpool por um tópico no fórum
Detalhes Precisos Em Uma House Exemplo: Um tutorial simples, com o objetivo de ajudar a todos que tenham uma certa dificuldade em construir e detalhar uma casa. 1º Passo: Vamos começar fazendo a casa, sua estrutura, partições, e sem muita simetria... dica: evite fazer apenas um quadrado, as partições dão um valor a mais à casa. 2° Passo: Agora podemos partir para alguns detalhes, varie as walls (eu gosto desse tipo de wall, porquê além de achar elas bonitinhas, tem variedades, o que da um toque a mais na casa), coloque as portas, janelas são essenciais! 3º Passo: Ja podemos colocar os detalhes interiores. Coloque algumas toxas e lampadas, tanto no lado interior quanto no exterior da casa. Alguns quadros dão um charme para sua casa, mas cuidado, não exagere. Coloque uma ou duas camas, alguns detalhes como na imagem abaixo. OBS: A maioria dos jogadores, procuram casas para poder expor seus itens, então, detalhes como os que eu coloquei, iriam atrapalhar a vida desses indivíduos, pense nisso também! 4ª Passo: Finalize com o telhado, algumas pedrinhas e alguns matinhos no telhado dão um toque legal, mas novamente, não exagere! Creditos; NatuNobillis Vllw1 ponto -
Se for SQL, abra o SQLITE, aperte alt + e, cole o código e execute em F9 ALTER TABLE `players` ADD `rep` INT( 11 ) NOT NULL DEFAULT '0'; Se for MYSQL, execute esse comando no phpmyadmin!1 ponto
-
[Encerrado] Pedido de NPC's para PDA Sem Level
narutochuuu reagiu a Roksas por um tópico no fórum
Desculpe, confundi, sempre esqueço oque é PDA Primeiro NPC: Vá em data/npcs, crie um arquivo chamado Teleporter.xml, adicione isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Teleport NPC" script="teleportitem.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, Posso te teleportar!."/> </parameters> </npc> Agora na mesma pasta, abra a pasta scripts e crie um arquivo chamado teleportitem.lua, adicione isso dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local postp = {x = XXX,y = YYY, z = Z} -- AQUI AS COORDENADAS DO TELEPORT local itemdesj = 1234 -- AQUI UM EXEMPLO, SERIA O ID DO ITEM A SER VERIFICADO if(msgcontains(msg, 'tp') or msgcontains(msg, 'teleport')) then selfSay('Deseja ser teleportado?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, itemdesj) >= 1) then doTeleportThing(cid,postp) selfSay('Teleportado.', cid) end else selfSay('Desculpe voce nao tem o item necessario.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok flws.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Você pode configurar nesse trecho do SCRIPT: local postp = {x = XXX,y = YYY, z = Z} -- AQUI AS COORDENADAS DO TELEPORT local itemdesj = 1234 -- AQUI UM EXEMPLO, SERIA O ID DO ITEM A SER VERIFICADO E aqui oque irá falar para ser teleportado: if(msgcontains(msg, 'tp') or msgcontains(msg, 'teleport')) then SEGUNDO NPC: Agora crie um arquivo chamado pokemonchanger.xml na pasta data/npcs e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Pokemon Changer" script="pokechanger.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I am a pokemon changer."/> </parameters> </npc> Agora em data/npcs/scripts crie um arquivo chamado pokechanger.lua e adicione isso dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local itemdesj = 1234 -- AQUI CONFIGURA O ID DO ITEM local pokeball = 1235 -- AQUI O ID DA POKEBALL if(msgcontains(msg, 'change') or msgcontains(msg, 'pokemon')) then selfSay('Deseja ganhar um pokemon pelo item?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, itemdesj) >= 1) then doPlayerRemoveItem(cid, itemdesj, 1) doPlayerAddItem(cid, pokeball) selfSay('Aqui esta a sua pokebola.', cid) end else selfSay('Voce nao tem o item necessario.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok flws.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) PARA CONFIGURAR É DO MESMO JEITO QUE O OUTRO NPC ! É OQUE MEU CONHECIMENTO ME PERMITE FAZER ^^ COMO NAO CONHEÇO FUNÇÕES ETC, DE POKEMON NÃO POSSO FAZER O 3º, IREI DEIXAR PARA ALGUM SCRIPTER BOM! BOA SORTE, POSTE RESULTADOS1 ponto -
Como eu já vi alguém falando isso, vou fazer também. Tó: function onStepIn(cid, item, frompos, item2, topos) if item.actionid == 4839 then if not isPlayer(cid) then return true end if getPlayerSoul(cid) <= 200 then doPlayerAddSoulInSeconds(cid, 40) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) end end end function doPlayerAddSoulInSeconds(cid, soulInSeconds) doSendMagicEffect(getThingPos(cid), 13) doPlayerAddSoul(cid, soulInSeconds) end1 ponto
-
Certo, a cada 1000 seria 1 segundo. Os números do interval são milesegundos! Se quiser 2 horas, então 120 mins*1000. "120000" Está correto! Mas em alguns servidores não precisa ser milesegundos, são segundos normais. Então o certo seria colocar "7200". Teste das duas formas para saber como funciona seu OT. Volte aqui e poste resultados.1 ponto
-
Tempo nos Treiners
piratadoidao reagiu a Roksas por uma questão
Não é tempo nos treiners. é no config.lua, abra-o e procure por isso: idleKickTime Seja qual valor estiver na frente, mude para isso o valor, ficando: 15 * 60 * 1000 Ou seja, 15 minutos, 60 segundos, 1000 milesegundos. Totalizando 16 minutos irá kikar o player. Coloque o tanto de tempo que quiser, recomendo 1 hora, ficaria assim: idleKickTime = 59 * 60 * 1000 E em cima disso tem esse: idleWarningTime Que seria o tempo que vai avisar que será kikado, coloque uns 10 minutos antes do debaixo, ficando: idleWarningTime = 49 * 60 * 1000 Espero que tenha entendido. Basta mudar os valores minutos, segundos e milesimos! Dúvidas pergunte.1 ponto -
[Encerrado] Como criar pokemon pra outland
Gabrielphilippi reagiu a GuhPk por um tópico no fórum
Cara, é só você copiar todos os arquivos de um pokemon, mudar a sprite dele no arquivo.xml... E no configuration.lua, você simplesmente faz os stats dele 4x mais!! '-'1 ponto -
[Encerrado] Como criar pokemon pra outland
SkyDangerous reagiu a Caronte por um tópico no fórum
Área incorreta Reportado para que movam a área correta1 ponto -
[Encerrado] Transferência de Pokémon
valcimar12 reagiu a Roksas por um tópico no fórum
Ele me enviou PM me avisando de que não foi Sanada, e me passou o server dele. Aqui coloquei as spells e os pokemons que ele pediu! Espero que resolva: http://www.4shared.com/rar/-yVqBcB3/POKEMON_GUGU.html1 ponto -
[Encerrado] Erro Ot Server
ludgeromf1 reagiu a Roksas por um tópico no fórum
Pronto, anexei no post acima. Perdão não tinha dado certo! Tente agora ^^admin.xml1 ponto -
Tenta assim: local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 2.0, manaMultiplier = 1.5 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {450, 500}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {650, 680}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {110, 140}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {420, 470}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {400, 450}, mana = {290, 330}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2])))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2])))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end end1 ponto
-
Esse aqui é separado, mas é por itens se não me engano, que nem Global, veja se gosta se quiser posso adaptá-lo! ocal keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end npcHandler:setMessage(MESSAGE_GREET, "Greetings |PLAYERNAME|. Will you help me? If you do, I'll reward you with nice addons! Just say {addons} or {help} if you don't know what to do.") function playerBuyAddonNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if (parameters.confirm ~= true) and (parameters.decline ~= true) then if(getPlayerPremiumDays(cid) == 1) and (parameters.premium == true) then npcHandler:say('Sorry, but this addon is only for premium players!', cid) npcHandler:resetNpc() return true end if not canPlayerWearOutfit(cid, getPlayerSex(cid) == 0 and parameters.outfit_female or parameters.outfit_male, 0) then npcHandler:say('You must obtain the outfit first.', cid) npcHandler:resetNpc() return true end if canPlayerWearOutfit(cid, getPlayerSex(cid) == 0 and parameters.outfit_female or parameters.outfit_male, parameters.addon) then npcHandler:say('You already have this addon!', cid) npcHandler:resetNpc() return true end local itemsTable = parameters.items local items_list = '' if table.maxn(itemsTable) > 0 then for i = 1, table.maxn(itemsTable) do local item = itemsTable[i] items_list = items_list .. item[2] .. ' ' .. getItemNameById(item[1]) if i ~= table.maxn(itemsTable) then items_list = items_list .. ', ' end end end local text = '' if (parameters.cost > 0) and table.maxn(parameters.items) then text = items_list .. ' and ' .. parameters.cost .. ' gp' elseif (parameters.cost > 0) then text = parameters.cost .. ' gp' elseif table.maxn(parameters.items) then text = items_list end npcHandler:say('Did you bring me ' .. text .. ' for ' .. keywords[1] .. '?', cid) return true elseif (parameters.confirm == true) then local addonNode = node:getParent() local addoninfo = addonNode:getParameters() local items_number = 0 if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] if (getPlayerItemCount(cid,item[1]) >= item[2]) then items_number = items_number + 1 end end end if(getPlayerMoney(cid) >= addoninfo.cost) and (items_number == table.maxn(addoninfo.items)) then doPlayerRemoveMoney(cid, addoninfo.cost) if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] doPlayerRemoveItem(cid,item[1],item[2]) end end doPlayerAddOutfit(cid, addoninfo.outfit_male, addoninfo.addon) doPlayerAddOutfit(cid, addoninfo.outfit_female, addoninfo.addon) npcHandler:say('Here you are.', cid) else npcHandler:say('You do not have the needed items or cash!', cid) end npcHandler:resetNpc() return true elseif (parameters.decline == true) then npcHandler:say('Not interested? Maybe other addon?', cid) npcHandler:resetNpc() return true end return false end local noNode = KeywordNode:new({'no'}, playerBuyAddonNPC, {decline = true}) local yesNode = KeywordNode:new({'yes'}, playerBuyAddonNPC, {confirm = true}) -- citizen (done) local outfit_node = keywordHandler:addKeyword({'first citizen addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5878,100}}, outfit_female = 136, outfit_male = 128, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second citizen addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5890,100}, {5902,50}, {2480,1}}, outfit_female = 136, outfit_male = 128, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- hunter (done) local outfit_node = keywordHandler:addKeyword({'first hunter addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5947,1}, {5876,100}, {5948,100}, {5891,5}, {5887,1}, {5889,1}, {5888,1}}, outfit_female = 137, outfit_male = 129, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second hunter addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5875,1}}, outfit_female = 137, outfit_male = 129, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- knight (done) local outfit_node = keywordHandler:addKeyword({'first knight addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5880,100}, {5892,1}}, outfit_female = 139, outfit_male = 131, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second knight addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5893,100}, {5924,1}, {5885,1}, {5887,1}}, outfit_female = 139, outfit_male = 131, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- mage (done) local outfit_node = keywordHandler:addKeyword({'first mage addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{2182,1}, {2186,1}, {2185,1}, {8911,1}, {2181,1}, {2183,1}, {2190,1}, {2191,1}, {2188,1}, {8921,1}, {2189,1}, {2187,1}, {2392,30}, {5809,1}, {2193,20}}, outfit_female = 138, outfit_male = 130, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second mage addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5903,1}}, outfit_female = 138, outfit_male = 130, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- summoner (done) local outfit_node = keywordHandler:addKeyword({'first summoner addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5878,100}}, outfit_female = 141, outfit_male = 133, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second summoner addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5894,70}, {5911,20}, {5883,40}, {5922,35}, {5879,10}, {5881,60}, {5882,40}, {2392,3}, {5905,30}}, outfit_female = 141, outfit_male = 133, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- barbarian (done) local outfit_node = keywordHandler:addKeyword({'first barbarian addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5884,1}, {5885,1}, {5910,50}, {5911,50}, {5886,10}}, outfit_female = 147, outfit_male = 143, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second barbarian addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5880,100}, {5892,1}, {5893,50}, {5876,50}}, outfit_female = 147, outfit_male = 143, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- druid (done) local outfit_node = keywordHandler:addKeyword({'first druid addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5896,50}, {5897,50}}, outfit_female = 148, outfit_male = 144, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second druid addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5906,51}, {2031,1}, {4869,1}, {5940,1}}, outfit_female = 148, outfit_male = 144, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- nobleman (done) local outfit_node = keywordHandler:addKeyword({'first nobleman addon'}, playerBuyAddonNPC, {premium = true, cost = 150000, items = {}, outfit_female = 140, outfit_male = 132, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second nobleman addon'}, playerBuyAddonNPC, {premium = true, cost = 150000, items = {}, outfit_female = 140, outfit_male = 132, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- oriental (done) local outfit_node = keywordHandler:addKeyword({'first oriental addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5945,1}}, outfit_female = 150, outfit_male = 146, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second oriental addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5883,100}, {5895,100}, {5891,2}, {5912,100}}, outfit_female = 150, outfit_male = 146, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- warrior (done) local outfit_node = keywordHandler:addKeyword({'first warrior addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5925,100}, {5899,100}, {5884,1}, {5919,1}}, outfit_female = 142, outfit_male = 134, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second warrior addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5880,100}, {5887,1}}, outfit_female = 142, outfit_male = 134, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- wizard (done) local outfit_node = keywordHandler:addKeyword({'first wizard addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{2536,1}, {2492,1}, {2488,1}, {2123,1}}, outfit_female = 149, outfit_male = 145, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second wizard addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5922,50}}, outfit_female = 149, outfit_male = 145, addon = 2, storageID = 10022}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- assassin (done) local outfit_node = keywordHandler:addKeyword({'first assassin addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5912,50}, {5910,50}, {5911,50}, {5913,50}, {5914,50}, {5909,50}, {5886,10}}, outfit_female = 156, outfit_male = 152, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second assassin addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5804,1}, {5930,10}}, outfit_female = 156, outfit_male = 152, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- beggar (done) local outfit_node = keywordHandler:addKeyword({'first beggar addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5878,50}, {5921,30}, {5913,20}, {5894,10}}, outfit_female = 157, outfit_male = 153, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second beggar addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5883,100}, {2160,2}, {6107,1}}, outfit_female = 157, outfit_male = 153, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- pirate (done) local outfit_node = keywordHandler:addKeyword({'first pirate addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{6098,100}, {6126,100}, {6097,100}}, outfit_female = 155, outfit_male = 151, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second pirate addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{6101,1}, {6102,1}, {6100,1}, {6099,1}}, outfit_female = 155, outfit_male = 151, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- shaman (done) local outfit_node = keywordHandler:addKeyword({'first shaman addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5810,5}, {3955,5}, {5015,1}}, outfit_female = 158, outfit_male = 154, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second shaman addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{3966,5}, {3967,5}}, outfit_female = 158, outfit_male = 154, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- norseman (done) local outfit_node = keywordHandler:addKeyword({'first norseman addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{7290,5}}, outfit_female = 252, outfit_male = 251, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second norseman addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{7290,10}}, outfit_female = 252, outfit_male = 251, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- jester (done)(custom) local outfit_node = keywordHandler:addKeyword({'first jester addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5912,50}, {5913,50}, {5914,50}, {5909,50}}, outfit_female = 270, outfit_male = 273, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second jester addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5912,50}, {5910,50}, {5911,50}, {5912,50}}, outfit_female = 270, outfit_male = 273, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- demonhunter (done)(custom) local outfit_node = keywordHandler:addKeyword({'first demonhunter addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5905,30}, {5906,40}, {5954,50}, {6500,50}, {2151,100}}, outfit_female = 288, outfit_male = 289, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second demonhunter addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{5906,50}, {6500,200}, {2151,100}}, outfit_female = 288, outfit_male = 289, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- nightmare (done)(custom) local outfit_node = keywordHandler:addKeyword({'first nightmare addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{6500,1500}}, outfit_female = 269, outfit_male = 268, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second nightmare addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{6500,1500}}, outfit_female = 269, outfit_male = 268, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- brotherhood (done)(custom) local outfit_node = keywordHandler:addKeyword({'first brotherhood addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{6500,1500}}, outfit_female = 279, outfit_male = 278, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second brotherhood addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{6500,1500}}, outfit_female = 279, outfit_male = 278, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- yalaharian (done)(custom) local outfit_node = keywordHandler:addKeyword({'first yalaharian addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{9955,1}}, outfit_female = 324, outfit_male = 325, addon = 1}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) local outfit_node = keywordHandler:addKeyword({'second yalaharian addon'}, playerBuyAddonNPC, {premium = true, cost = 0, items = {{9955,1}}, outfit_female = 324, outfit_male = 325, addon = 2}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) keywordHandler:addKeyword({'addons'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can give you citizen, hunter, knight, mage, nobleman, summoner, warrior, barbarian, druid, wizard, oriental, pirate, assassin, beggar, shaman, norseman, nighmare, jester, yalaharian and brotherhood addons.'}) keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'To buy the first addon say \'first NAME addon\', for the second addon say \'second NAME addon\'.'}) npcHandler:addModule(FocusModule:new())1 ponto
-
Mais Depois Ele Usou O PDA Na V2 Se Não me engano.1 ponto
-
Alguem tem script teleport que ao pisar vai para o temple da tower id
roriscrave reagiu a SmiX por uma questão
Tente assim: local pos, actionId = {x = 1, y = 1, z = 1}, 4756 function onStepIn(cid, item, frompos, item2, topos) if item.actionid == actionId then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doSendMagicEffect(getThingPos(cid), math.random(28, 30)) end end Coloque uma actionid no teleport, com o rme editor, com o id 4756.1 ponto -
Bom dia galera acabei de fazer esta video-aula de como liberar portas do Modem e do Firewall, Sigam o Video que dará Certo, Caso não esteja e área correta por favor Mod's Moverem, Galera meu Primeiro tutorial se Ajudei Rep+ não Cai o dedo , Proximo tutorial será de Como Criar WebSite. Qualquer Dúvida eu irei está Ajudando voçês.1 ponto
-
1 ponto
-
Como criar um mapa do Zero?
Gabriel Couto reagiu a WaguiinRodriguez por uma questão
Construir um mapa é um trabalho e tanto, mais acredito você é capaz com força, dedicação e paciência meu caro amigo você chega lá, Se você é iniciante em mapper vou dar algumas dicas espero ajudar você: Dicas: 1º - Encha uma boa parte do mapa com agua, mais lembrando não enxa tudo encha somente o necessario!! 2º - Utilize a forma de de editar com Auto-Border desligado, só abrir o RME e apertar a tecla "A" . 3º - Faça primeiro no centro, um templo que no caso é muito necessario e capricha no visual, chama muito atenção! 4º - De uma distância minima do templo e faça um Depot! 5º - ao lado do Depot e do Templo, faça casas e lugar para colocar npcs vendedores de equipamentos, items, addons e etc... 6º - Construa várias houses em pontos estrategicos para facilitar a visualização de outros players. 7º - Faça barcos que leva para ilhas que contem muitos Upabilidade. 8º - Faça bastante trainer monks. 9º - Faça Inumeras quests. 10º - Faça uma arena, um campo de futebol, um cemiterio, um lugar para o casamento, etc.... sua criatividade reina nesse momento. e muitas outras dicas.... Observações.. Atenção, você tem que ter planejamento, pensar bem antes de começar , ter em mente uma figura de como vai ser o seu mapa quando estiver pronto, pensar e repensar varias vezes sobre caves, construir seu mapa já pensando em na experience que ele vai possuir quando pronto, pensar tambem se ele vai ser mais rpg ou vai ser mais otserv comuns, aconselho pedir ajudas de seus amigos, montar uma equipe para mapear. Boa sorte, se precisar de ajuda -- waguiinrodrigues_jf@live.com1 ponto -
/\ falto por esses novos pokes em algumas tabelas no lib/configuration.lua... tem q por em TODAS as tabelas la.. como na newpokedex, oldpokedex e afins1 ponto
-
[Encerrado] [ajuda por favor] como abrir porta no modem sem danifica-lo
dirceujunior1 reagiu a Roksas por um tópico no fórum
Cara, não é comum resetar. Foi conhecidência. Desbloqueie novamente as portas, posso até te garantir que não vai ocorrer novamente ^^1 ponto -
Não é item 3750, é linha 3750. Abra items.xml com BLOCO DE NOTAS, e em seguida aperte Ctrl+G, e aí você digita 3750 e da enter. Me envie o trecho que aparecer para que eu possa arrumar!1 ponto
-
Pedido de Banner e Script pra coloca-lo
andreynitro28 reagiu a Overpower por uma questão
Posso fazer o banner , mais informe mais sobre o que você quer, o tamanho, o texto, a imagem...1 ponto -
hum ... satisfações?
AsMinaPira reagiu a AnneMotta por um tópico no fórum
eu nem frequento aqui mais tive que comentar kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk vai se foder stigal _|_1 ponto -
Obter items ao redor do player
Yan Oliveira reagiu a brun123 por uma questão
Uma função que procura direto no formado de cruz: eu fiz uma lib que converte uma array com 0, 1, 2 e 3 numa array de positions detalhe: acho muito difícil fazer uma função parecida em poucas linhas, pelo menos em lua acho que não rola... o que eu não fiz ainda foi vasculhar as sources pra ver como é feita essa conversão em spells e traduzir pra lua, essa aqui fiz sem basear em nada: Exemplo de uso dela: O bom dessa função que fiz é que a array não precisa ser simetrica/quadrada o primeiro parâmetro é o array contendo os nº (0 até 3, 0 não é nada, 1 é trnasformado em posição, 2 é o centro só que não é incluído no return da função, 3 é o centro e é incluído no retorno), o segundo array é a posição centro e o 3º parâmetro é o nº de voltas que o array vai dar, exemplo: Um exemplo de como uma magia que seria um raio para frente usando essa lib:1 ponto -
[Encerrado] como criar narutibia via hamachi
gokusin reagiu a AlexandreKG por um tópico no fórum
Bom dia,amigo. Bom em primeiro caso,eu achei este video que provavelmente irá servir como ajuda a você então decidi colocar aqui,so seguir ele abaixo,para nao precisar ir ate o youtube e carregar e talz ....Bom ele é para criar um server de tibia,mas é quase mesma coisa,voce vai seguindo o tutorial passo -a passo. Espero ter ajudado...1 ponto -
Pronto, achei o problema, estava na função mesmo. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local area = createCombatArea({ {1, 1, 1}, {1, 3, 1}, {1, 1, 1} }) setCombatArea(combat, area) local function getPlayerWeaponId(cid) -- By Oneshot local ret = 0 for slot = 6, 5, -1 do local item = getPlayerSlotItem(cid, slot) if item.itemid > 0 and isInArray({1, 2, 3, 5}, getItemInfo(item.itemid).weaponType) then ret = item.itemid break end end return ret end function onUseWeapon(cid, var) if getPlayerWeaponId(cid) == 7438 then doCombat(cid, combat, var) return true end doPlayerSendCancel(cid, "You cannot use this arrow with this ordinary bow.") return false end Sobre o consumo da munição mesmo com a arma incorreta, só com alterações nas sources para ficar legal. Ou você pode colocar para adicionar o item, logo abaixo da mensagem de erro. doPlayerAddItem(cid, 2546, 1) Mas aí só ficaria legal mesmo com um autostack, senão a munição seria removida e o item pararia na mochila ou no chão por exemplo.1 ponto
-
Pokemon Ownz
BrunoLuccas reagiu a lukteu por um tópico no fórum
N tem um pokemon ownz como lvl nos pokemons? assim o server seria bem Melhor (tb se tivesse bugs Retirados)1 ponto -
Pokemon Dash
JG6 reagiu a Crystallizeed por um tópico no fórum
Toda ajuda é aceitável, logo comunico você !1 ponto -
[Encerrado] Pedido De Ot
Boka08 reagiu a extremeots por um tópico no fórum
coloque o mapa em data/world e n esqueça de editar no config.lua o nome do mapa si nao nao ira funcionar1 ponto -
Hostiando Servidores Com Net Compartilhada [ Maneira Correta ]
juliok80 reagiu a Jumper Sky por um tópico no fórum
Quem nunca se deparou com o bendito do problema da Internet Compartilhada, onde se incluem também probleminhas como Routers, Rubs e Switchs. Essas belezinhas impedem agente de hospedar servidores tanto de Tibia como de outros jogos online também. Uma das explicações mais simples para isso é o bendito do IP gerado pelo Router/Rub/Switch, eles criam o seu próprio IP impidindo assim nós, pobres mortais, de hospedar nossos tão aclamados Open Tibia Servers! Agora trago ao XTibia em primeiríssima mão como faze-lo sem problemas. É simples e bem eficaz. Serve para todos os tipos aparelhos de compartilhamento! (de A-Z). Conceito de IP Os endereços IP são quatro conjuntos de números separados por pontos que permitem os computadores identificarem uns aos outros. Cada computador tem pelo menos um endereço IP, e dois computadores nunca devem ter o mesmo endereço IP. Se eles fizerem isso, nenhum deles será capaz de se conectar à Internet. Conceito de IP Estático e Dinâmico A maioria dos roteadores atribuem endereços IP dinâmicos por omissão. Eles fazem isto porque o endereço IP dinâmico de redes não exigem nenhuma configuração. O utilizador pode simplesmente ligar seu computador e sua rede irá funcionar. Quando os endereços IP são atribuídos de forma dinâmica, o router é que atribui um deles. Cada vez que um computador reinicializa ele pede para o router um endereço IP. O roteador então gera um endereço IP que já não tenha sido entregue a outro computador. Isto é importante para a nota. Quando você configurar seu computador para um endereço IP estático, o router não sabe que um computador está usando esse endereço IP. Portanto, o mesmo endereço IP pode ser entregue a outro computador mais tarde, e que irá impedir os computadores de se conectarem à Internet. Assim, quando você atribuir um endereço IP estático, é importante atribuir um endereço IP que não será entregue a outros computadores através do endereço IP dinâmico servidor. O endereço IP dinâmico servidor é geralmente referido como o servidor DHCP. dica: atribua à ultima casa numérica numeros de 10 à 254(máximo). PRIMEIRO PASSO (Descobrir/Criar o seu IP Estático) - Configurar um IP estático para o Windows Vista. 1.0 Abra o menu Iniciar e clique em Executar. Você deve ver agora a janela seguinte. 2.0 Digite cmd na caixa de texto, e clique em OK. 3.0 Os comandos podem aparecer de forma diferente na tela, mas isso realmente não interessa. Digite ipconfig /all na tela, em seguida, pressione a tecla Enter. Isto irá mostrar uma grande quantidade de informação. 4.0 Eu quero que você anote algumas das informações contidas nesta janela. Estabelecendo o endereço IP, Máscara, Gateway Padrão, e nomes de servidores. Certifique-se de constatar qual é qual. Vamos utilizar esta informação um pouco mais tarde. Estamos apenas preocupados com entradas IPv4, você pode ignorar as IPv6. 4.1 Digite quit nesta janela e, em seguida, pressione a tecla Enter para fechá-la. 5.0 Mais uma vez, abra o menu Iniciar. Desta vez clique em Painel de controle. 6.0 Dê Duplo clique em Centro de Rede e Compartilhamento. 7.0 Dê Único clique em Gerenciar Conexões de Rede, no lado esquerdo da tela. 8.0 Você pode ter várias ligações de rede nesta janela. Quero que dê um clique direito sobre o que você utiliza para se conectar à internet. Em seguida, clique em Propriedades. 8.1 Se você não tiver certeza de qual seja, dê um clique direito nele e clique em Desativar. Em seguida abra uma página na web. Será que ela vai abrir? Se não for possível, então você encontrou a sua ligação à Internet. Feche a janela do navegador. Vá em frente e dê um clique direito na conexão de rede novamente e clique em Ativar. Mais uma vez, abra um novo navegador. Você deverá ver uma página web. Feche a janela do navegador. (Caso não visualize a página web volte ao passo 8.1). Clique direito sobre a conexão de rede e clique em Propriedades na parte inferior. 9.0 Agora você deve ter exposto essa janela na sua tela. Clique no botão Propriedades para abrir a janela de propriedades desta ligação à Internet. 10.0 Selecione Protocolo TCP/IP Versão 4 (TCP/IPv4) e, em seguida, no botão Propriedades. Você verá a seguinte tela. 11.0 Antes de fazer quaisquer alterações, anote as configurações que você vê nesta página. Se algo der errado você pode alterar as configurações de volta para a que antes estavam! Você deverá ver um ponto no Obter um Endereço IP Automaticamente na caixa. Se não estiver marcado, sua conexão já está configurada para um IP estático. Basta fechar todas as janelas e está feito. 11.1 Escolha um endereço IP e inseria-o na caixa Endereço IP. O endereço IP que você escolher deverá ser muito semelhante ao do endereço IP do roteador. Apenas os últimos números do endereço IP devem ser diferentes. Se o endereço IP do roteador é 192.168.0.1, eu posso escolher 192.168.0.10. O endereço IP que você escolhe deve terminar com um número entre 1 e 254, e não deve ser o mesmo que o endereço IP do roteador. Cada dispositivo que conecta a sua rede precisa de ter seu próprio endereço IP. 11.2 Coloque a máscara na caixa Máscara de Sub-Rede, que já havia sido identificada no passo 4.0. O gateway padrão deve ir para a caixa Gateway Padrão, também identificado no passo 4.0. Digite os servidores de DNS encontrado na caixa Servidor DNS Preferencial/Alternativo. 11.3 Clique em OK, automaticamente saindo deste menu. Se você não conseguir abrir páginas web ou se conectar a internet, é mais provável que o problema esteja nas DNS digitadas. Você pode repara-las com seu ISP, entrando em contato com sua operadora Banda Larga. Eles serão capazes de dizer o que você deve usar imediatamente. É isso que deve ser feito! Se você não pode se conectar à internet, mude a configuração de volta ao que era originalmente. SEGUNDO PASSO (Configurando as Portas) No meu caso, tenho um D-LINK (DIR-100). Todos os modelos e fabricantes seguem o mesmo sistema, mais os passos podem variar um pouco, mais nada fora do comum. Caso tenha dificuldades em se localizar nos procedimentos a seguir, utilize o manual do fabricante juntamente com esse tutorial. 1.0 Abra um navegador da web como o Internet Explorer ou Google Chrome. Digite o endereço IP do seu router na barra de endereços do seu navegador. Por padrão o endereço IP deve ser definido como 192.168.0.1. 2.0 Você deverá ver uma caixa perguntar-lhe por seu nome de usuário e senha. Digite seu nome de usuário e senha agora. Por padrão o usuário é admin, e a senha é em branco. Clique no botão OK para efetuar login no seu router. 3.0 Clique no link Advanced perto do topo da página. 4.0 Vamos listar aqui uma série de linhas que irá mostrar-lhe exactamente como encaminhar as portas que você precisa para avançar. Open Tibia Server requer que você transmita a 7171 e 8000. Vá em frente e introduza as definições acima como demonstrado na Port Forwarding Rules menu(imagem). Em IP Adress introduza o seu IP Estático, adiquirido no PRIMEIRO PASSO. 5.0 Quando terminar, clique em Save Sttings na parte superior da tela para salvar suas alterações. Pronto, as portas estão desbloqueadas e devidamente configuradas. TERCEIRO PASSO (Liberando no Firewall a Porta 7171 e configurando o arquivo config.lua) 1.0 Desbloqueie a Porta 7171 no Firewall do Windows. 2.0 Acesse o arquivo config.lua na pasta de seu servidor e modifique o IP, substituindo pelo IP Dinâmico, que você pode identifica-lo Aqui . Pronto, agora é só esbanjar de seu servidor 100% hospedado em Internet Compartilhada. - Caso alguem queira conferir um server em Net Compartilhada segue o meu: theopera.servegame.com (8.50). ======= CREDITOS @Januska ======= Quatro horas foi o tempo que levei para reunir informações, organiza-las, transcreve-las e confeccionar as Screens, então peço sinceramente para não retirarem o Tutorial do seu lugar de Origem e muito menos retirar os créditos. Caso haja nescessidade de divulga-lo em outros forums, favor colocar os devidos créditos. Obrigado! Duvidas: Em relação as dúvidas, favor tirar no tópico! não estou mais atendendo via e-mail. Obrigado! Cya (Y). Edit Cause: Correção do nome do Tópico; Erros Ortográficos; Cores e Fontes.1 ponto -
Terroristas Yourots 8.7
JhoniiSantos reagiu a Renanzinho2v por um tópico no fórum
Tem sim! Se gostar rep+! A mao nao vai cair..haha1 ponto -
[Action] Item Que Heala Sua Vida E Sua Mana
gustavo3754 reagiu a thalia por um tópico no fórum
Bom, é um script que quando você dá use em um item sua life volta ao maximo, ~> Crie um arquivo em action/script, crie um arquivo chamado lifemana.lua e cole isso dentro : function onUse(cid, item, fromPosition, itemEx, toPosition) local hp = getCreatureMaxHealth(cid) local mana = getCreatureMaxMana(cid) doCreatureAddHealth(cid, hp) doCreatureAddMana(cid, mana) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getCreaturePosition(cid), "Ahhhh...", 25) return TRUE end ~> Em action.xml add essa tag: <action itemid="xxxx" script="lifemana.lua" allowfaruse="1"/> Explicando: Vermelho : ID do item que sera usadado para recuperar sua mana e sua vida.1 ponto -
Da Pra Vcs Para De Critica E Ajuda?-1 pontos
-
[8.6] Nyshia.Eu Edited Real Map- 75% !
SkyDangerous reagiu a Ramallah por um tópico no fórum
Refresh...-1 pontos -
Me ajuda com meu site
Piabeta Kun reagiu a osanjos por uma questão
To com um site mais quando e pra entra na account aparecce esse bug do gesior acc maker que souber repossder ae pf Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for '-8.0/no DST' instead in C:\xampp\htdocs\pot\OTS_Account.php on line 396-1 pontos