Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 07/30/15 em %

  1. RigBy

    Comando /attr - TFS 1.x

    Ola, tava dando uma olhada no TFS 1.x e acabei percebendo que não tinha o comando /attr, então tinha decidido recriar, alguns comandos ja tava funcionando mas eu acabei achando esse na internet e resolvi trazer para ca. Exemplo: /attr action, 1231 Então vamos la instalar: Em talkactions/talkactions.xml adicione essa tag: <talkaction words="/attr" separator=" " script="attributes.lua" /> Em talkactions/scripts, crie o arquivo attributes.lua e adicione isso: local itemFunctions = { ["actionid"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["action"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["aid"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["description"] = { isActive = true, targetFunction = function (item, target) return item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, target) end }, ["desc"] = { isActive = true, targetFunction = function (item, target) return item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, target) end }, ["remove"] = { isActive = true, targetFunction = function (item, target) return item:remove() end }, ["decay"] = { isActive = true, targetFunction = function (item, target) return item:decay() end }, ["transform"] = { isActive = true, targetFunction = function (item, target) return item:transform(target) end }, ["clone"] = { isActive = true, targetFunction = function (item, target) return item:clone() end } } local creatureFunctions = { ["health"] = { isActive = true, targetFunction = function (creature, target) return creature:addHealth(target) end }, ["mana"] = { isActive = true, targetFunction = function (creature, target) return creature:addMana(target) end }, ["speed"] = { isActive = true, targetFunction = function (creature, target) return creature:changeSpeed(target) end }, ["droploot"] = { isActive = true, targetFunction = function (creature, target) return creature:setDropLoot(target) end }, ["skull"] = { isActive = true, targetFunction = function (creature, target) return creature:setSkull(target) end }, ["direction"] = { isActive = true, targetFunction = function (creature, target) return creature:setDirection(target) end }, ["maxHealth"] = { isActive = true, targetFunction = function (creature, target) return creature:setMaxHealth(target) end }, ["say"] = { isActive = true, targetFunction = function (creature, target) creature:say(target, TALKTYPE_SAY) end } } local playerFunctions = { ["fyi"] = { isActive = true, targetFunction = function (player, target) return player:popupFYI(target) end }, ["tutorial"] = { isActive = true, targetFunction = function (player, target) return player:sendTutorial(target) end }, ["guildnick"] = { isActive = true, targetFunction = function (player, target) return player:setGuildNick(target) end }, ["group"] = { isActive = true, targetFunction = function (player, target) return player:setGroup(Group(target)) end }, ["vocation"] = { isActive = true, targetFunction = function (player, target) return player:setVocation(Vocation(target)) end }, ["stamina"] = { isActive = true, targetFunction = function (player, target) return player:setStamina(target) end }, ["town"] = { isActive = true, targetFunction = function (player, target) return player:setTown(Town(target)) end }, ["balance"] = { isActive = true, targetFunction = function (player, target) return player:setBankBalance(target + player:getBankBalance()) end }, ["save"] = { isActive = true, targetFunction = function (player, target) return target:save() end }, ["type"] = { isActive = true, targetFunction = function (player, target) return player:setAccountType(target) end }, ["skullTime"] = { isActive = true, targetFunction = function (player, target) return player:setSkullTime(target) end }, ["maxMana"] = { isActive = true, targetFunction = function (player, target) return player:setMaxMana(target) end }, ["addItem"] = { isActive = true, targetFunction = function (player, target) return player:addItem(target, 1) end }, ["removeItem"] = { isActive = true, targetFunction = function (player, target) return player:removeItem(target, 1) end }, ["premium"] = { isActive = true, targetFunction = function (player, target) return player:addPremiumDays(target) end } } function onSay(player, words, param) if(not player:getGroup():getAccess()) or player:getAccountType() < ACCOUNT_TYPE_GOD then return true end if(param == "") then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return false end local position = player:getPosition() position:getNextPosition(player:getDirection(), 1) local split = param:split(",") local itemFunction, creatureFunction, playerFunction = itemFunctions[split[1]], creatureFunctions[split[1]], playerFunctions[split[1]] if(itemFunction and itemFunction.isActive) then local item = Tile(position):getTopVisibleThing(player) if(not item or not item:isItem()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item not found.") return false end if(itemFunction.targetFunction(item, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this item.") end elseif(creatureFunction and creatureFunction.isActive) then local creature = Tile(position):getTopCreature() if(not creature or not creature:isCreature()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.") return false end if(creatureFunction.targetFunction(creature, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this creature.") end elseif(playerFunction and playerFunction.isActive) then local targetPlayer = Tile(position):getTopCreature() if(not targetPlayer or not targetPlayer:getPlayer()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return false end if(playerFunction.targetFunction(targetPlayer, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this player.") end else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Unknow attribute.") end return false end Credito: Darkhaos, por ter adptado para lua WibbenZ, por ter adptado para TFS 1.x
    3 pontos
  2. TheSekcy

    Simple Space e SOTW 6

    Fiz esse wallpaper com base em outro wallpaper então a ideia não é minha, eu só recriei a base de outra ideia :3 (claro que não ficou melhor que a original ;-; ) E esse eu iria usar para o SOTW 6, mais preferi fazer outro porque eu só mexi na iluminação e no contraste desse então vou postar ele aqui
    2 pontos
  3. Francisco Souza

    [Pedidos] ~FSouza

    Aqui está a LOGO amigo: Mas poderia me explicar melhor a questão da Background, eu jogo Tibia a bastante tempo mas não entendo muito de criação de OTServ, se não me engano Gesior é um tipo de site para OT mas não sei nada além disso kkk. Desculpe :c
    2 pontos
  4. Overpower

    Sign of the Week #6

    Estou sem tempo, mas fiz uma ae só pra participar mesmo. Boa sorte a todos.
    2 pontos
  5. Alissow OTs 4.11! Esta versão 4.11 foi meio apressada, só adicionamos as features novas do 8.6. Aproveitem. Créditos: Alissow Comedinha Luis Nirk TFS Team Viniply Xedegux Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest -The Challenger Monstros: -Total monstros: 10292 -Total spawn: 5587+ Cidades: -12 Cidades -200 Houses+- Raids/Invasões: -Rat -Orshabaal -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth Spells: -Magias editadas para balanceamento das vocações Changelog Atualização [3.4 BETA]: - Removido áreas não usadas no mapa, diminuindo o tamanho em MBs - Adicionado Anti Magebomb System - Corrigido bugs no npc addon - Adicionado sistema onde os npcs falam sozinhos (Igual como foi adicionado no global). First ;] - Adicionado Elf village em Venonh ( bem parecida com a do global ;]) - Potions desaparecem quando usadas - Corrigido sistema de Up - Corrigido sistema de Monster Counter - Nova dragon lair em Mirand Theraan (Subsolo) - Adicionado porta de level, que protege leveis baixos acessarem os demons da cidade de Flam - Ampliado deserto da cidade de Mirand Theraan - Adicionado Ilha de Goroma - Adicionado Forbidden islands - Ampliado floresta da cidade de alfon e colocado área de macacos parecida com Banuta. - Ligação de alfon com Mirand Theraan - Corrigido bugs reportados nas portas das casas - Corrigido posição dos buracos e escadas - Adicionado beds em todas as casas - Corrigido bugs em casas de yalahar - Adicionado Blue legs quest ( Koshei The Deathless global) - Corrigidas quase todas as areas de Yalahar - Teleports em Yalahar substituidos por NPCs de teleport do global - Corrigido pequenos erros no npc Capitao Coruja, e adicionado viagem à goroma - diminuido ataque do Eye of the seven - Ice rapier agora quebra - Corrigido npc Banker - Adicionado quase todos os items 8.5 - Adicionado medusa - Adicionado Todos os outfits novos - Corrigido NPC Banker (que dava dinheiro) Script By Ta4e - Corrigido Annihilator Quest - Adicionado Notice System - Adicionado novo distro, compilado por Comedinha Atualização nº 2 [3.4]: Otserv atualizado... Corrigido debugs frequentes Corrigido debugs na magia exevo pan Corrigido bugs nos npcs Roy e Firewalker Adicionados mais novos items 8.5, agora temos 90% dos items novos... Atualização 3.5 [06/08/2009]: - Cidade principal (dorion) totalmente reformada - corrigido blue legs quest - Corrigido alavancas de compra de potions - Adicionado alavancas de compra de runas - Corrigido npc Bank - Adicionado NPC King Arthas, que vende promotion - Adicionado npc Rashid, que vende items. - Arrumado Wild Growth rune - Arrumado Utani Hur - Magias reajustadas - Novo estilo de server save - Ilha de mystic reformulada (by Nirk) - Adicionado nova magia para knights "Exkordium". - Adicionado nova magia para mages (promoted) "Exura Seil". - Adicionado nova magia para mages (promoted) "Exevo Gran Frigo". (arrumar -> sem exhausted nem gasta mana) - Adicionados novos monstros. - Adicionado quest challenge (lvl 250) - Corrigido bug do Dead Cyclops - Bug aol Arrumado - Poi Modificada - Corrigido teleports ghouls yalahar - Modificada demon helmet quest, assim como o premio da quest - Corrigido nome do Hallowed axe - Corrigido bug das houses - Corrigido bug dos items andaveis Atualização Patch 3.5.1 [07/08/2009]: - Corrigido erro na inicialização do Ot - Bug das potions corrigido - Bug do aol corrigido (pelomenos pra mim) - Bug dos outfits corrigido - Corrigido erros nas escadas na ilha PvP - O monstro The Fastest Turtle agora não morre, se tornando um monstro apenas para atrapalhar - Retirada suposta quest dos 3 hellhounds e 1 minishabaal - Adicionado teleport de retorno na Ferumbras Tower - Corrigido posições da raid de The old widow - Corrigido bug das escadas nas minas de demons - Corrigido alguns bugs vistos no mapa Atualização 3.6 [10/08/2009]: - Arrumado bugs criticos - Arrumado comando !promote/!demote - Atualizado Items.xml - Bug das Beds arrumado - Modificações na cidade, como, nature e caves - Nova sala de treino - Adicionado comando !highscores Atualização 3.7! Beta [18/12/2009]: - Guildhall support (Elf) - Nova deathlist(Elf, OpenTibia SVN) - Frags funcionando (Elf) - Atualizado monstros e items (slawkens, KaczooH, Elf) - Novas talkactions: /commands, /wp, /storage, /config, /promote & /demote. (slawkens) - Novas funções lua - Novos creatureevents (slawkens, Elf) - Novos configuráveis (Elf, slawkens) - Modificado ataque de monstros existentes (especialmente outfits e velocidade) (Elf) - Monstros reorganizados & atualizados (Nem todos) (slawkens) - Melhorado sistema de banimentos (Elf) - Reescrita janela de Rule Violation (Elf) - Arrumado Stamina (Elf, OpenTibia SVN) - Casas agora são salvas nas modificações do dono (Elf) - Escadas de yalahar funcionando perfeitamente (Elf, Talaturen) - Sistema de nado & waterball completo (slawkens) - Monstros invisiveis não são mais mandandos ao client (anti bot) (OpenTibia SVN) - Anti-dash (OpenTibia SVN) - Sistema de leilão de casas, possibilidade de usar site para vender casas (house_actions table) (OpenTibia SVN, Elf) - Salvando bot actions para /logs/bots por cada player. Por exemplo, bot pode enviar mensagem com mais de 255 caracteres (slawkens) - Novos raid events- item spawning & disappearing and more (Elf) - Modificações no NPC system (Elf) - NPCs OutfitModule (Elf) - Completo 8.53 support, com wars (Elf) - Completo 8.54 support (Elf) - Arrumado NPC voices (Elf) - Players serão informados quando o Gamemaster logar ou ficar invisivel (slawkens) - Arrumado Player Deaths (Elf, slawkens) - Arrumado Abuso de PZ (slawkens) - Portas agora não ajudam players a entrar em PZ (slawkens) - Magic level formula (OpenTibia SVN, KaczooH) - Memory leaks (Elf) - Queries optimization (Talaturen) - Janelas podem ser abertas do lado de fora da casa- agora apenas GMs podem fazer isso (slawkens) - arrumado Efeitos para o Ghost (GM)- configuravel (slawkens) - Corrigido >> Ghost debugging players (OpenTibia SVN, Elf) - Corrigido erro na promotion (Elf) - Corrigido vários erros no console. (slawkens) - Corrigido Spam de magias (Elf) - Corrigido stamina premium (Elf) - Corrigido Clean (Elf) - Corrigido vários outfits (Elf) - Corrigido Ghost (Elf) - Todas as correções no OpenTibia SVN (Open Tibia SVN, Elf) - Corrigido Todos os crashes possiveis (Elf) - Npcs Corrigidos (Comedinha) - Distro Reformulado (comedinha) - Bugs de reports arrumados (Comedinha) - Novos outfits (Alissow) - Actions Arrumadas (Comedinha) - Libs trocadas (Comedinha) - Talkactions bugadas arrumadas (Comedinha) - Reforma na área Sul da cidade Dorion (Alissow) - Adicionado monstros 8.54 (Alissow) - Corrigido bug das potions infinitas (Alissow) Atualização 3.7 Patch 1 [27/12/2009]: - Rampa na frente da loja de foods retirada (Alissow) - Arrumado bugs de mapa em anknor (Alissow) - Bug na Lib dos npcs corrigido (Alissow) - Bug do acc manager arrumado! (Alissow) - Magias "Exkordium" e "Ice Storm" arrumadas (Alissow) - Monstros 8.54 funcionando (Alissow) - 2º Addon Yalaharian arrumado (Alissow) - Addons Warmaster adicionados no NPC Addoner (Alissow) - Pequenas modificações na cidade principal, Dorion, para melhora da jogabilidade (Alissow) - Comando /Deathlist retirado (Alissow) - Magic Wall Rune arrumada (Alissow) - Quest Annihilator arrumada (Alissow) - "Your depot contain x items" Arrumado (Alissow) - Addons reorganizados, mais facil aggora (Alissow) - Tempo de Red skull e Black skull reduzidos para 24 e 42 horas (Alissow) - Reduzida porcentagem de morte (Alissow) - Acrescentado chance de critical hits (Alissow) - ShowHealingDamage Adicionado (Alissow) - Várias partes do mapa remapeadas (Alissow) - NPCs para recarga de Soft boots & Firewalker boots arrumados [Não testado] (Alissow) - Comando !frags arrumado! (Alissow) - Agora é possivel fazer addons sem precisar do comando !buypremium (Alissow) Atualização 3.8 [17/01/2010]: - Arrumado bug nas escadas do Dlair (Alissow) - Todos os bugs nos NPCs arrumados (Comedinha) - Novas talkactions [a pedidos] (Comedinha) - Deathlist arrumada (Comedinha) - Novo Distro (Comedinha) - MySQL Atualizada (Comedinha) - Firewarker boots não é mais gasta quando não está usando (Comedinha) - Problemas com items no Rashid arrumados (Alissow, Comedinha, Comunidade) - O NPC Banker foi corrigido, mas achei mais seguro retira-lo, visto que ninguem usava e poderia causar outro tipo de bug - Ilha (Sim aqui é uma ilha) de Zao adicionada (Alissow, Barker) - Monstros 8.54 aperfeiçoados (Alissow, Markithu, Zkum) - Reduzido danos da magia Exkordium (Alissow) - Os npcs Dark Rodo e Rachel vendem Blank Runes (Alissow) - Magias que não hitavam anteriormente foram arrumadas (Alissow) - Comando !buypremium arrumado (Alissow) - Arena PVM - Mais conhecida como Arena Svargrond - FUNCIONANDO!!! (Alissow) - Magia LightChain Retirada (Alissow) - Adicionado um sisteminha legal no templo (Alissow) - NPC Rashid retirado (Alissow) Atualização 3.8 Minor Patch 1 [17/01/2010]: - Comando Deathlist retirado novamente, fizemos testes equivocados. Se você é uma das 16 pessoas que baixou a versão anterior (3.8) não precisa baixar esta, basta retirar o comando !deathlist e /deathlist do seu Talkactions.xml, Os comandos causam quedas no servidor. Atualização 3.9 [15/02/2010]: - Cidade principal (Dorion) reformada, novo templo, novo depot, novo porto, novos npcs :] (Alissow) - Adicionado Reputation System (Comedinha, Cybermaster) - Adicionado !bless system (Comedinha) - /info melhorado (Comedinha) - Jail System (Comedinha) - Bug chatinho nos tiles pretos arrumado. - Magic Wall Funcionando! (Alissow) - Agora você pode fazer bolos e pães :] (Comedinha, Jean, Ojani) - Adicionado sistema de casamento (Comedinha, ScorpiOOn93, Alissow) - Loot The Fastest Turtle diminuido (Alissow) - Loot e experiencia do Feromous mais baixo (Alissow) - Sistema de parceis para Dorion funcionando (Alissow) - Guildwar System (Comedinha) - Anti MageBomb System (Comedinha, Huggen) - Adicionado Anti Nuker - Esse funciona! (Comedinha) - Adicionado Map Marks, para os players novos (Alissow, Comedinha) Atualização 4.0 [15/02/2010]: - Cidade Mountain totalmente reformada (Alissow) - Montanha de Goblins de Dorion reformada (Alissow) - Demonic Castle de Dorion reformado (Alissow) - Cidade de Venonh modificada (Luis) - Distro atualizado, funcionando nos clients 8.54, 8.55, 8.56 e 8.57 (Comedinha) - Comando !bless retirado (Alissow) - O NPC Ermes não vende mais items de decoração (Alissow) - Arrumado bugs na Ferumbras Tower (Alissow) - O comando !AFK on agora mantem o player parado (Comedinha) - Arrumado bugs nas escadas da área de DeathFans (Alissow) - Comando !Deathlist funcionando! (Alissow, Doidinmapper, GT Thionix) - Sistema de REP atualizado (Comedinha) - Sistema de Polls (Comedinha) - Banco por comandos (Comedinha) - Novos comandos de addon e accounts (Comedinha) - Sistema de futebol completo! (Comedinha) - Sistema Antibot (Comedinha) - Magia Spared Hur modificada (Alissow, Orzeleagle) - Adicionado sistema de montaria (Alissow, unknown666) - Adicionado Canivetes (Alissow, Siramix) - Nova hunt Subaquatica (Luis) Atualização 4.11! [11/07/2010]: - Versão 8.6, todos os items, outfits e monstros novos (Comedinhasss, Fireelement) - Adicionados os novos monstros 8.6 (Alissow) - Bug das potions arrumado (Comedinha, Matheusmkalo, Gabriel linhares, Fireelement) - Erros das runas arrumado (Comedinha, Gabriel linhares, Matheusmkalo, fireelement) Download Servidor: 4shared Tamanho: 17,416 KB Download: http://www.4shared.com/file/ez8XKrju/860_Alissow_Ots_411.html Link protegido: http://lix.in/-8d4bc0 Scan VirusTotal: http://www.virustotal.com/pt/analisis/983abb574dbb957a75aa1fd29eb804065f775e6a0c43216aa277686d32bce22a-1263702373 Atenção - Acc do God: god/god - LEIA o tópico antes de postar qualquer coisa ou duvida - Reportem se houver algum bug - A database fica na pasta schemas+Database - Proibido o uso do nosso distro sem o nosso consenso, obrigado. Andei percebendo que há muitos mapas feitos por mim em outros servidores postados aqui no xtibia, eu não sei se vocês sabem, mas isso é PLÁGIO. Eu não sou uma pessoa egoista, tudo que eu posto aqui no XTibia é para ser compartilhado, mas desde que mantenham os devidos créditos. Será denunciado qualquer tipo de "roubo" sem minha autorização para beneficio próprio. Eu sei que vocês não se importam muito com isso, eu também não deveria me importar, mas é o tempo e a dedicação de outra pessoa que vocês estão roubando, então peço gentilmente aos que tem conhecimento desses mapas, que me apontem. Não tem graça trabalhar horas e horas e ser roubado em dois minutos.
    1 ponto
  6. 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? -&amp;gt; Xampp ( 1.6.5 ) - Download - http://www.oldapps.com/xampp.php?old_xampp=38 -&amp;gt; Gesior Acc. Maker ( 0.3.8 ) - Download - http://www.mediafire.com/?u0bao9bcp9ua5vr -&amp;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" &amp;lt;- se estiver em sqlite, mude para mysql sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "123456" &amp;lt; - coloque a senha que foi criada para entrar no banco de dados. sqlDatabase = "otserv" &amp;lt; - coloque o nome de sua database , coloque " otserv " para facilitar. sqlFile = "otserv.s3db" &amp;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
  7. Luga03

    Sistema de Addon

    Eai pessoal blz? eu estava lendo um tópico do nosso amigo Alexxxx... ai o Top...(o Bolz, esqueci o nick dele aq ¬¬) ai eu vi que ele falou que a forma que ele conseguio de adicionar addon no OT dele foi dando um Ctrol+F: Addon, na pasta do PokémonXRain! ai eu baixei ele e tentei, ai adicionei tudo nescessário nele no meu ot, ai quando usei, funcionou perfeitamente! mas claro q não é sem 100% pq quando da fly, ride, surf e etc ele volta pra outfit normal, ai precisa dar Go/back no pokémon para voltar com o addon! mas fora isto esta funcionando perfeitamente! Então Vamos Parar de Blábláblá e começar! Em Data/actions e Actions.xml adiciona isto: <action itemid="IdAddon;IdAddon" event="script" value="Addon.lua"/> Em IdAddon Coloca os ids dos items dos addons! ai para adicionar mais ids é só colocar o ";" Ou seja aquele negocio verde, e depois colocar o ID Ficando: IdAddon;IdAddon;IdAddon e por ai vai Ai Em Data/actions/scripts cria um arquivo lua Chamado "Addon" e Dentro Dele Adiciona Isto: function onUse(cid, item, fromPosition, itemEx, toPosition) local addons = { [12593] = {pokemon= "Electabuzz" , looktype = 1482}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon [12925] = {pokemon= "Alakazam" , looktype = 1471}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon } if #getCreatureSummons(cid) > 0 then doPlayerSendCancel(cid, "Please back your pokemon.") return false end local numero = addons[item.itemid].looktype local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if getItemAttribute(pb,"poke") ~= pk then doPlayerSendCancel(cid, "Sorry, you can't use this addon on this poke.") return false end if getItemAttribute(pb,"addon") < 1 then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 27, "Congratulations! Now your pokemon will use the addon.") doSetItemAttribute(pb,"addon",numero) return true end return true end Ai para adicionar um Novo Addon é só Adicionar esta tag: [ItemID] = {pokemon= "NomeDoPoke" , looktype = IdDaOutfit}, EM ItemID, troca pelo id do addon em pokemon troca NomeDoPoke, pelo Nome Do Pokémon que vai ser adicionado o Addon Em looktype, troca IdDaOutfit, pelo looktype do pokémon com addon! Em Goback.lua Procure Por: else doPlayerSendCancel(cid, "This pokemon is fainted.") end E Adiciona Emcima de Else Isto: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) return false end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) return true end Em Catch system.lua Procura Por: doItemSetAttribute(item, "description", description) Adiciona Isto embaixo: doItemSetAttribute(item, "addon", 0) Em Some Functions.lua Procure Por: unLock(item.uid) Da Enter Duas Vezes e Adiciona isto: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) return false end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) return true end Pronto! Sistema de Addon Funcionando Perfeitamente Caso Coloque Tudo Certinho! Caso Queira uma Addon Box... Faz isto Em Actions.xml Adiciona Isto: <action itemid="12595" event="script" value="addonbox.lua"/> E Em Data/Actions/Scripts Cria um Arquivo Lua Chamado "addonbox" e Adiciona Isto Dentro Dele: function onUse(cid, item, frompos, item2, topos, pos) local addons = {12593,12889} local randomChance = math.random(1, 49) if item2.itemid == 12595 then doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item2.uid, 1) doPlayerAddItem(cid, addons[randomChance], 1) doPlayerSendTextMessage(cid, 27, "Você ganhou um Addon!") return true end end Pronto Addon Box Adicionada! Créditos Pokémon X Rain Pelo Sistema de Addon Summer Slyer (Zet0N0Murmurou) Por Trazer ao Xtibia, e Por Fazer o Tutorial!
    1 ponto
  8. Tiagone

    Mapa DBO 8.6 By Madara Rinnegan

    Bom estava fazendo esse mapa com o Intuito de abrir um servidor de Dragon Ball serio,entretanto eu não to com mto animo de deixa um OT abrir e cuida dele semanalmente estou entediado e eu não so tanto fan de Tibia,só jogo para passar o meu Tempo e mata o Tédio de vez enquanto,então vim aki posta meu mapa pra os cara priguiçosos... de criar um mapa ou para aqueles que tem animo de abrir ot... mais não quer abrir com um mapa 8.0 limitado.bom vou cita algumas coisas que tem no mapa abaixo. Algumas Coisas que tem no Mapa 30+ Quests de level 1 até o 500 Vip/Free tambem 100% Spells Balanceadas 100% Caves de level 1 até a 500 100% Eventos todos os dias da semana Diferenciados os eventos(Segunda a Domingo) 100% Senzu Leaf,Root,Bean e Magic(Red) 100% Items em geral esta 100% System Passiva 100% Vocations Balanceadas 100% Transforms Sem Rb de lvl 1 a 200 esta tudo 100% Transforms Com Rb de lvl 1 a 600 esta tudo 100% Transform God do filme 2015 esta adicionada para quase todos os saiyajins menos zaiko,Kagome,Pan... Bills com algumas Transforms Original God Freeza Transform Original Npc's 100% Comandos 100% tem comando de vende pontos... System do Log foi colocado para qualquer coisa que o Player falar no jogo ser salvo,assim vocês vão poder ver se alguem hackio alguem ou se roubo algo de alguem... Vocations Balanceadas(total de vocation é de até 35- vocations tanto free quanto vip) Planetas e Citys adicionados... Quest Log sendo atualizado a cada Quest feita Shenlong sendo chamado após ter pego as 7 esferas do dragão as esferas estão nas citys free só basta pega o radar com o Trunks e clica que vai marca no Mini Mapa. Arena Feita Trainers para fica só e trainer em conjuto adicionados Houses adicionadas Survival Adicionada na City 17(Premium) Castle Of Honor Adicionado com direito a ir cave Guild dominante Algumas Coisas que fis no Site Site Modern ACC Shop 100% Paginas 100% Paginas Adicionada para Facilita o Jogador como a Pagina de (Personagems,Tasks,Quests,Infos...) eu fis algumas coisas no Layout mais só modifiquei as cores colokei 1 faceloog proprio... Tem quase todas informação do mapa no site,como eventos,caves,mapa,quests,tasks... Coisas Que Pretendo para a V2 System Fly System Naves Arruma Os Erros Coloca as Sources Para Download arrumadinha... Posta um Mapa renovado sem algums erros... Erros que não consigui resolver Quando se deslonga,o set para de Heala,ou seja as função desabilita ai precisa tira o Set ou Item do Slot e coloca-lo novamente no Slot. Print's das coisas no Mapa Print's das coisas no Site e algumas transforms: Info Do Servidor TFS 0.3.6 não é Open Source(por enquanto) Versão do Mapa 8.60 Scans: Client: Click Aqui Mapa: Só Consiguir coloca o Scan do Site meu PC é ruim pra krl e net pior ainda ai não to consiguindo fazer scan. Site: Click Aqui Download: Mapa: Click Aqui Client: Click Aqui Database: Click Aqui Site: Click Aqui Creditos: Eu Por ter feito praticamente tudo '-' xtibia por me ajuda nos scripts e algums erro que me deu dor de cabeça do Krl
    1 ponto
  9. Ola Xtibianos, vim trazer um projeto do novo Gesior alguma fotos abaixo Account Manage Novo Shop configurável pelo cpanel Cpanel pagina de news mais praticidade para editação sem bagunça Cpanel paginas fácil de adicionar novo grupo e novos campos por XML bem simples Meu sistema de stream https://youtu.be/DtzIdveeA_U Algumas fotos do projeto do flash -- Esse não é certeza que vou disponibilizar só se funcionando bonitinho Colocarei mais fotos quando tiver mais novidades no projeto vou disponibilizar sim, quando receber 60 likes (pouco né pelo trabalho) nesse post aqui embaixo http://www.xtibia.com/forum/topic/235594-stream-live-tfs-10-e-12/#entry1661269 Irei disponibilizar porque ? Eu programo para que não ficamos só nas coisas antigas inovar é bom, não tenho OT nem trabalho para nenhum OT, e vamos acabar com venda de scripts. Porque estou pedindo os likes ? para que meu trabalho seja valorizado com likes porque da trabalho fazer isso e distribuir de graça. OBS: não quero que só o meu trabalho seja valorizado também de outras pessoas que faz scripts e ate outras pessoas que pegam conteúdo de outros fórum e traz para o xtibia. Estou sempre mostrando fotos para o DkAngel para ele avaliar o projeto. Obrigado pela atenção. aguardando os likes.
    1 ponto
  10. vital900

    Os Melhores Tutoriais de Mapping

    Bom, esta é a terceira lista de mapping do Xtibia (Lista1, Lista2). Estou criando estas, pois as outras deixaram de ser atualizadas e contém 'qualquer tipo de contéudo'. Visando isto estou lançando esta que será atualizada sempre que houver bons conteúdos, e tendo os melhores tutoriais ao meu ver. Espero que gostem Índice: RME • Sobre• Equipamentos para se Mappear - vital900 Entendendo melhor o RME & Dicas do RME - PsyMcKenzie, Left4Dead & ElderDark Juntando um mapa ao outro & Importando o Mapa - Filippe Ferreira & LordFire Criando Casas - Alissow (Vídeo Tutorial) Adicionando NPC's/Monster's no Palette - Vilden Mudando a Versão do Mapa - Henrique Moura Mapeando Online - Pess0a Substituindo todos os itens semelhantes do seu Mapa - Left4Dead Como Criar Quest Pelo Rme - Locosporot Convertendo uma imagem em Mapa - Mythusz Campo De Visão - EdMignari Melhorando o desempenho do RME - DuMal Principios em mapping - vital900, DretiDemon, MapperComand & Laug Fotos InGame - Beto06 Deixando um item imóvel InGame - ElderDark Guia de Mapping #01 - vital900 • Modificações • Modificando as Extensions do seu RME (DanielZiyak, Openyourmind, ) Trocando a lista de itens do RME - Paraibinha Elementos de Mappeamento • Nature • »Natureza: ( Left4Dead [1,2,3] FenixBorges, DanielZiyak [1,2,3], GuizitoG, DuMal, TecBreakerByLipe, Gears, FezZinN, vmAth, VictorFT [1,2,3,4] & vital900 [1,2,3]) Montanhas: ( ElderDark, Brund, vmAth, GuizitoG, Vital900 [1,2] & Left4Dead) Cachoeiras: ( Dumal, ElderDark, NextWorld & Left4Dead) »Construções: ( vmAth [1,2], Gears, Venom2, Overllord [1,2] vital900 [1,2,3,4,5] PsyMcKenzie, Alissow, Skywar [1,2] Caspita, XaPiNhAl, Left4Dead [1,2,3,4], ElderDark & VictorFT [1,2] »Montanhas Vermelhas: (ElderDark) • Desert • »Natureza: ( GuizitoG, vmAth, Anyur & Kausen [1,2]) »Construções: (vital900 [1,2] vmAth, TecBreakerByLipe & FezZin) » Praia: (vmAth) • Ice • »Natureza: (GuizitoG) »Construções: (???) Outros • Subterrâneo • » (Beto06, VictorFT, Koddy, Mophus, vmAth, Anyur [1,2,3] & XaPiNhAl) • Barcos • » (vital900, Sukx) • Lava • » (vmAth) • Subaquático • » (PsyMcKenzie [1,2]) • Variados • » Formatos de chãos [Renato Ribeiro] » Construindo uma cidade [FlaashMan] » Guia de cidades [VictorFT] • Vídeos • » Loja de armas e armaduras [ViitalStars] » Loja de food [ViitalStars] » Cemitério [ViitalStars]
    1 ponto
  11. Vodkart

    [Talk] Comando Mute Atualizado

    Em talkactions/script muteplayer.lua local v = {} for k = 1, 100 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000) end function onSay(cid, words, param) if (words == "/mute") then local t = string.explode(param, ",") if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player,time,pid = getPlayerByName(t[1]),t[2],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 doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mutou o jogador "..t[1].." por "..time.." minutos.") doAddCondition(player, v[tonumber(time)]) setPlayerStorageValue(player, 90000, os.time()+time*60) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..time.." minutos.") elseif (words == "/desmute") then if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(param) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end if getCreatureCondition(player, CONDITION_MUTED) == false then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este jogador não está mutado.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador "..param..".") doRemoveCondition(player, CONDITION_MUTED) setPlayerStorageValue(player, 90000, -1) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi desmutado.") end return true end talkactions.xml <talkaction log="yes" words="/mute;/desmute" access="2" event="script" value="muteplayer.lua"/> Comando: /mute NOME,MINUTOS /desmute NOME Em creaturescript/script mute_check.lua local v = {} for k = 1, 100000 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*1000) end function onLogin(cid) if getPlayerStorageValue(cid, 90000) >= os.time() then doAddCondition(cid, v[tonumber(getPlayerStorageValue(cid, 90000) - os.time())]) end return TRUE end creaturescript.xml <event type="login" name="MutePlayer" event="script" value="mute_check.lua"/>
    1 ponto
  12. Lordbaxx

    [Encerrado]RETIRADO

    - RETIRADO
    1 ponto
  13. Natanael Beckman

    ShopGuild TFS 1.0

    Shop Guild TFS 1.0 Bom, vamos ao sistema: Em talkactions.xml, adicione a tag abaixo: <talkaction words="!guildpoints" separator=" " script="guildpoints.lua"/> Na pasta talkactions/scripts faça um .lua com o nome guildpoints e dentro dele adicione os coder abaixo: local config = { executeInterval = 24, minimumLevel = 80, membersNeeded = 10, minimumDifferentIps = 6, pointAmount = 9 } local function getValidAccounts(guild) local resultId = db.storeQuery('SELECT a.`id` FROM `accounts` a, `guild_membership` m, `players` p WHERE m.`guild_id` = ' ..guild:getId() .. ' AND p.`id` = m.`player_id` AND p.`level` > ' .. config.minimumLevel .. ' and a.`id` = p.`account_id` AND a.`guild_points_stats` = 0 GROUP BY a.`id`;') if resultId == false then return {} end local accounts = {} repeat table.insert(accounts, result.getDataInt(resultId, 'id')) until not result.next(resultId) result.free(resultId) return accounts end function onSay(cid, words, param) local player = Player(cid) local guild = player:getGuild() if not guild or player:getGuildLevel() ~= GUILDLEVEL_LEADER then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Only guild leader can request points.') return false end local resultId = db.storeQuery('SELECT `last_execute_points` FROM `guilds` WHERE id = ' .. guild:getId()) if resultId == false then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendCancelMessage('Error while running database query.') return false end local lastExecution = result.getDataInt(resultId, 'last_execute_points') result.free(resultId) if lastExecution >= os.time() then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'The command can only be run once every ' ..config.executeInterval .. ' hours.') return false end local members = guild:getMembersOnline() for i = #members, 1, -1 do if members[i]:getLevel() < config.minimumLevel then table.remove(members, i) end end if #members < config.membersNeeded then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Only ' .. #members .. ' guild members online, you need ' ..config.membersNeeded .. ' guild members with level ' .. config.minimumLevel .. ' or higher.') return false end local ipDictionary, ipCount = {}, 0 for i = 1, #members do local ip = members[i]:getIp() if not ipDictionary[ip] then ipDictionary[ip] = true ipCount = ipCount + 1 end end if ipCount < config.minimumDifferentIps then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Only ' .. ipCount .. ' members are valid, you need ' ..config.minimumDifferentIps .. ' players with different ip addresses.') return false end local validAccounts = getValidAccounts(guild) db.query('UPDATE `guilds` SET `last_execute_points` = ' .. (os.time() + config.executeInterval * 3600) .. ' WHERE `guilds`.`id` = ' .. guild:getId() .. ';') player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, #validAccounts .. ' guild members received points.') if #validAccounts > 0 then db.query('UPDATE `accounts` SET `guild_points` = `guild_points` + ' .. config.pointAmount .. ', `guild_points_stats` = ' .. os.time() .. ' WHERE `id` IN (' .. table.concat(validAccounts, ',') .. ');') for i = 1, #members do local member = members[i] if isInArray(validAccounts, member:getAccountId()) then member:sendTextMessage(MESSAGE_INFO_DESCR, 'You received ' .. config.pointAmount .. ' guild points.') end end end return false end No coder acima bem no inicio tem as linhas seguintes para configurar: executeInterval = 24, ( Intervalo para execução do comando, ae está de 24 em 24hrs) membersNeeded = 10, (Quantos players é preciso está online para poder executar o comando.) minimumDifferentIps = 6, (Quantos IPS diferentes são necessários para executar o comando no exemplo ae tem 6.) minimumLevel = 80, (Aqui adicione o level minimo, é necessário que todos os player da guild tenha o level pedido para o lider executar o comando.) pointAmount = 9, (Aqui é a quantidade de pontos para adicionar em cada player da guild.) Em data/globalevents/scripts crie um arquivo chamado shopguild.lua e adicione o code a seguir: -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 18 -- 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.storeQuery("SELECT * FROM z_ots_guildcomunication") if(result_plr ~= false) then repeat local id = tonumber(result.getDataInt(result_plr, "id")) local action = tostring(result.getDataString(result_plr, "action")) local delete = tonumber(result.getDataInt(result_plr, "delete_it")) local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name"))) if(cid) then local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1")) local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2")) local container_id = tonumber(result.getDataInt(result_plr, "param3")) local container_count = tonumber(result.getDataInt(result_plr, "param4")) local add_item_type = tostring(result.getDataString(result_plr, "param5")) local add_item_name = tostring(result.getDataString(result_plr, "param6")) local received_item = 0 local full_weight = 0 if(add_item_type == 'container') then container_weight = getItemWeight(container_id, 1) if(isItemRune(itemtogive_id)) then items_weight = container_count * getItemWeight(itemtogive_id, 1) else items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeight(itemtogive_id, itemtogive_count) if(isItemRune(itemtogive_id)) then full_weight = getItemWeight(itemtogive_id, 1) else full_weight = getItemWeight(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(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("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 ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '..SQL_interval ..' seconds to get it.') end end until not result.next(result_plr) result.free(result_plr) end return true end Em data/globalevents/globalevents.xml adicione a seguinte tag: <globalevent name="shopguild" interval="300" event="script" value="shopguild.lua"/> Certo, a parte do servidor é esta, ta feita, vamos adicionar a database o coder a seguir: ALTER TABLE `accounts` ADD `guild_points` INTEGER(11) NOT NULL DEFAULT 0; ALTER TABLE `accounts` ADD `guild_points_stats` INT NOT NULL DEFAULT '0'; ALTER TABLE `guilds` ADD `last_execute_points` INT NOT NULL DEFAULT '0'; CREATE TABLE `z_shopguild_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, `pid` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) CREATE TABLE `z_shopguild_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 `z_shopguild_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`)) CREATE TABLE IF NOT EXISTS `z_ots_guildcomunication` ( `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`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=13107; Olha estamos quase finalizando tudo, só precisamos terminar a parte de web. O meu GuildShop eu copiei meu shopsystem.php e fiz umas modificações, simples você pode fazer o mesmo é menos trabalhoso. Copie o shopsystem.php renomeie para shopguild.php, após abra-o e modifique como manda a seguir: shop_system para shopguild_system premium_points para guild_points premium points para guild points z_shop_offer para z_shopguild_offer shopsystem para shopguild z_shop_history_pacc para z_shopguild_history_pacc z_shop_history_item para z_shopguild_history_item z_ots_comunication para z_ots_guildcomunication Ou utilize este já pronto: shopguild.php O shopguildadmin.php está no link abaixo, basta fazer o mesmo procedimento: shopguildadmin.php Em index.php add: case "shopguild"; $topic = "Shop Guild"; $subtopic = "shopguild"; include("shopguild.php"); break; case "shopguildadmin"; $topic = "ShopGuild Admin"; $subtopic = "shopguildadmin"; include("shopguildadmin.php"); break; Vá em config.php adicione: $config['site']['shopguild_system'] = 1; $config['site']['access_adminguild_panel'] = 9; Vá em layouts.php adicione abaixo de buypoints: <a href='?subtopic=shopguild'> <div id='submenu_shopguild' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_shopguild' class='ActiveSubmenuItemIcon'style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>Shop Guild</div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> Em layouts.php add depois do shopadmin: if($group_id_of_acc_logged >= $config['site']['access_adminguild_panel']) echo "<a href='?subtopic=shopadmin'> <div id='submenu_shopguildadmin' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_shopguildadmin' class='ActiveSubmenuItemIcon'style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>! ShopGuild Admin !</font></div> <div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> </div> </a>"; Em shopsystem.php procure por: elseif($action == 'show_history') { if(!$logged) { $main_content .= 'Please login first.'; } else{ $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($items_history_received)) { foreach($items_history_received as $item_received) { if($account_logged->getId() == $item_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $item_received['from_account']) $items_received_text .= '<i>Your account</i>'; else $items_received_text .= $item_received['from_nick']; $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.$item_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>'; if($item_received['trans_real'] > 0) $items_received_text .= '<td>'.date("j F Y, H:i:s",$item_received['trans_real']).'</td>'; else $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>'; $items_received_text .= '</tr>'; } } $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($paccs_history_received)) { foreach($paccs_history_received as $pacc_received) { if($account_logged->getId() == $pacc_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $pacc_received['from_account']) $paccs_received_text .= '<i>Your account</i>'; else $paccs_received_text .= $pacc_received['from_nick']; $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>'; } } $main_content .= '<center><h1>Transactions History</h1></center>'; if(!empty($items_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b> Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />'; if(!empty($paccs_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Pacc Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />'; if(empty($paccs_received_text) && empty($items_received_text)) $main_content .= 'You did not buy/receive any items or PACC.'; } } Troque por: elseif($action == 'show_history') { if(!$logged) { $main_content .= 'Please login first.'; } else{ $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($items_history_received)) { foreach($items_history_received as $item_received) { if($account_logged->getId() == $item_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $item_received['from_account']) $items_received_text .= '<i>Your account</i>'; else $items_received_text .= $item_received['from_nick']; $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.$item_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>'; if($item_received['trans_real'] > 0) $items_received_text .= '<td>'.date("j F Y, H:i:s",$item_received['trans_real']).'</td>'; else $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>'; $items_received_text .= '</tr>'; } } $itemsguild_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shopguild_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($itemsguild_history_received)) { foreach($itemsguild_history_received as $itemguild_received) { if($account_logged->getId() == $itemguild_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $itemsguild_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$itemguild_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $itemguild_received['from_account']) $itemsguild_received_text .= '<i>Your account</i>'; else $itemsguild_received_text .= $itemguild_received['from_nick']; $itemsguild_received_text .= '</td><td>'.$itemguild_received['offer_id'].'</td><td>'.$itemguild_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $itemguild_received['trans_start']).'</td>'; if($itemguild_received['trans_real'] > 0) $itemsguild_received_text .= '<td>'.date("j F Y, H:i:s",$itemguild_received['trans_real']).'</td>'; else $itemsguild_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>'; $itemsguild_received_text .= '</tr>'; } } $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($paccs_history_received)) { foreach($paccs_history_received as $pacc_received) { if($account_logged->getId() == $pacc_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $pacc_received['from_account']) $paccs_received_text .= '<i>Your account</i>'; else $paccs_received_text .= $pacc_received['from_nick']; $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>'; } } $paccsguild_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shopguild_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($paccsguild_history_received)) { foreach($paccsguild_history_received as $paccguild_received) { if($account_logged->getId() == $paccguild_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $paccsguild_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$paccguild_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $paccguild_received['from_account']) $paccsguild_received_text .= '<i>Your account</i>'; else $paccsguild_received_text .= $paccguild_received['from_nick']; $paccsguild_received_text .= '</td><td>'.$paccguild_received['pacc_days'].' days</td><td>'.$paccguild_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $paccguild_received['trans_real']).'</td></tr>'; } } $main_content .= '<center><h1>Transactions History</h1></center>'; if(!empty($items_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b> ShopServer Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />'; if(!empty($itemsguild_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b> ShopGuild Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$itemsguild_received_text.'</table><br />'; if(!empty($paccs_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> ShopServer VIP Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />'; if(!empty($paccsguild_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> ShopGuild VIP Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccsguild_received_text.'</table><br />'; if(empty($paccs_received_text) && empty($items_received_text)) $main_content .= 'You did not buy/receive any items or PACC.'; if(empty($paccsguild_received_text) && empty($itemsguild_received_text)) $main_content .= 'You did not buy/receive any items or PACC.'; } } Finalmente terminamos! Bom todo esse processo é feito só para facilitar tudo pra você e o player e pra diferenciar o Shop System do Shop Guild, porque um sustenta as despesas do server e o outro atrai player, porque pra ter player é preciso ter player. Galera acredito que não esteja faltando nada, espero que gostem e tudo que eu poder fazer para nossas melhoras estarei postando, me desculpem meu erros de português mais o que importa aqui é o script está correto, abraços! Créditos: Natanael Beckman Não proíbo ninguém de copia o tópico só peço que onde você adicione inclua os créditos mencionados.
    1 ponto
  14. Hoje atualizei meu Windows para o tão esperado Windows 10! E resolvi fazer esse tópico para informar como está o OS para quem esta querendo atualizar e está com medo da presença de Bugs, Glits que as vezes resolvem aparecer nos lançamentos de alguns OS, e tenho bastantes notícias boas para vocês! Na minha longa navegada pelo novo sistema operacional da Microsoft, consegui tirar várias conclusões incríveis sobre o Windows 10. Para quem gosta de navegar rapidamente pelo computador, esse sistema operacional veio bem a calhar, conta com uma velocidade e facilidade de navegação incrível, quando vi os comentários sobre isso pensei que seria como os outros Windows que prometiam a mesma coisa, facilidade na navegação, mas esse Windows 10 realmente trouxe isso, é simplesmente fantástico! Isso mesmo, o Menu Inicial voltou, bem mais bonito e confortável de se usar, com ferramentas importantes ao seu dispor logo ao abri-lo! Quando falei que era muito fácil e prático de se navegar nesse Sistema Operacional, não estava brincado, o Windows Explorer que agora recebe o nome de "Explorador de Arquivos" te dá algumas novas funções, como a aba "Acesso rápido" onde contém Pastas que você utiliza constantemente ou abriu recentemente, facilitando bastante a navegação para aqueles apressadinhos rsrs, sem contar a área de "Arquivos recentes" que mostra os arquivos que você abriu recentemente e se quiser usa-lo novamente eles estará lá para facilitar a sua vida (Creio que irá ajudar bastante quem está desenvolvendo um OT Server) Microsoft Edge, o novo Navegador do Windows, para quem odiava o Internet Explorer, vai amar o Microsoft Edge. Com uma facilidade de navegação e rapidez, o Edge trouxe um design incrível que pode ser alterado para esse mais claro da ScreenShot, ou um mais escuro, basta alterar nas preferencias do navegador. Ele utiliza como Gerador de Pesquisas o Bing. Bem gente, essa foi minha análise do Windows 10, espero que tenha esclarecido as duvidas de alguém, se ainda tiverem duvidas comentem em baixo, e vale ressaltar, até agora eu não vi nem recebi notícias de NENHUM bug ou glit dentro do Sistema Operacional. Até a próxima, Abraços! Obrigado Tio BILL <3
    1 ponto
  15. O update de Julho chegou e trouxe com ele várias novidades! Nova vocação, guild war system e muito mais. Confira todos os detalhes a seguir: Knocker é a mais nova vocação do RadBR Knocker em ação Academia de knockers em Duskwood Esta nova vocação tem como principais características possuir a maior velocidade de ataque do jogo, utilizar principalmente o skill de fist fighting e poder equipar duas armas ao mesmo tempo. Em contrapartida, é uma vocação de combate corpo-a-corpo e por isso é péssima em combate de distância e suporte em grupo. As armas dedicadas a esta vocação são luvas e garras (). Também possui várias magias exclusivas, confira-as a seguir: blow! - Causa dano físico. É preciso estar ao lado do alvo para usar esta magia. combo blow! - Causa dano físico. Versão mais forte da magia blow!. É preciso estar ao lado do alvo para usar esta magia. meditate vita! - Aumenta a vida do personagem dependendo do level e do magic level. É necessário permanecer parado para que a magia funcione. meditate gran vita! - Versão mais forte da magia meditate vita!. É necessário permanecer parado para que a magia funcione. mana drain! - Transforma uma parte da mana do oponente em vida para si mesmo. omitto! - Deixa o jogador invisível por 3 segundos. rabie! - Aumenta uma quantidade aleatória de fist fighting. transeamus! - Teletransporta o jogador para 3 sqms na direção em que estiver olhando, quando sqms livres. Além de magias exclusivas, knockers podem usar utevo lux, exiva, exura, exani tera, exana pox, exura gran, utani hur, utani gran hur, utevo gran lux e utevo vis lux. A princípio não será possível adquirir Divine Hand (), Super Divine Hand (), nem skill de fist fighting através do shopping. Informações adicionais sobre a vocação: Equipando duas armas, causará dano em dobro. Criado comando !fist para visualizar o skill de fist fighting. Guild Wars System Guild Wars System - Modo Guerra ativo! Página do Guild Wars System no site O war system será ativado automaticamente quando houver mortes entre duas guilds. Quando o war sytem for ativado, um aviso é emitido a cada um dos integrantes das guilds envolvidas e também a todos os jogadores que estiverem online naquele momento, pelo Server Log. Para encerrar a guerra, basta que ambas as guilds não matem jogadores uma da outra, por um período de 48h. A principal novidade deste sistema, é o modo guerra. Quando ativo, os jogadores envolvidos na guerra conseguirão causar danos apenas em jogadores da guild inimiga, da própria guild e também personagens com qualquer tipo de skull. Dessa forma não haverá problemas com personagens fracos e/ou curiosos que estejam aos arredores da guerra. Para evitar abusos, existem algumas condições no modo guerra: Não é possível causar danos à criaturas; Não é possível curar ou ser curado por jogadores que não estejam em guerra. Atualização de protocolo O protocolo do servidor foi atualizado para a versão 10.80 e com ele surgiram novos sprites de magias, itens, monstros, montarias, outfits, mudanças gráficas entre outras novidades: Algumas das novas animações: Algumas das novas sprites: Nesta versão é possível criar diversas combinações de hotkeys sem substituir a lista anterior, para isto basta criar um "preset". Não é mais possível curar jogadores que estejam envolvidos em um combate não justificado dentro de área pz. O client 10.80 e o novo IP Changer já estão disponíveis no site em nossa página de Downloads. O antigo IP Changer não será mais compatível. Addons por itens Neste update resolvemos atender à proposta de conseguir addons através de itens, fazendo com que sejam mais cobiçados e reconhecidos. Ter addons bonitos agora é um objetivo muito mais desafiador! Os addons obtidos anteriormente foram removidos e o dinheiro gasto com eles foi ressarcido para o NPC Waliam (banqueiro). Para conseguir cada addon, será necessário recolher alguns itens e/ou realizar tarefas para os NPCs Mr Jhon (Addon 1) e o Mr Klayer (Addon 2). Também foram implantados os sistemas de skinning e blessed wooden stake, forja e escambos para fazer addons. Confira mais informações a respeito destes sistemas nos respectivos tópicos a seguir: Sistema de Skinning & Blessed Wooden Stake. Sistema de Forja & Escambos. Observação: Várias criaturas (tanto as antigas como as novas) tiveram seu loot modificado e foram adequadas ao novo sistema de addons. Sistema de recompensa O sistema de recompensa foi implantado no jogo com o objetivo de valorizar o desempenho dos jogadores durante uma guerra contra algumas poderosas criaturas do servidor. A primeira criatura adepta ao sistema será: Korzus: Com isso, não será mais possível abrir o corpo (consequentemente, o roubo do loot) da criatura por outros jogadores através do uso de magias, runas de traps dentre outros artifícios. Para receber o loot individual de alguma criatura que pertença ao sistema, é necessário que os jogadores tenham uma maior participação durante a batalha, ou seja, aqueles que mais atacarem e mais blocarem, serão os mais recompensados, tendo um melhor loot. Caso o jogador usar a/o mana durante a guerra, não contará como blocker. Existe uma quantidade mínima (a ser descoberto por vocês) de dano recebido ou causado para começar a participar da recompensa. Depois que a criatura morrer, os melhores attackers e blockers serão informados através de uma mensagem automática em qual colocação ficaram em seu respectivo ranking. Por fim, a parte do loot da criatura que lhe cabe, será enviada para cada jogador por parcel, contendo uma backpack dentro. Novidades em Andorhal Reforma na cidade de Iceforge Ocorreu uma reforma na cidade de Iceforge (VIP), tendo sua aparência completamente renovada, confira: Mudança nas vocações Knight Não é mais possível utilizar SD com ML 15.Sorcerer Cura e dano foram melhorados.Druid Cura e dano foram melhorados. Intensificada regeneração da magia utura mas sio de 100 para 200. Diminuído exhausted da magia exura sio para igual ao da UH. Possibilidade de criar runas wild growth dec (10800 de mana | 10 de soul | 20 cargas). Possibilidade de criar runas wild growth mas dec (30240 de mana | 20 de soul | 40 cargas). Somente jogadores VIPs. Drunou Intensificada regeneração da magia recuperar-ja e recuperar-mais-ja para 70 e 200, respectivamente. Todos os tipos de Rainbow Shield podem ser usados. Infernalist Adicionada magia exana flam. Necessário level 30 e 30 de mana.Alteração de segurança nas accounts Antes de gerar uma nova RK, é necessário digitar a nova RK que aparecerá na página, só assim esta nova RK passará a funcionar. Assim resolvendo problema que jogadores não anotem a RK e fechem a página. Para evitar que jogadores cadastrem e-mail que não tenham acesso, agora é obrigatório ter o e-mail cadastrado na conta confirmado, aqueles que não confirmarem o e-mail, não poderão resetar ou gerar RK. A confirmação de e-mail é obrigatória para todos os jogadores (tanto os antigos como novos) e pode ser feita pelo próprio site na página da conta do jogador, como mostra a imagem a seguir: Jogadores que não tiverem acesso ao e-mail e que ainda não tiverem registrado a primeira RK poderão trocar o e-mail de imediato sem ter que esperar os 14 dias. Atualização do sistema de tickets Atualizamos o sistema de tickets para melhor atendê-los. Confira as modificações a seguir: Nova aparência: Para criar um novo ticket é necessário uma descrição com mínimo de 10 caracteres. Respostas dentro do ticket agora são mostradas da mais antiga para a mais recente, de cima para baixo; Criada opção do jogador "Fechar o ticket" selecionando um dos dois status: Resolvido ou Cancelado; Criada categoria "Forum"; Criada página de confirmação antes de cancelar algum ticket; Não será mais possível criar mais de um ticket dentro de 30 minutos através da mesma conta: Criada possibilidade de deletar o ticket, apenas quando o status estiver como "Resolvido" ou "Cancelado"; Modificado Aguardando Jogador (quando jogador visualizando) para Aguardando sua resposta (na cor vermelha) nos tickets; Permitido o uso de alguns BBCodes básicos na descrição do ticket: Quando o ticket receber uma nova resposta, o jogador será notificado em jogo. Outras mudanças Mudanças em criaturas Reajuste nas seguintes criaturas de Nighthaven:Cliff Strider, experiência aumentada de 9975 para 12967. Crawler, experiência aumentada de 15000 para 18000. Drop de platinum coins melhorados. Dragonling, experiência aumenta de 43750 para 61250. Drop de gps melhorados. Removido drop de strong health potion. Dryad, drop de gps melhorados. Earth Elemental, experiência aumentada de 14625 para 21937. Adicionado drop de platinum coins. Kollos, experiência aumentada de 33000 para 46200. Drop de platinum coins melhorados. Massive Earth Elemental, experiência aumentada de 24310 para 34034. Drop de platinum coins melhorados. Spidris, experiência aumentada de 35750 para 42900. Stone Devourer, experiência aumentada de 10875 para 15225. Adicionado drop de platinum coins. Yielothax, experiência aumentada de 40150 para 52195. Novo ajuste nas criaturas de Garath:Arqueira Real, loot modificado. Imunidades revisadas. Criatura possui de drop um item raríssimo. Assassina Real, loot modificado. Barbaro Real, vida aumentada de 7100 para 8200. Experiência aumentada de 7900 para 8600. Loot modificado. Imunidades revisadas. Cavaleiro Real, loot modificado. Ataque alterado. Imunidades revisadas. Curandeiro do Rei, aumentado levemente o intervalo de cura. Loot modificado. Imunidades revisadas. Espiao Real, vida aumentada de 6500 para 9250. Experiência reduzida de 12000 para 9000. Ataque aumentado. Loot modificado. Imunidades revisadas. Feiticeira Real, loot modificado. Imunidades revisadas. Guarda Real, loot modificado. Guardiao do Rei, loot modificado. Lanceiro Real, loot modificado. Imunidades revisadas. Mago Real, loot modificado. Imunidades revisadas. Sacerdotisa do Rei, loot modificado. Soldado Real, experiência reduzida de 10000 para 8700. Loot modificado. Imunidades revisadas. Prisioneiro da Corte, loot modificado. Chances reduzidas de drunkeness (deixar bêbado). Ajustes nas seguintes criaturas de Tanaris:Anubis, loot melhorado. Experiência aumentada de 248500 para 310625. Chakal, loot melhorado. Experiência aumentada de 124000 para 155000. Escorpiao Rei, loot melhorado. Experiência aumentada de 24480 para 30600. Outros:Demonio do Sexto Inferno está 40% mais forte contra energy. Melhorado loot dos bosses Apolo e Hades. Modificado nome da Giant Spider Shampion para Giant Spider Champion. Criado criaturas campeões [ * ], que possuem 10x mais vida, 20x mais exp, 10x mais loot e dão 10 pontos de tasks do que as criaturas normais.Cliff Strider Corym Charlatan Corym Skirmisher Corym Vanguard Crawler Kollos Yielothax Melhorado drop de turtle shell da Tartaruga Mutante Suprema. Modificado tipo mágico dos danos do Rei Garath de fogo para físico. Mais informações de contas que estão à venda Possibilidade de ver mais informações de contas que estão a venda pelo site: Itens da backpack, dias de VIP, set do personagem, quests feitas, addons, montarias, bless e barras que estão no saldo: Adicionado a função de sacar tudo e depositar tudo no NPC Waliam. Basta usar: sacar tudo / depositar tudo. Mudanças no sistema de Cast:Adicionado comando !castdesc, com ele é possível colocar uma descrição do seu cast. Exemplo: " !castdesc Lagartão Hunt". A descrição de ve ter entre 3 e 16 caracteres e fica visível no site, ao fazer login no cast e no canal "Casts". Agora espectadores de um cast também contam como jogadores online do site. É possível ver com detalhes quantos jogadores e espectadores estão online em cada servidor. Ao abrir ou fechar o cast aparece uma mensagem sobre o jogador (semelhante de quando come food). Broadcast da equipe aparecerá nos principais canais do jogo, como Server Log, Publicidade, Game-Chat e Help simultaneamente; Jogadores não pegarão mais skull/frag ao passar por field jogado por outro jogador, pegará skull/frag apenas quando jogar o field diretamente em outro personagem. Modificações na King Armor Quest:Não é mais possível abrir o baú caso o jogador esteja sem capacidade para adquirir a armadura; Impossibilitado de entrar com os itens King Ring, King Armor e Verdadeira King Armor. Mudanças nos sistemas: Adicionado novos itens ao sistema [anti] anti-push. Frase do sistema anti-rook modificada para: ATENÇÃO! Se você morrer mais 5 vezes sua conta ficará banida por 24 horas devido a proteção anti-rook. Novos sistemas Sistema de casamento:O amor está no ar! Agora é possível casar personagens no RadBR. As informações do casal vão aparecer nas descrições dos personagens ao dar look e nas informações dos personagens no site. Casamento na igreja de Wisland Para realizar o casório, é necessário que o casal seja VIP e se dirigirem ao NPC Pe. Johnny, que fica localizado na igreja de Wisland e com os seguintes itens: Wedding Ring () e 50k () Já para realizar o divórcio, é necessário que o jogador interessado em se separar tenha 100k e esperar pelo menos 7 dias. Após o divorcio, também é preciso esperar mais 7 dias para casar-se novamente. Possibilidade de coletar algumas frutas em árvores específicas: As seguintes tasks foram modificadas:Frost Dragon, aumentada quantidade de 810 para 990; Hydra, aumentada quantidade de 1050 para 1300; Joaninha Negra, aumentada quantidade de 750 para 900. Novos itens para comprar e vender com NPCs:Adicionado novos itens a venda nos NPCs Dwarf Dumop, Catatudu e Hugo: abyss hammer, bone club, bone sword, heavy machete, mercenary sword, heavy mace, daramian mace, deepling squelcher, deepling staff, demonbone, diamond sceptre, morning star, obsidian truncheon, onyx flail, axe, beastslayer axe, daramian waraxe, dreaded cleaver, guardian axe, hive scythe, vile axe, brass shield, bone shield, tortoise shield, warrior's shield, soldier helmet e obsidian lance. Adicionado novos itens a venda no NPC Lord Droniun: blue crystal shard, blue crystal splinter, brown crystal splinter, crystal of balance, crystal ball, crystal of power, dead weight, green crystal shard, green crystal splinter, giant shimmering pearl, unholy bone e violet crystal shard. Adicionado novos itens de decoração no NPC Toper e outros: armor rack kit, birdcage kit, blue bed kit, book case, chimney kit, crystal table kit, dresser kit, easel kit, globe kit, goblin statue kit, green bed kit, ivory chair, lizard weapon rack kit, monkey statue see kit, monkey statue hear kit, monkey statue speak kit, oven kit, red bed kit, round table kit, square table kit, table lamp kit, telescope kit, trunk kit, trunk table kit, venorean cabinet kit, venorean drawer kit, venorean wardrobe kit, weapon rack kit e yellow bed kit. Também é possível mudar o estilo da cama com um certo item. Existem também outros itens de decoração que foram implantados, porém o método para adquirir ainda é desconhecido. Summons de jogadores (através do comando utevo res ") não dividem mais experiência com o jogador, agora o personagem receberá toda experiência do monstro morto pelo summon. Aumentado level máximo do !partyexp de 999 para 1999. Novos desafios foram adicionados ao NPC Yuki na arena boss em Tanaris:Behemoth; Crawler; Demon; Giant Spider Shampion. Modificações na equipe:Os nossos novos membro da equipe são o (Mapper) Gowzy e o (Mapper) Gwix. Sejam bem-vindos de volta e esperamos que a estadia de cada um de vocês dentro da equipe seja duradoura e proveitosa. Boa sorte e sucesso! {Senior Tutora} Akemi e [Desenvolvedor] Drunker foram promovidos recentemente, para nível 3 e 2, respectivamente. Parabéns! Possibilidade de se tornarem um Colaborador do RadBR! Veja os requisitos abaixo:Jogado RadBR por pelo menos 3 meses; Conta no fórum e a utilizar por pelo menos 3 meses; Ser ativo no canal Help do jogo; Personagem de level 250 ou superior e/ou com resets; Conhecimento decente da língua portuguesa; Conhecimento decente do RadBR e das regras. O cargo de Colaborador foi criado para que haja um maior auxílio em relação aos jogadores, esclarecendo dúvidas, repassando os problemas para a equipe dentre outras funções. Jogadores free account poderão comprar houses nas cidades de Andorhal, Paradise e Windywaste. Para alugar uma house, é necessário ter 1 de idade. O preço do aluguel é o mesmo dos jogadores VIPs, custando 2620 gps cada sqm. Removido level necessário para utilizar os itens ornate chestplate e ornate legs. Monstros de grande experiência darão experiência parcelada (como ocorre nas tasks atualmente): A experiência será fracionada dependendo do level em que o jogador estiver. Só funcionará exemplos: - Jogador está no level 350. A rate é 50x. Caso ele ultrapassar o level 350 matando Dourado, a experiência do Dourado será ajustada de acordo com a rate, que passou a ser 10x. - Jogador está no level 699. A rate é 10x. Caso ele ultrapassar o level 699 matando Dourado, a experiência do Dourado será ajustada de acordo com a rate, que passou a ser 1x. A principal vantagem deste sistema será evitar que jogadores ganhem experiência acima da rate de seu level atual em criaturas que possuem mais de 500.000 pontos de experiência. Os respawns a seguir tornaram-se imperturbáveis, sendo assim, os monstros surgem mesmo que haja um personagem na tela:Apolo; Crustacea Gigantica; Dragon Sand; Ethershreck; Gnarlhound; Hades; Infernalist; Lobisomem; Manta Ray; Marte; Rei Allan; Undead Cavebear; Woul. Implantadas duas novas montarias no Shopping, que aumentam a velocidade do personagem em 10 pontos, pelo preço de 30 barras. Apenas jogadores VIP podem usá-las:Flying Divan Woodland Prince Implantados dois novos pacotes contendo (1) Outfit e seus (2) Addons pelo valor de 30 barras, cada pacote.Ceremonial Conjurer Novos comandos no shopping:!comprar vip1. Permitirá comprar 1 dia de VIP por 1 barra de ouro. No servidor Phoenix, o preço de cada dia de VIP é de 2 barras. !comprar fist e !comprar fist10. Apenas para a vocação Knocker. Reajuste na regeneração do Stamina Up de 20h para 30h; valor reduzido de 10 para 7 barras. Mudanças nos eventos automáticos: Evento Bomberman:Detalhes de mortes serão mostrados durante o evento. A quantidade de "frags" total também aparecerá nos troféus. Evento dos Castelos:Aumentado treinadores de 2 para 4; Aumentado camas de 4 para 10. Evento Desafio dos Monstros:Desafios 2, 3 e 4 tiveram a sua dificuldade aumentada nos servidores Andrômeda e Perseus; Dificultado loot do Arkebelts e Demonio do Sexto Inferno; Criado lugares exclusivos para jogadores VIPs. Evento Zumbi:Liberada montaria Ironblight para jogadores free account; Criado lugares exclusivos para jogadores VIPs. As mensagens em broadcast referentes aos eventos acima foram movidas para um canal exclusivo que abrirá automaticamente durante os eventos. Modificações em outfits: Novas outfits VIP:Beastmaster Ranger Liberado 4 outfits VIPs para jogadores free:Deepling Jester Warmaster Yalaharian ​ Novas invasões: Dhonatello: Ilhas Perdidas; Joker: Área externa dos castelos de Wisland, Zanknore e Tanaris; Osiris: Sudoeste de Tanaris; Satsor: Nordeste de Andorhal; Sinyster: Wisland. Modificações nos respawns: Adicionado respawn de Husky em Iceforge e em Everfrost; Adicionado respawn de War Wolf em Moonglade; Adicionado respawn de Wasp em Windywaste, Zanknore e Nighthaven; Diminuído tempo de respawn do Sorcerer Cursed em Ilhas Perdidas; Mais respawns de Souleater foram adicionados em Ghostship; Mais respawns de Lagarto Escolhido foram adicionados em Nighthaven; Ao matar um Rotworm ou Dwarf, há uma chance de quando der respawn, nascer um Man In The Cave no local, ao invés do monstro original. Mudanças apenas no servidor Phoenix: Modificado o sistema de perda de vida, mana e capacidade. Agora os jogadores recuperarão esses atributos, que perderam em uma morte, ao alcançar o level que estavam anteriormente; Reduzido a perda de skills em mortes, agora os jogadores com skills altos não regridem um skill inteiro; É possível ver o primeiro nome e os 3 primeiros dígitos cadastrados como dono de uma account. Só é possível ver essas informações logando na conta pelo site; Removido botão de Transferir no site; Liberado task de insetos, porém não dará experiência como recompensa; Liberado todos os embrulhos do Evento Bomberman; Novo anúncio sobre compra e venda de personagens em jogo: [ATENÇÃO] Ao trocar ou comprar uma conta nesse servidor, você pode ser roubado, saiba os motivos e mais informações em: http://forum.radbr.c...ens-no-phoenix/ [Pressione (Ctrl + W) pra apagar a mensagem mais rápido da tela]. Outros: No momento em que o jogador criar a conta no site, irá realizar o login automaticamente no site e direcionará para a página de criar o personagem. Removido algumas traps que ficavam nas pirâmides de Tanaris. Para passar pelos pisos de lava, agora será necessário puxar o personagem ou dar use em cada piso. Com o término da VIP, a outfit do jogador será alterada para Citizen mantendo as mesmas cores. Guilds sem líder e/ou que a VIP tenha expirado foram deletadas. Diversas páginas no site foram atualizadas. Erros reportados foram corrigidos, dentre eles o problema de jogadores free account não conseguirem adicionar e/ou remover mais ninguém da viplist. Nosso fórum também foi atualizado recentemente, confira as novidades clicando aqui. Equipe RadBR
    1 ponto
  16. Alayen

    O que dizer do Windows10

    Mas ainda continua Windows, ou seja, mais um reboco em cima da versão anterior, como sempre.
    1 ponto
  17. container.. Container é para que o corpse carregue algo dentro. No arquivo xml estando do jeito que o Gabriel citou, basta marcar como container no Item editor.
    1 ponto
  18. com a opção corpse selecionada
    1 ponto
  19. Kimpu

    TheFoggen.exe

    Sera Que Podera Dar Bugs se eu utilizar outro TFS? =\
    1 ponto
  20. Gabrieltxu

    TheFoggen.exe

    deve estar faltando essa dll no system32 entao do seu computador cara , tenta colocar ela la ...
    1 ponto
  21. substitui o movement por esse: -- Do not remove the credits -- -- [MOVEEVENT] Limite de player por sala -- -- Developed by Rigby -- -- Especially for the Xtibia.com -- function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local pos = {x = 1073, y = 1031, z = 7} -- quando o tempo acaba para onde ele ira ser teleportado local tempo = 10 -- tempo que pode fica em minutos local config = { [5555] = {area = getPlayersInArea({x = 1030, y = 1020, z = 7}, {x = 1040, y = 1030, z = 7}), amountOfPlayers = 1, teleport = {x = 1037, y = 1025, z = 7}}, } if config[item.actionid] then if #config[item.actionid].area < config[item.actionid].amountOfPlayers then doTeleportThing(cid, config[item.actionid].teleport, false) doPlayerSendTextMessage(cid, 25, "Welcome") setPlayerStorageValue(cid, 21321321, 1) addEvent(function() if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, 21321321) == 1 then doTeleportThing(cid, pos) setPlayerStorageValue(cid, 21321321, -1) end end, tempo * 60 * 1000) else doPlayerSendTextMessage(cid, 25, "The room already reached its limit "..config[item.actionid].amountOfPlayers.." player 's wait someone out .") doTeleportThing(cid, fromPosition) end end return true end function getPlayersInArea(fromPos, toPos) -- Function made ​​by Vodkart local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end e para que ele quando desloga volta pro templo adicione isso. em creaturescript, dentro do Login.lua antes do ultimo return true. .lua if getPlayerStorageValue(cid, 21321321) == 1 then local pos = {x = 1073, y = 1031, z = 7} -- posição para onde ele vai doTeleportThing(cid, pos) setPlayerStorageValue(cid, 21321321, 1) end
    1 ponto
  22. Francisco Souza

    [Pedidos] ~FSouza

    Aqui está amigo: Peço perdão pela minha ignorância e demora, espero que goste do resultado! Até mais
    1 ponto
  23. Francisco Souza

    [Pedidos] ~FSouza

    Olá amigo, Espero que meu trabalho lhe agrade Aqui está:
    1 ponto
  24. Consegui resolver. o que acontece é que ao selecionar os códigos o próprio xt os buga, aí vem com 1 número antes, ficou assim: 1cSkill aí era só remover. Fiquem atentos! E erro ao copiar, nao do script! Mt obrigado parceiro.
    1 ponto
  25. Benny

    [Pedidos] ~ Beeny

    Tinha esquecido disso aqui mano Desculpa HUAHUAH Ficou bem bosta, but
    1 ponto
  26. Pois bem, volte atras e refaça todo o caminho de 'instalação' do sistema, de preferência como esta sendo pedido.. Não tenho certeza ams parece que você usa load de libs automático (estilo 0.4) enfim, para encargo de consciência , faça do modo tradicional.. tal qual pedido no post.. Eu cheguei a ter um erro mas foi por eu ter colocado de forma diferente.. o próprio razor indicou que eu fizesse os passos novamente da forma pedida e funcionou.. Estou com ambos sistemas funcionando e testados de todas as formas possíveis... Sei que é chato, mas seria bom se fizesse isso.. Grato
    1 ponto
  27. Mega Bomb

    [Show Off] Mega Bomb s2

    Vlw as dicas parça, mas os mapas não são para serem jogáveis... e tmb não utilizei auto border, nas próximas eu boto telhado(srry) continue dando dicas ae, vlw... ABS!! Vlw cara... tu é inspiração para mapear... ABS! Vai um mapinha novo ae... um vale das flores ! ficou meio bugadinho... foi mal clã
    1 ponto
  28. Se você tiver a capacidade de ler: OBS: Preferência MKBRABSOLUTE. No entanto informei a ele que iria fazer para evitar que outros designer realizem a "arte" atôa como disse nosso amigo Bennyyyw. Leia mais as regras e acompanhe o fórum antes de sim sair fazendo um SPAM. Boa Noite ADM Supremus.
    1 ponto
  29. Este simples Videotutorial mostra como fazer casas no Remere's Map Editor rapidamente.
    1 ponto
  30. Juntando um mapa ao outro no RME Abra o RME com o mapa que você quer copiar, após isso vá em File/Open e procure o mapa em que você quer colar outro. E então ficara os dois no mesmo RME, só que em abas diferentes: Feito isso vá no mapa que você quer copiar, no canto terá um quadradinho, clique nele, o mesmo vai virar um lápis; Continue no mapa que deseja copiar, e então segura shift e arraste o mouse por cima da área que você quer copiar, ele ficará escuro após selecionar como na foto abaixo: Depois é só apertar ctrl + v no mapa que você quer colar.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...