Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/31/11 em todas áreas
-
Sera que isso resolve? http://www.xtibia.com/forum/topic/171037-criando-um-cliente-100-proprio/page__p__1124020#entry11240202 pontos
-
[Tutorial]Criando Website Com Xampp
onark123 reagiu a ultimate1996 por um tópico no fórum
Opa, fala xTibia '-'.. Vi que muitas pessoas estavam querendo fazer um site para seu servidor e não sabem como fazer... Então resolvi postar um tutorial completíssimo aqui.. O que vamos precisar? -&gt; Xampp ( 1.6.5 ) - Download - http://www.oldapps.com/xampp.php?old_xampp=38 -&gt; Gesior Acc. Maker ( 0.3.8 ) - Download - http://www.mediafire.com/?u0bao9bcp9ua5vr -&gt; Um servidor de sua escolha.Pode ser qualquer um desde que tenha o arquivo .mysql. PS: NÃO RESPONDO A QUEM TIVER O ERRO DO INSTALL.PHP . ESSE ERRO É CAUSADO POR CAUSA DA UTILIZAÇÃO DE OUTRA VERSÃO DO XAMPP E DO GESIOR, POR ESSE MOTIVO EU COLOQUEI O XAMPP 1.6.5 QUE ESTÁ FUNCIONANDO! NÃO USE A VERSÃO MAIS RECENTE DO XAMPP! Vamos ao tutorial! Espere... vai criar um site sem saber como funciona? O site de seu servidor será feito em PHP. E o que vai ter nele? Os jogadores de seu servidor poderão criar suas contas, ver notícias do servidor, ver outros jogadores, criar guildas, e muito mais dependendo de como você manusear seu website. OBS1 : É altamente recomendável que escolha uma forte senha para sua conta de Admin. Pois se seu servidor tiver sucesso, certamente "hackers" tentarão atacar sua database e seu servidor. OBS 2: Seu site ficará online apenas quando o Xampp estiver ativo com o Apache e MySQL sendo executados, ou seja, apenas quando você estiver no computador. Para seu site ficar online 24 horas, você precisaria de uma hospedagem para php. Agora que já temos tudo, vamos começar !! 1°) Abra o instalador do XamPP, e instale-o. 2°) Selecione aonde a pasta do XamPP ficará salva. (de preferência algum lugar de fácil acesso) 3°) Deixe apenas a primeira e a segunda opções marcadas e clique em Next. 4°) Aguarde o fim da instação e provavelmente uma tela preta irá aparecer. 5°) Após o fim da instalação, clique em Yes para abrir o XamPP e dê Start em Apache e MySQL. 6°) Clique em Admin do Apache. Você será redirecionado para a sua localhost (endereço que apenas você entra). Clique em Português (Brasil). 7°) No canto esquerdo do site , clique na Aba Segurança. Vá descendo até achar " http://localhost/sec...mppsecurity.php " . Clique. OBS : Se você não conseguiu abrir a página de Segurança, vá na pasta do seu Xampp/security/htdocs/lang e renomeie o arquivo pt para pt_br . 8°) Após ter clicado, deverá ser redirecionado para uma página parecida com essa: OBS :Faça o numero 1 e depois clique em Alterar Senha. Depois Faça o numero 3 e clique em Tornar Seguro o Diretorio do XamPP. 9°) Após ter feito isso, dê Stop no MySql (no XamPP) e dê Start denovo. Agora vá em seu navegador e digite : localhost/phpmyadmin 10°) Digite a senha que foi criada há pouco tempo que eu disse que era para a criação do banco de dados. 11°) Minimize seu navegador e vá na pasta de seu servidor, e abra o arquivo config.lua. Tire todos os espaços iniciais e as "frases" iniciadas com o sinal de " - " . Veja : 12°) Não feche o config.lua ainda, vá descendo até achar informações sobre a database de seu servidor ... algo parecido com isto : sqlType = "mysql" &lt;- se estiver em sqlite, mude para mysql sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "123456" &lt; - coloque a senha que foi criada para entrar no banco de dados. sqlDatabase = "otserv" &lt; - coloque o nome de sua database , coloque " otserv " para facilitar. sqlFile = "otserv.s3db" &lt; - de prefencia, coloque " otserv.s3db " ( o mesmo nome de sua database ) sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" 13°) Salve e feche o config.lua. Agora vamos voltar a pagina minimizada (localhost/phpmyadmin) : 14°) Clique na aba Importar na parte superior da tela. 15°) Agora Selecione o Arquivo para Importar. Selecione o arquivo terminado em .sql que fica na pasta de seu servidor e clique em Executar no canto inferior direito. 16°) Pronto !! A database de seu servidor foi criada. Agora vamos instalar os arquivos do site. 17°) Abra a pasta do XamPP/htdocs. Apague tudo que tem dentro de htdocs e cole tudo o que veio dentro da pasta do Gesior ACC. 18°) Abra o XamPP novamente e clique em Admin do Apache. 19°) Uma nova pagina foi aberta, agora você terá que fazer mais 5 passos rápidos. 19.1) Set Server Path Coloque o diretório da pasta de seu servidor. Ex : C:\Users\user\Desktop\Tibia Server Clique em Set Server Path. 19.2) Check database connection 19.3) Add tables and columns to DB 19.4) Agora desça e clique no botão. 19.5) Set Admin Account Coloque uma senha SEGURA pois esse será o password do administrador do site e servidor. 19.6) Load Monsters from OTS Carregue os monstros do servidor. 19.7) Load Spells from OTS Carregue as magias do servidor. 20°) Agora você deverá ser redirecionado para seu site, e você pode acessá-lo pelo localhost ou pelo ip do seu servidor. Para acessar sua database, digite em seu navegador : localhost/phpmyadmin Pronto !! Seu site foi criado :] Colocando seu site online pelo 8090 e Desbloqueando a porta 8090 : 1° - Acesse a pasta do XamPP/apache/conf e abra o arquivo httpd com o bloco de notas. Procure por : Listen 80 E por : ServerName localhost:80 Substitua todos os 80 por 8090. 2° - Dentro da pasta conf, abra a pasta extra, e em seguida abra httpd-ssl e procure por : Listen 443 E por: <virtualhost _default_:443=""> Substitua esses 443 por 4499. Agora vá em seu firewall e Adicione a Porta 8090 e Porta 80 e marca a opção TCP. Se usar Roteador, desbloqueie as portas também. Site por porta 80 localhost Site por porta 8090 localhost:8090 Colocando seu site online pela porta 80 (A porta 80 seria o ip normal de seu servidor. Exemplo : teste.servegame.com. ) A porta 80 não necessita de nada no final. Para que as pessoas entrem pela porta 80, não necessita mudar nada na pasta do Xampp. Pois ela ja está configurada para entrarem. Só é necessário desbloquear a porta 80 no seu modem ou roteador. E desbloquear a porta 80 pelo Firewall também. VIDEO AULA - FEITA EM 2/4/2012 (DESCULPA , AS VEZES TENHO QUE PENSAR QUANDO FALO EM PORTUGUES, PORQUE NAO MORO NO BRASIL)!! Créditos : 100% por Mim :] Não mexo mais com Tibia, mas ainda respondo a qualquer dúvida que eu esteja capacitado a responder (:1 ponto -
[8.6] Eternal Kingdoms Map
Nerival reagiu a PedroXtibiaaaa por um tópico no fórum
Download: Clique aqui Scan: Clique aqui Remere's Map Editor 2.1 Créditos: Artii e o pessoal do Eternal Kingdoms (otland) Versão: 8.60/8.61, testei com 8.70 e funcionou também... O mapa possui o mínimo de bugs possíveis, talvez alguns pequenos bugs simples, todas as houses estão 100%. Cidades: Aleda Leafport Fallen Selroth Seldia Shadow Wood Screenshots1 ponto -
[Globalevents] Entregando Itens Do Site Automaticamente
andreguima reagiu a walefxavier por um tópico no fórum
Vá em data\globalevents\scripts e crie um arquivo chamado : shop.lua Dentro dele add : -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while iter ~= container_count do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << Seu item esta esperando por voce. Por favor faça o local para este item em sua mochila e aguarde '.. SQL_interval ..' segundos para obte-lo.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << Seu item esta esperando por voce. O peso do item e '.. full_weight ..' oz., Vc tem no momento '.. free_cap ..' oz. de capacidade livre. Coloque alguns itens no deposito e espere cerca de '.. SQL_interval ..' segundos para obte-lo.') end end if not(result_plr:next()) then break end end result_plr:free() end return TRUE end Agora vá em data\globalevents\globalevents.xml e add a tag: <globalevent name="shop" interval="30" script="shop.lua"/> Agora vá na Database do seu Ot server,acessando com o phpmyadmin,clique na sua database,em SQL e cole isto: CREATE TABLE IF NOT EXISTS `z_ots_comunication` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `action` varchar(255) NOT NULL, `param1` varchar(255) NOT NULL, `param2` varchar(255) NOT NULL, `param3` varchar(255) NOT NULL, `param4` varchar(255) NOT NULL, `param5` varchar(255) NOT NULL, `param6` varchar(255) NOT NULL, `param7` varchar(255) NOT NULL, `delete_it` int(2) NOT NULL default '1', PRIMARY KEY (`id`) ); CREATE TABLE IF NOT EXISTS `z_shop_offer` ( `id` int(11) NOT NULL auto_increment, `points` int(11) NOT NULL default '0', `itemid1` int(11) NOT NULL default '0', `count1` int(11) NOT NULL default '0', `itemid2` int(11) NOT NULL default '0', `count2` int(11) NOT NULL default '0', `offer_type` varchar(255) default NULL, `offer_description` text NOT NULL, `offer_name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE IF NOT EXISTS `z_shop_history_item` ( `id` int(11) NOT NULL auto_increment, `to_name` varchar(255) NOT NULL default '0', `to_account` int(11) NOT NULL default '0', `from_nick` varchar(255) NOT NULL, `from_account` int(11) NOT NULL default '0', `price` int(11) NOT NULL default '0', `offer_id` int(11) NOT NULL default '0', `trans_state` varchar(255) NOT NULL, `trans_start` int(11) NOT NULL default '0', `trans_real` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ); CREATE TABLE IF NOT EXISTS `z_shop_history_pacc` ( `id` int(11) NOT NULL auto_increment, `to_name` varchar(255) NOT NULL default '0', `to_account` int(11) NOT NULL default '0', `from_nick` varchar(255) NOT NULL, `from_account` int(11) NOT NULL default '0', `price` int(11) NOT NULL default '0', `pacc_days` int(11) NOT NULL default '0', `trans_state` varchar(255) NOT NULL, `trans_start` int(11) NOT NULL default '0', `trans_real` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ); Agora aperte EXECUTAR e pronto !! Agora compre um item em seu site e faça o teste,o item chega em 30 segundos !1 ponto -
Criando Um Cliente 100% Proprio
LuisMatheuziin reagiu a Tony por um tópico no fórum
Olá pessoal do Xtibia! Hoje vou ensinar a vocês como criar um cliente 100% próprio para seu servidor de tibia. :forward: Créditos :back: :star2: Jakiin :star2: Trazer ao x-tibia :star2: TiraDuvidas :star2: Fazer o Tutorial Este tópico recebeu destaque em nosso portal!1 ponto -
[Oficial] Real Global Map hello Galerinha do Xtibia, Venho aqui desponibilizar o mapa do Doidin (8.57 Só que editado com minhas ideias e na versão 8.60 OBS: Para rodar esse servidor No seu pc voce tem que ter 2GB+ de memória ram e em bom estado. ( nao recomendo abrir o otserv com o mapa editor aberto junto). Real Global Map: - Versão do Tibia:8.60 - Mapa global 95% full. - Quase todos os NPC's do Tibia Global. - Servidor com o mínimo de bugs possíveis. - Scripts arrumados. - Entre outros... Cidades: Quest's: Oque tem de melhor que o servidor do Doidin? Quase nada pois ele copio minhas coisas x) Algumas Print Screen: para quem nao conseguiu abrir o spolier e gostaria de ver as SS link abaixo: print screen.txt Créditos: - Doohz Rush - Doidin - Alissow - DoidinMapper - RenanSdc - TFS Team - Styller Team - Alissow Team - Feragon - Viana! - Azevedo ATUALIZADO DIA 28/10/2010 Scan: Arquivo Muito grande para fazer scan. Remeres Mapa Editor 2.0 ( nao use outra versão ou vai bugar o mapa: Download Aqui! Doohz Rush Server : Download Aqui! OBS: FOI ARRUMADO TODOS OS LOOT'S DOS MONSTROS, E FOI ADICIONADO A NOVA AREA DE ZÃO (OS Draken elite etc, todos configurados perfeitamente ) Atualização 2.2; Arrumado os Teleport's dos Drakens; Editado os seal's da POI (+ parecido com global); adicionado 1 npc de runa em northern de ZAO; arrumada as Houses, e bugs de Cormaya; Retirado BUG de money; Arrumado detalhes do mapa. MSN: Doohz_rush@hotmail.com Gostou? REP+ Ali do lado :arrow:1 ponto
-
Exp Ring (Anel De Experiencia)
GuuhMaster reagiu a gonorreiaswat por um tópico no fórum
Tópico atualizado. Como o nome diz, é um anél que aumenta a experiência de sua caçada' (configurável) \o/ Vamos lá... 1º Passo 2º Passo 3º Passo Aqui, temos duas opções... O Exp Ring Tradicional é para server com Experiência fixa, ou seja, a EXP é sempre a mesma.. Já o Exp Ring por Stages é para server que a Experiência varia de acordo com o level do player. Clique no Spoiler referente ao seu server. EXP RING Tradicional: EXP RING por Stages: Para aprender configurar a rate do Script clique no spoiler abaixo: Se quer um Anel de Experiencia Recarregável (como soft boots), clique no Spoiler abaixo. É, acho que é isso... Qualquer coisa postem aqui para resolvermos juntos. Eu editei o Script, criei o NPC e criei o Tutorial. Créditos pelo tutorial: AdrianoSwaTT Créditos pelo Exp Ring Stages: Vodkart Créditos pelo Script: OTLand Abraços, espero que seja útil'1 ponto -
Mestre Em Baiak (8.60) BeTa Edited By: DeathCore Templo renovado,city toda renovada,muitas novidades. Npc que vende set vip, pra mage,pali,kina : FAST ATACK ROX OT 100% PRA WAR. BALANCEADO Recomendo ^^ Espero que gostem espero receber +Rep. Temple Teleport free: teleport vip: City principal: Download http://www.4shared.c...iak__BeTa.html? Scan http://www.virustotal.com/file-scan/report.html?id=d82ac4984e5d75265a370c7dd08ae5a3e2e693d3b3f62b928ea2790e2a22906c-1308264764 Venho Só Trazer o Melhor Conteudo De OTservs Para Vcs, Espero Que Vcs Curtão! Creditos Death Core (eu) (Baiak) (grande parceria) Ajudei? Então Me Da REP+ , Não Vai Cair Sua Mão1 ponto
-
[9.20 -> 9.31] Crystal Server - V0.1.9 (Mapa Yurots)
DexpironFox reagiu a Tryller por um tópico no fórum
Crystal Server Olá Venho lhes trazer o Crystal Server. Aviso O Mapa é YurOTs 8.0 de gelo, editado por GOD Bom, e atualizado para 8.6 por Toty. Creditos ao mapa para Yurez (criador do mapa) e GOD Bon por edita-lo. Conta do GOD é 222222/password [ File changes: D = Deletado, M = Modificado, A = Adicionado. [ 0.1.9 A = data/npc/npcs.xml A = data/talkactions/scripts/blessings.lua A = data/actions/scripts/other/keys.lua M = OTServ.exe M = config.lua M = data/lib/000-constant.lua M = data/lib/001-class.lua M = data/lib/050-function.lua M = data/lib/100-compat.lua M = data/monster M = data/npc/lib/npcsystem/keywordhandler.lua M = data/npc/lib/npcsystem/main.lua M = data/npc/lib/npcsystem/modules.lua M = data/npc/lib/npcsystem/npchandler.lua M = data/spells/spells.xml M = data/spells/scripts/attack/whirlwind throw.lua M = data/spells/scripts/attack/strong ethereal spear.lua M = data/spells/scripts/attack/inflict wound.lua M = data/spells/scripts/attack/groundshaker.lua M = data/spells/scripts/attack/front sweep.lua M = data/spells/scripts/attack/fierce berserk.lua M = data/spells/scripts/attack/ethereal spear.lua M = data/spells/scripts/attack/curse.lua M = data/spells/scripts/attack/brutal strike.lua M = data/spells/scripts/attack/berserk.lua M = data/spells/scripts/attack/annihilation.lua M = data/actions/actions.xml M = data/actions/lib/actions.lua M = data/actions/scripts/foods/coconut_shrimp_bake.lua M = data/actions/scripts/foods/demonic_candy_ball.lua M = data/actions/scripts/foods/food.lua M = data/actions/scripts/foods/pot_of_blackjack.lua M = data/actions/scripts/foods/sweet_mangonaise_elixir.lua M = data/actions/scripts/liquids/antidote_potion.lua M = data/actions/scripts/liquids/berserk_potion.lua M = data/actions/scripts/liquids/bullseye_potion.lua M = data/actions/scripts/liquids/mastermind_potion.lua M = data/actions/scripts/liquids/potions.lua M = data/actions/scripts/other/blueberrybush.lua M = data/actions/scripts/other/ceremonialankh.lua M = data/actions/scripts/other/constructionkits.lua M = data/actions/scripts/other/decayto.lua M = data/actions/scripts/other/doors.lua M - data/actions/scripts/other/enchanting.lua M = data/actions/scripts/other/spellwand.lua M = data/actions/scripts/other/spideregg.lua M = data/actions/scripts/other/taming.lua M = data/actions/scripts/quests/system.lua M = data/actions/scripts/tools/fishing.lua M = data/actions/scripts/tools/skinning.lua M = data/actions/scripts/tools/squeeze.lua M = data/XML/channels.xml M = data/XML/mounts.xml M = data/creaturescripts/scripts/guild.lua M = data/creaturescripts/creaturescripts.xml M = data/creaturescripts/scripts/login.lua M = data/movements/movements.xml M = data/movements/scripts/closingdoor.lua M = data/movements/scripts/drown.lua M = data/movements/scripts/hotd.lua M = data/movements/scripts/junglemaw.lua M = data/movements/scripts/swimming.lua M = data/movements/scripts/tiles.lua M = data/movements/scripts/walkback.lua M = data/talkactions/talkactions.xml M = data/talkactions/scripts/reload.lua M = data/talkactions/scripts/gamemaster.lua M = data/talkactions/scripts/newtype.lua M = data/talkactions/scripts/save.lua M = data/talkactions/scripts/teleporttown.lua M = data/talkactions/scripts/broadcastclass.lua M = data/talkactions/scripts/newtype.lua M = data/talkactions/scripts/reports.lua M = data/talkactions/scripts/waypoints.lua M = data/items/items.xml M = data/items/randomization.xml D = data/actions/scripts/decrease.lua D = data/actions/scripts/increase.lua D = data/actions/scripts/other/trap.lua ] ] [ 0.1.9 [ Portugês Adicionada nova função lua doSaveHouse({list}) (Tryller, TFS) Adicionado duas novas creatureevents onSpawn e onThrow (Tryller, TFS) Adicionado reload para mounts (Toty) Adicionado mais doors no 000-constant.lua (Tryller, TFS) Adicionado mais tipos de menssagens em 000-constant.lua (Tryller, TFS) Adicionado SKULL_ORANGE at 000-constant.lua (Tryller) Adicionado mais compatibilidades em 100-compat.lua (Tryller, TFS) Adicionado novas configs para casa no config.lua (Tryller, TFS) Adicionado allowedMaxSizedPackets no config.lua (Toty, TFS) Adicionado npcs.xml na pasta de npc para fazer load dos npcs (Tryller, TFS) Adicionado groups para talkactions (Toty, TFS) Adicionado talkaction /bless playername, blessid (Tryller) Corrigido erro com hasCreatureCondition (Toty, TFS) Corrigido erro com reloads (Toty) Corrigido erro com npc system (Toty, TFS) Corrigido erros com chats (Tryller) Corrigido funções lua em 050-funcitons.lua (Tryller, TFS) Corrigido problemas com spawns (Toty, TFS) Corrigido problema com venda de casas para outros players (Toty, TFS) Corrigido problema com Soul Points (Tryller, TFS) Corrigido problemas com mounts (Tryller) Corrigido erro com guilds (Toty) Corrigido erro com conditions (Toty, TFS) Corrigido erro com pagamento de houses (Toty, TFS) Corrigido guild mtod (Big Vamp) Corrigido server save (Tryller, TFS) Corrigido talkactions /squelch, /town, /save, /newtype, (Tryller, TFS) Corrigido eeros com sistema de camas (bed's) (Tryller, TFS) Corrigido algumas talkactions (Tryller, TFS) Corrigido algumas spells (Tryller, TFS) Corrigido alguns erros em moements (Tryller, TFS) Corrigido problemas em algumas actions (Tryller, TFS) Atualizado items.xml (Toty, TFS) Atualizada ppasta monster (Toty, TFS) Removido reload para house prices (Toty) ] ] Download v0.1.9 http://www.megaupload.com/?d=96401ZJJ DLL http://www.speedysha.../a7ZuS/dlls.rar Source http://vapus.net/svn...Crystal+Server1 ponto -
[Tutorial]Postando Ss's
Demonbholder reagiu a LimanoiD por um tópico no fórum
Eaê galerinha do xTibia ! Hoje eu vou ensinar a vocês como postar Imagens nos post .( Para quem não sabe ) POSTANDO IMAGENS NO xTIBIA ! 1° Abra o site http://imageshack.us/ : 2° Clique em BROWSE : 3° Irá aparecer uma tela onde você selecionará a(s) foto(s),selecione e clique em ABRIR : --> Depois clique em CARREGAR ! 4° Você irá ser redirecionado para uma pagina do ImageShack.us , nela terá os seguintes dados : Link Widget Code Cod. Forum. Copie o CODIGO DO FORUM : 5° No local de postar no xTibia dê um CTRL+V e depois APAGUE ISSO : É isso ai cambada do xTibia Ajudei ? REP+ :button_ok:1 ponto -
AULA I Introdução a Programação LUA INTRODUÇÃO Olá, se você está aqui lendo essa aula, provavelmente é porque abriu aqueles arquivos estranhos da pasta do seu servidor e viu uns escritos místicos que você não conseguiu entender. Primeiro, você tentou mexer naqueles escritos e, BOOM!, as quests do seu servidor começaram a dar erros, as poções do jogo começaram a ficar desequilibradas, magias começaram a ficar "apelonas" e, enfim, seu servidor foi para o espaço. Aqui nesse conjunto de aulas, você aprenderá a milenar arte de programar scripts e sua única ferramenta será a linguagem LUA. No fim delas, você poderá bater no peito e falar, eu sou um scripter. SCRIPTING? SCRIPTS? Antes de mais nada, você precisa entender o que é scripting e o que são scripts. Scripting é, nada mais, o ato de programar em uma certa linguagem. Já scripts são blocos de código escritos nessa linguagem, que, através de um interpretador, são lidos e... bem... interpretados. Essa certa linguagem é a Lua, uma potente ferramenta de programação, que oferece recursos e suporte para orientação a objetos ou dados, como também programação funcional. Por ser de fácil utilização e entendimento, a linguagem LUA foi implementada como uma biblioteca ao código C++ do projeto Open Tibia. O QUE EU PRECISO PARA SER UM SCRIPTER? Muita gente acha dá de cara com os obstáculos e, pronto, desiste. Isso é um dos "defeitos" que você deve abrir mão, se quiser ser um futuro programador. Você deve ter força de vontade e determinação, olhar para a linguagem e falar: "Eu sou foda e vou fazer isso funcionar". Além disso, você precisa ter paciência, nem sempre você vai conseguir entender os mais difíceis conceitos e estruturas, quando isso ocorre, você deve ter garra e tirar suas dúvidas. Nem sempre você vai pegar um bloco vazio, escrevinhar um código e ele vai funcionar do jeito que você queria e, por isso, você não pode desanimar e/ou desistir. Um scripter também precisa ter criatividade e muita vontade, a primeira para ter ideias e a segunda para concluir e tornar essa ideia real. Você acha que vai ter a ideia, olhar para a tela do computador e sem cansar a mão de tanto escrever, a ideia vai surgir pronta? Não mesmo. E, por fim, você precisa de ferramentas, não é? Afinal, o que é um técnico sem suas ferramentas de trabalho. Lua necessita de um interpretador que leia seus scripts e, entendendo, execute as funções programadas nele, para isso você já tem um interpretador e ele é seu próprio servidor. Como disse antes, o código do projeto Open Tibia, tem bibliotecas Lua, o que faz do executável um interpretador. E você irá precisar de uma ferramenta para escrever o código, para isso, recomendo o Notepad++, que possui suporte a Lua. CONCLUSÃO Essa aula termina aqui, ela é curta, pois introduz apenas os conceitos básicos, afinal, você não quer ler um pequeno artigo e se tornar o melhor, melhor do mundo em programar scripts, certo? Na próxima aula, juntos iremos aprender que a programação tem uma certa lógica entre-linhas, criaremos um algoritmo e com a apresentação detalhada de algumas estruturas léxicas, iremos criar nosso primeiro script! Bem-vindo ao mundo do scripting, padawan! Para saber mais: Wikipédia - Lua (linguagem de programação)1 ponto
-
Vou trazer pra vocês um exemplo do NPC do meu servidor, ele é um corveiro. NPC: <?xml version="1.0" encoding="UTF-8"?> <npc name="Corveiro Ruan" script="data/npc/scripts/vdustquest.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="85" body="126" legs="113" feet="0" addons="0" corpse="2212"/> <parameters> </parameters> </npc> Script: 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 npcHandler:setMessage(MESSAGE_GREET, "Um vampire roubou meu Guadian shield e guardou na sala dele, você poderia buscar pra mim por favor?") function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'yes')) and getPlayerItemCount(cid,2515)>=1 then doPlayerRemoveItem(cid,2515,1) doPlayerAddItem(cid,2152,10) selfSay('Obrigado por me ajudar, pegue esse dinheiro para você.',cid) talkState[talkUser] = 1 else selfSay('Você não trouxe meu escudo.',cid) talkState[talkUser] = 1 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Explicando as linhas que você pode mudar: npcHandler:setMessage(MESSAGE_GREET, "Um vampire roubou meu Guadian shield e guardou na sala dele, você poderia buscar pra mim por favor?") Entre as "aspas" você pode colocar a mensagem inicial quando você falar HI. -- doPlayerRemoveItem(cid,2515,1) Aqui 2515 é o item que vai ser removido e 1 e a quantidade. -- doPlayerAddItem(cid,2152,10) Aqui é o item e quantidade que o player vai ganha quando trouxer tal item. -- selfSay('Obrigado por me ajudar, pegue esse dinheiro para você.',cid) A mensagem que vai aparecer quando trouxe o item. -- selfSay('Você não trouxe meu escudo.',cid) A mensagem que vai aparecer quando não tiver o item. FIM. Trouxe esse npc por que é um npc muito bom para RPG. Creditos: Estava aqui no pc, não sei aonde eu peguei.1 ponto
-
Bonus
mateusmotta reagiu a gabrielmotta1 por um tópico no fórum
Queria saber como botar addon bonus no meu ot eu achei um aki mais o post ja tava antico entao n quis reviver o topico aki a pagina queria saber como botar cada um dessas funções1 ponto -
Ta ai ;D testa e me diz se funciono espero ter ajudado. (abra o spoiler pra ver o codigo... só trocar pelo seu que voce postou aqui...) Ajudei? REP+ ;D custa nada (além de rep diario u.U)1 ponto
-
E se eu não optar por usar o XAMPP, eu teria que comprar um domínio e uma hospedagem? Se você não quiser usar Xampp, sim, você terá que pagar uma hospedagem. Eu te aconselho a por pelo Xampp mesmo e dentro do dedicado, se possivel. A unica maneira de você contratar uma hospedagem e fazer com que seu servidor no dedicado se conecte ao banco de dados do server, que estará na hospedagem, seria usando o Mysql remoto, o que traria realmente muito lag ao seu servidor. (EXPERIÊNCIA PRÓPRIA) '-' huuuum, e para deixar o ot e o site on pelo XAMPP no host eu precisaria de um dedicado bom? eu tava querendo pegar um semi-dedicado só para o começo do ot, com processador intel power xeon e 1gb de RAM, pra deixar o site on junto eu teria que pegar um melhor? Nem mano... Eu hospedo meu OT num Semi dedicado (VPS) igual a esse.. por acaso é da lgv host? se for, é bom sim.. mas atendimento se vc precisar de suporte nao é dos melhores :s... mas da tranquilo ^^ dependendo do tamanho do ot, da pra fica até uns 200 on sem um lag escessivo.. (da aquele lagzinho basico, mas nada de mais ) Mas resumindo a resposta: Da sim! Pode por confiante que é sem erro!... Ajudei? REP+ ;D1 ponto
-
[Talkaction] Additem | Coloque Um Item Na Bp De Um Jogador
didogunner reagiu a dwhfms por um tópico no fórum
Protocolo: 8.6+ Com esse script você pode colocar qualquer item na Backpack de qualquer jogador que esteja online no servidor. Caso o jogador não tenha capacidade o suficiente o item não será enviado. Comando: /additem Nome do Jogador, Nome do Item, Quantidade Vamos ao que interessa. Comece indo em \data\talkactions\scripts, crie um arquivo com o nome additem.lua e coloque isso dentro: --[[ ADDITEM by Won Helder ]]-- --[[ Créditos: 20% Vodkart e DevilMoon pela lógica ]]-- --[[ XTIBIA.COM ]]-- function onSay(cid, words, param) local t = string.explode(param, ",") if not t[3] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByName(t[1]) local quanty = t[3] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return true end local id = tonumber(t[2]) if(not id) then id = getItemIdByName(t[2], false) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end end local itemtoadd = getItemIdByName(t[2]) if getItemWeightById(itemtoadd) > getPlayerFreeCap(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O jogador " .. t[1] .. " não tem capacidade o suficiente.") return true end doPlayerAddItem(player, itemtoadd, t[3]) doPlayerSendTextMessage(player, 22, "Você ganhou " ..quanty.. " " .. t[2] .. " ") doPlayerSendTextMessage(cid, 22, "Você deu " ..quanty.. " " .. t[2] .. " ao jogador " .. t[1] .. " ") return true end Depois vá até o talkactions.xml e adicione essa linha: <talkaction log="yes" words="/additem" access="5" event="script" value="additem.lua"/> É isso aí galera, dúvidas coloquem nos comentários1 ponto -
local config = { storage = 12345, -- storage para pegar apenas uma vez id = 2333, -- id da carta text = 'Welcome! This is a text sample.' -- texto da carta } function onLogin(cid) if getPlayerStorageValue(cid, config.storage) == 1 then return true end doSetItemText(doPlayerAddItem(cid, config.id, 1), config.text) return setPlayerStorageValue(cid, config.storage, 1) end Tente isso.1 ponto
-
Bom, tem um tutorial que informa como localizar, veja: http://www.xtibia.co...ndo-spell-book/ ou, Vá em (data/items) e abra o arquivo chamado "Items.xml", e procure pelo livro que deseja colocar um mensagem fixa: Depois de achar o livro desejado basta editar uma linha que tem abaixo do livro:1 ponto
-
Premium Tile Não Está Funcionando
yurisavio reagiu a superdrako por uma questão
Tenta esse: premiumtile.lua function onStepIn(cid, item, position, fromPosition) if isPremium(cid) == FALSE then doTeleportThing(cid, fromPosition, false) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players premium podem passar.") end return TRUE end Tag : <movevent type="StepIn" actionid="14965" event="script" value="premiumtile.lua"/> Basta apenas colocar a action 14965 no tile que só os premium account podem passar.1 ponto -
[Pedido] Outfit Headsplitter
carlimpirate reagiu a Vitinhowcq por um tópico no fórum
eh so tu pegar o id dessa outfit e colocar no outfit.xml , mas lembrando que ela removerá 1 outfit pois sempre tem 1 max de outfit a ser colocada num serv1 ponto -
[Creaturescript] Kill Monster Win Item
jlimacoelho1 reagiu a SkyDangerous por um tópico no fórum
Script: Você mata um monstro e ganha um item. Cria um arquivo lua chamada monster.lua em creaturescript. local sky = { monster = "Nome do Monstro", item = {item, item1,item2,item3}, storage = 15000 } function onKill(cid, target, lastHit) if getPlayerStorageValue(cid, sky.storage) < 1 then if isPlayer(cid) and getCreatureName(target) == sky.monster then doPlayerAddItem(cid, sky.item[math.random(1, #sky.item)]) setPlayerStorageValue(cid, sky.storage, 1) end end return true end em seguida abra creaturescript.xml e colaca essa tag <event type="kill" name="killmonster" event="script" value="monster.lua"/> abra login.lua e cole isso: registerCreatureEvent(cid, "killmonster") agora abra o monstro que vai ter esse efeito e cola isso: <script> <event name="killmonster"/> </script> Editando: Nome do monstro que você quer. monster = "Nome do Monstro", Onde está o nome item coloca-o id dos item , se quiser acrescentar mais pode. item = {item, item1,item2,item3}, Agradecimentos: OneShot e Apocarai E Tutorial do Outro forum por dar a ideia.1 ponto -
actions/scripts/dolltransformer.lua function onUse(cid, item, frompos, item2, topos) doRemoveItem(item.uid, 1) doConvinceCreature(cid, doSummonCreature('Bloker', getPlayerLookPos(cid))) doSendMagicEffect(getPlayerLookPos(cid), 12) return true end actions.xml <action itemid="ID" event="script" value="dolltransformer.lua" /> aí edita o ID do item ali em cima, se isso não funcionar, aí você copia uma linha lá e edita, porque depende muito do ot1 ponto
-
<movevent type="Equip" itemid="7957" slot="head" event="function" value="onEquipItem"> </movevent> <movevent type="DeEquip" itemid="7957" slot="head" event="function" value="onDeEquipItem"/> 7957 = ID DO ITEM. head = cabeça. segue lista: head, feet ( bota), shield, ring, legs, armor e por ai vai.1 ponto
-
# Hunt – Dragons Índice Introdução Tutorial Resultado final Anexos Introdução Olá a todos, por meio deste tópico respondo o pedido do usuário: Zaroth1 Peço desculpa por tamanha demora. Tutorial Bom, vamos começar. Abra seu RME. Primeiramente, você precisa fazer a área para ser mapeada. Feito, você faz a montanha (do jeito que preferir), e seu ground, recomendo usar rock soil (ids: 4405 até 4421). Agora, vamos "formar" a hunt. (DICA: Se você quer que fique bonito, não faça TUDO no auto-border, deixe-o um pouco de lado...) Feito isso, é hora dos detalhes. Não dá para caçar em um lugar sem detalhes, ou com o mesmo ground, fica enjoativo e sem "graça" de caçar. Utilize small lava cracks (Id: 5815), e bordas do rock soil (Ids: 5828 até 5839). Faça uma randomização no ambiente, aqui como exemplo: Vou mostrar apenas nesta parte do mapa, com os detalhes, depois posto tudo. Bem, aqui você pode colocar: musgos (Ids: 4580 até 4594), pedrinhas andáveis, ambos dos tipos.. Coloque também, pedras maiores, fogos, labaredas, e dragons mortos. Sem abuso, claro. Resultado Final Faça isso no resto da montanha, que você obterá um resultado bom. Meu resultado: Espero ter ajudado, caso haja alguma dúvida pendente, poste que eu incremento o tutorial. Anexos Segue o link do resultado final deste tutorial. Para download, Clique aqui Se gostou, REP + Abraços, Bondx.1 ponto
-
[Talkactions] Save Character
hsz reagiu a Kuro o Shiniga por um tópico no fórum
Cara Estou Falando Ali Aonde Tem Qe Adicionar Leia Direito :smile_positivo:1 ponto -
[Talkaction][8.50]Totalstatsofplayer
rian121213 reagiu a ricktcs por um tópico no fórum
ATUALIZADO 17/01/09 Esse tópico será dividido em 4 etapas: 1ª Etapa: Introdução. 2ª Etapa: Scripts TFS 0.3.5 (Se não me engano é o mesmo script para o TFS 0.3, caso não seja, poste.) 3ª Etapa: Modo de uso. _____________________________________________________________ 1ª Etapa: Introduçao. Introdução: Esse script facilitara a vida de gm’s/god’s, o script é o seguinte: você ira executar o comando e ira aparecer uma serie de dados do player, cm certeza facilitara sua vida . 2ª Etapa: Scripts para TFS 0.3.5 (Tambem Funcionando para TFS 0.3 Entre em data/talkaction/scripts, copie um arquivo qualquer da pasta e renome para “statsplayers.lua” abra-o, apague todo o conteúdo e cole as informações a seguir: --Total Stats of players 100% by Ricktcs-- function onSay(cid, words, param) access = 2 if getPlayerGroupId(cid) >= access then player = getPlayerByName(param) if player > 1 then life = getCreatureHealth(player) lifemax = getCreatureMaxHealth(player) manamax = getCreatureMaxMana(player) mana = getCreatureMana(player) lvl = getPlayerLevel(player) guildname = getPlayerGuildName(player) group = getPlayerGroupId(player) soul = getPlayerSoul(player) voc = getPlayerVocation(player) sex = getPlayerSex(player) pacc = getPlayerPremiumDays(player) food = getPlayerFood(player) speed = getCreatureSpeed(player) basespeed = getCreatureBaseSpeed(player) ml = getPlayerMagLevel(player) fist = getPlayerSkill(player, 0) club = getPlayerSkill(player, 1) sword = getPlayerSkill(player, 2) axe = getPlayerSkill(player, 3) dist = getPlayerSkill(player, 4) shield = getPlayerSkill(player, 5) fish = getPlayerSkill(player, 6) local playerPos = getCreaturePosition(player) doPlayerPopupFYI(cid, "LifeMax: " .. lifemax .. " \nLife: " .. life .. " \nManaMax: " .. manamax .. " \nMana: " .. mana .. " \nLevel: " .. lvl .. " \nGroupId: " .. group .. " \nSoul Points: " .. soul .. " \nVocationId: " .. voc .. " \nSex: " .. sex .. " \nPremium Days: " .. pacc .. " \nFood Time: " .. food .. " \nSpeed Base: " .. basespeed .. " \nSpeed Atual: " .. speed .. " \nGuild Name: " .. guildname .. " \nMagic Level: " .. ml .. " \nFist Fighting: " .. fist .. " \nClub Fighting: " .. club .. " \nSword Fighting: " .. sword .. " \nAxe Fighting: " .. axe .. " \nDistance Fighting: " .. dist .. " \nShielding: " .. shield .. " \nFishing: " .. fish .. " \n\nPOSITION [X: "..playerPos.x.." ] [ Y: "..playerPos.y.." ] [ Z: "..playerPos.z.."].") else doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE," O nome esta incorreto ou não existe!") end end return 1 end Após isso vá em data/talkaction/talkaction.xml e adicione a informação a seguir: <!-- Total Stats of players by Ricktcs --> <talkaction log="yes" access="5" words="/stats" script="statsplayers.lua"/> 4ª Etapa: Modo de uso. ATENÇAO: Se não der certo poste aqui pra eu concerta, mas testei aqui e deu normal, creio que não tenha bugs Agora vou explicar como se usa este comando. Após ter feito todas as etapas corretamente. Ligue(de /reload talk se o server já estiver online) Pegue seu gm/god e escreva /stats nome do personagem (Sem aspas nem nada, só /stats nome do player) as informações do personagem no qual você executou o comando(por exemplo: /stats ricktcs) irá aparecer no meio da tela(Versão PopUp). Caso você escreva o nome errado/ não exista ninguém com este nome você ira receber a seguinte informação no rodapé: "O nome esta incorreto ou não existe!". Caso você execute o comando usando um personagem sem ser gm/god(por exemplo: Ricktcs:/stats “Ricktcs”) o comando não será executado, apenas será uma mensagem normal(lembrem-se isso só é com personagens sem ser gm/god). Duvidas, sugestões, criticas ? Comente Porfavor comente só assim eu poderei melhorar !!! CREDITOS 80% Ricktcs(Script) 20% AlissonLinneker(versão em popup). ATENÇAO: Se for postar esse commando em outros forums me avise e coloque os devidos créditos. ~Ricktcs~1 ponto