Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/25/10 em todas áreas

  1. 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.
    2 pontos
  2. MatheusGlad

    [Pedido] Comando !home

    Va em data/talkactions/scripts adicione um script.lua com o nome de home e bote esse script: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) end Agora va em talkactions.xml e adicione essa linha: <talkaction words="!home" event="script" value="home.lua"/>
    2 pontos
  3. thalia

    [8.54]Pokeserver Tfs 0.3.6 [V3.0]

    Oi galera do xtibia, alguns já me conhece , posto scripts na seção de actions/talk/move! Aqui está a versão 3.0 do PokeServer TFS 0.3.6pl1, ~~( O que contém na versão 3.0? ) ~~ ~~>Fly System - Bug corrigido ~~>Ride System- Bug corrigido ~~>Catch System- Bug corrigido ~~>Go/back System- Bug corrigido ~~>Stones System - Bug corrigido ~~>Npc Heal - Bug arrumano ~~>Todos os 151 pokemons (50% configurados) ~~>Skill System - Para cada tipo de pokemon é um poder difirente! ~~>Mapa Svke 70% ~~>Todas as outfits Stones,Go/back,Npc,Fly,Ride,Skill, foram testados, então não venha encher o saco falando merda <--! Download !--> Server 3.0 Client (È extremamento necessario para poder entrar no server!) Versão 3.0 do server de pokemon Faça você mesmo! Créditos ao Drakylucas por me ajuda a fazer os scripts! Não se esqueça de clicar ali no icone verde
    1 ponto
  4. edmolla

    [Tutorial] Concertando Erro Gesior Shop

    Bom primeiramente gostaria de dizer que eu tive um problema e não conseguia colocar imagens no meu SHOP do site gesior 0.3.6,pesquisei aqui no fórum e não achei a resposta que me salvaria.fui e criei um tópico e sem querer a resposta de um usuário me deu uma idéia e funcionou.Gostaria de agradecer as pessoas (quer dizer A pessoa) que tentou me ajudar em outro tópico e utilizar este para dizer que poucos são os que ajudam e muitos os que precisam de ajuda em tópicos de suporte,por favor,vocês que "manjão" ajude a quem precisa. ESKECE TUDO que eu não estou aqui para dizer sobre isso,porém sim ajudar aqueles que como eu tiveram o mesmo problema e não solucionaram até agora,mesmo com muitos tipos de solução: 1° PONTO Este tutorial É 100% DE MINHA AUTORIA (E MEU PRIMEIRO TUTORIAL NO XTIBIA e serve para de uma maneira "certa/errada" você coloque as imagens dos produtos vendidos por você no seu shopping. Você precisa saber um pouquinho *pelo menos entender o que serve cada coisa de cada tabela*. Você deve saber (estar orientado) de onde cada imagem está na pasta do seu site,e se seus "php's" estão totalmente configurados de maneira correta. Primeiro você escolhe o seu item a ser vendido e o coloca para vender Uploaded with ImageShack.us (lembre-se você deve se certificar de que a imagem do item que você quer vender tenha a id correta do jogo...você não gostaria de comprar uma boots of haste no site e receber um meat Uploaded with ImageShack.us Depois confira nas configurações (usando adminpanel) do item se está tudo correto. Uploaded with ImageShack.us Agora entre na sua database que geralmente fica em: http://localhost/phpmyadmin/ (sem o site) e/ou http://localhost:suaporta/phpmyadmin/ Depois entre na database do seu servidor (geralmente otserv)e finalmente entre em z_shop_offer Para ficar mais fácil procure a tabela "offer_description" e procure a descrição do item que você colocou no site que não aparece a imagem. Uploaded with ImageShack.us após isso clique ao lado da caixinha de seleção onde tem uma canetinha "editar" e apenas edite o campo ID que estará com um numero LOUCO e coloque o mesmo id da tabela itemid1. Uploaded with ImageShack.us depois desça a página e salve as modificações. AGORA A MELHOR PARTE. Volte de F5 (reload) na página do shop e veja se mudou. È isso ai pessoal.Comigo deu certo se precisarem de ajuda pois não estão conseguindo me perguntem (não tenho tempo para responder a todas as perguntas todos os dias,mas 1 dia na semana sempre tiro para vir aqui e aprender algo sobre servidores). Plágio é pra filho da ####,não seja um,coloque os créditos se for postar em outro fórum. Creio que não haverá criticas,porque aqui no fórum ninguém fez um tópico como este,e além de tudo resolve o problema,mas mesmo assim criticas e sugestões são bem vindas.
    1 ponto
  5. The Forgotten Server Versão: 0.3.6 Patch Level 1 (Crying Damson) As modificações podem ser encontradas em doc/CHANGELOG no arquivo aqui baixado ou Neste Link. Esta é a quinta e ultima versão da famosa Crying Dansom e agora, o lançamento primário do TheForgottenServer, e todos que estiverem usando qualquer versão abaixo desta são aconselhados a atualizar. Sexta (Sex) vem com uma quantidade incontável de mudanças, e a principal delas é o protocolo 8.54. Se você encontrar qualquer erro, por favor acalme-se e em vez de fazer "spam", apenas reporte-nos ao nosso bug tracker, assim estaremos concertando o mais rápido possivel e incluiremos a correção no próximo patch. Por favor, não nos culpe se você não fizer uma atualização completa do seu diretório de dados, porque é só a sua culpa. Patches: DLLS: OpenTibia DLLs (V1.4b) Source code: - Browse - SVN Client Download: http://www.speedysha.../633718469.html Em nome da Equipe de Desenvolvimento TheForgottenServer, Elf.
    1 ponto
  6. sharematrix

    [Official] The Diamond Server 1.0.7

    Falaa galerinha, Depois do sucesso do the diamond server, até nos fórums polonêses, eu decidi continuar com o projeto, eu tinha parado por causa que eu estava sem tempo, teve até polonêses me adicionando no MSN pra pedir alguma atualização, e eu não intendi nada é claro (o google me ajudou). Quem duvidar clica aqui.. A versão 1.0.7 foi usada como base o release 0.2.8 do TFS, pois combinando a estabilidade do 0.2.x, e a do The Diamond Server, o servidor vai longe.. O servidor não está funcionando o coldown ainda, mais já estou trabalhando nisto pra lançar o 1.0.8 mais rápido possivel para o público, o sistema de montaria está funcionando 100%. Na próxima versão já terá todas as magias do 8.70, e talvez todos os montros, isso tudo depende do tempo Changelog: - Atualizado alguns loots do 8.70 - Sistema de montaria totalmente completo OBS: Criei vergonha na cara, e abri um site pro diamond, com os links direto .. Download: diamond107.rar Mirror: diamond107.rar Source: 1.0.7.r26.rar Mirror: 1.0.7.r26.rar Scan: Que scan? eu ri rapaz, todo mundo me conhece aqui ;x Atenciosamente Robson Dias (ou ShareMatrix)
    1 ponto
  7. MarcelloMendes

    Advanced Reset System'

    ~~ Advanced Reset System 1.0 ~~ By: MarcelloMkez Bom, vi alguns Sistemas de Reset como o do Marcryzius, Yunie, e etc. E sempre vi Muitos pedidos como por exemplo: OBS: NÂO FUNCIONA EM 8.60 Reset no Look; Mudar Vocação ao Resetar; Limite em Resets; e etc... Então, resolvi Criar o Meu 'Reset System' com todas essas funções acima, e com a opção de Abilitar ou Desabilitar as Funções. Testado em TFS 0.3.6 - 8.50 e 8.60, o Script Funcionou Perfeitamente. Funções do Sistema: - Reset No Look; - Mudar Vocação ao Resetar; - Limite de Resets; - Premium Account; Ja vi sistemas de Reset, cada um com alguma dessas Funções, então resolvi junta-las em Apenas um 'Advanced Reset System'... Espero Por Críticas e Elogios. Abra a pasta data/Talkactions, crie um arquivo .lua e coloque: advancedReset.lua e Adicione Isso: --[[ SCRIPTING> MarcelloMkez <scriptING ]] --[[ [Advanced Reset System] Autor: MarcelloMkez Versão: 1.0 TFS: 0.3.6 Testado em: 8.50 Fórum: www.xtibia.com/forum/topic/138026-talk-action-advanced-reset-system/ [Características] ~ Versão 1.0 ~ - Resets no Look; - Premium Account ou não; - Mudar Vocação; - Limite de Resets; - Opções para Abilitar e Desabilitar Condições; [Em Construção] - Stages Free e Premium; - 'Talvez' um novo sistema de mudar Vocação; sem data para postagem. ]] function onSay(cid, words, param) --[Configurações de Condição]__ config = { --[[verdadeiro / Falso]] needPa = false, -- Precisa de Premium Account? [true / false] needPz = true, -- Precisa estar em Protection Zone? [true / false] battle = false, -- Precisa estar sem Batlle para Resetar? [true / false] withe = false, -- Players PK Withe pode Resetar? [true / false] red = false, -- Players PK Red pode Resetar? [true / false] tp = true, -- Teleportar para o Templo após o reset? [true / false] look = true, -- Mostrar Resets no Look do Player? [true / false] addLimite = false, -- Abilitar Limite de Resets? [true / false] setClasse = true, -- Mudar Vocação do player quando resetar? [true / false] storage = 2310, -- Storage [valor] --[Configurações do Reset]__ resetStatus = { player = getPlayerGUID(cid), -- Não Mude. lvl = 350 , -- Level Necessário para Resetar. [valor] lvlreset = 8, -- Level que retornará após o Reset. [valor] limite = 114, -- Máximo de resets que um player pode chegar. [valor] newClasse = 1, -- Id da Nova Vocação após o Reset. [valor] tempo= 5 -- Tempo para o Player deslogar para Resetar. Em segundos. [valor] }, } --[Funções]__ function Reseting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function noAll(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noTeleporting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noLook(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noClasse(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function setClasse(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function look(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function teleporting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function getResets(cid) resets = getPlayerStorageValue(cid,config.storage) if resets < 0 then resets = 0 end return resets end local resets = getResets(cid) local needLvl ="Você precisa de "..config.resetStatus.lvl-getPlayerLevel(cid).." level's para resetar." local msg ="~~[Reset: "..getResets(cid).."]~~ 'Sucesso ao Resetar! Você será deslogado em "..config.resetStatus.tempo.." Segundos." --[Condiçoes]__ if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid,22,"Você Precisa estar em Protection Zone Para Resetar.") return TRUE elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then doPlayerSendTextMessage(cid, 22, "Você ja atingiu o Limite de Resets.") return TRUE elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid,22,"Você ta PK White, por isso não pode resetar.") return TRUE elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid,22,"Você ta PK Red, por isso não pode resetar.") return TRUE elseif(config.needPa == true) and not isPremium(cid) then doPlayerSendTextMessage(cid,22,"Você Precisa ser Premium Account para Resetar.") return TRUE elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.") return TRUE elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then addEvent(Reseting, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then addEvent(noAll, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then addEvent(noLook, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then addEvent(noClasse, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then addEvent(setClasse, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then addEvent(look, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then addEvent(teleporting, config.resetStatus.tempo* 1000, cid) elseif doPlayerSendCancel(cid, needLvl) then doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return TRUE end if doPlayerPopupFYI(cid, msg) then end return TRUE end --[by: MarcelloMkez]__ E em Talkactions.xml adicione isso: <talkaction words="!resetar" event="script" value="advancedReset.lua"/> Configurações: em --[Configurações de Condição]__ Para você Abilitar ou Desabilitar uma Função, você usa " true " para Verdadeiro," false " para falso, como ta Explicando no script. Em --[Configurações do Reset]__ Você colocará os Valores desejados, como: Level necessário para Resetar; Level que o Player Retornara após o Reset; Vocação para qual o player irá mudar caso esteja Abilitado a Função; Limite de Resets, caso esteja Abilitada a Função; E tempo em 'Segundos', para o Player Deslogar ao Resetar; Agora, para resetar, basta usar o comando "!resetar". Espero que Gostem e Entendam, Obrigado. by: MarcelloMkez'
    1 ponto
  8. [Talkaction]Sistema M1 até M6 + Tutorial de Edições. Créditos: Apocarai PeeWee Olá, antes eu já havia postado o sistema até m3, agora venho traze-lo até m6. Do m4 até m6 decidir fazer diferente, dessa vez quem irá colocar as magias , combat e level necessário será vocês. Estou fazendo isso para que vocês entendam melhor o comando, e caso precisarem editar que não precisem e ajuda. No final do Tópico estará os tutoriais. M1 M2 M3 ----//----//----//----//----//----//----//----//----//----//----//----//----//---- M4 M5 M6 Tags Obs. QUANDO SALVAR OS COMANDOS COLOQUE O NOME DE SistemaM... [Nos pontos bote numero da magia. Tutorial Como Adicionar Magia , Combat e Level. Como adicionar novos M. Na parte após os pokemon adicionados com suas magias procure essas partes das linhas. Tempo das Magias Logo abaixo após as linhas que citei acima , se tem o tempo usado das magias. Bom é isso, caso falei alguma besteira me falem que irei arrumar, qualquer duvida me adicione no msn ou poste no tópico. Não esqueça do REP +
    1 ponto
  9. miguel223

    Duvidas Com O /attr? Retirado

    Tópico fechado. Porque? Não uso mais Xtibia, não confiam em mim.
    1 ponto
  10. fokus090

    Extensão - Folhas Ao Chão

    Olá Galerinha XTibiana, hoje sem muita coisa para fazer, resolvir criar um Tutorial. Como sou novato nessas coisas ainda, o tutorial é basico. Extensão -- Folhas ao Chão Quem ainda não possui o arquivo Items.xml com os novos Sprites do Update, poderá baixa-los clicando Aqui ! Não possui o RME ainda? Então clique Aqui ! Quer aprender a criar suas próprias Extensions? Nosso amigo Koddy ensina. Clique Aqui ! Vá na Pasta onde esta instalado o seu RME, (C:\Program Files\Remere's Map Editor\data\860) e faça uma cópia dos arquivos .xml que serão usados, ou seja, os arquivos doodads e tilesets. Depois disso, abra o arquivo doodads.xml. Precione Ctrl + F e procure por grave. Abaixo de "grave" coloque isto :. <brush name="folhas" type="carpet" server_lookid="12881"> <carpet align="n" id="12870"/> <carpet align="e" id="12871"/> <carpet align="s" id="12869"/> <carpet align="w" id="12872"/> <carpet align="cnw" id="12879"/> <carpet align="cne" id="12880"/> <carpet align="cse" id="12877"/> <carpet align="csw" id="12878"/> <carpet align="dnw" id="12875"/> <carpet align="dne" id="12876"/> <carpet align="dse" id="12873"/> <carpet align="dsw" id="12874"/> <carpet align="center" id="12881"/> </brush> Feche e Salve o doodads.xml! Ok, agora abra seu tilesets.xml, precione Ctrl + F e procure por grave novamente. Abaixo de grave adicione isto :. <brush name="folhas"/> Ficaria assim :. <brush name="tar pit"/> <brush name="white gravel"/> <brush name="loose gravel"/> <brush name="gravel"/> <brush name="folhas"/> <brush name="mountain ground"/> <brush name="mountain top ground"/> <brush name="dirt mountain ground"/> Feche e Salve o tilesets.xml! Pronto, esta terminado. Agora abra seu Map Editor e Divirta-se ! Bom pessoal, é isto. Como é meu primeiro Tutorial aqui para o XTibia, óbviamente todas as críticas e sugestões são bem vindas. Créditos :. Frenesy - Eu que tive a idêia. comedinhasss - Por ter disponibilizados os Items.xml Koddy - Por ter me ensinado a criar Extensions Se gostou, REP +
    1 ponto
  11. Maluko Aprendiz

    Sign Gray Scale

    Essa Sign gostei muito pessoalmente espero que gostem também:
    1 ponto
  12. MatheusGlad

    [Pedido] Comando !home

    Bem eu nao botei opçao pra vip e outras pois o autor do pedido nao pediu isso, se eu estivesse postando, concerteza botaria. A pra nao aparecer no default, esqueci de por um baguizin: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) return TRUE end
    1 ponto
  13. fsg

    [Official] The Diamond Server 1.0.7

    Baixando, jajá edito, parece estar muito bom! Abraços. @Edit: Montarias 100%, está funcionando perfeitamente. Rep+.
    1 ponto
  14. Maluko Aprendiz

    Sign Gray Scale

    Valeu mano o povo Ta me rebaixando na ADS suahsuahsh' Devia ter colocado essa é que quando coloquei so tinha ela! shausuha'
    1 ponto
  15. roksas1998

    Truques & Dicas #2

    Imprevisível --- Bom, como o lambix não deu continuidade ao seu trabalho, ele me autorizou a continuar este brilhante tutorial. Mas por que Imprevisível? Bom, irei mostrar a vocês neste tutorial, algo que nenhum player, jamais pensou em fazer. Veremos: --- Dica 1 - Teleporte Escondido Consiste em colocar o teleporte (ID 1387) embaixo de alguma coisa, que você possa subir emcima. Como exemplo vou usar a poltrona (ID 5915 ou 5916). Primeiro coloque o teleporte aonde deseja, coloque as cordenadas que deseja que o player vá quando passar por cima. Agora vem o segredo: "Clique com o botão direito sobre o teleporte e clique em propriedades. Coloque um número a sua escolha em Action ID. Agora, coloque a poltrona emcima do teleporte. Clique com o botão direito sobre a poltrona, vá em propriedades e em Action ID, coloque o mesmo número que colocou no teleporte! Pronto, quando o players subir na poltrona será teleportado para onde deseja. Dica 2 - Rope Spot camuflado. Bom para quem não sabe, o Rope Spot é o local onde o player usa a corda para subir. Primeiro faça um local desértico e coloque o Rope Spot (ID 384) aonde deseja. Após isso, coloque as bordas de areia (ID 4770 e 4769) sobre o Rope Spot. Pronto. Asism que o players usar a corda aonde colocou o Rope Spot ele irá ser ropado. Pode ser feito também sem ser em áreas desérticas, isso é somente um exemplo. Dica 3 - Buraco Fantasma Primeiramente, fassa uma caverna normal. Após fazer sua caverna, coloque um hole (ID 383) em algum canto da cave (Coloque em um canto para ficar bem escondido). Feito isso suba um andar e emcima do hole, coloque um chão igual ao do andar debaixo. Assim quando o player for até a cave ou lugar que você fez, não verá o buraco, só verá quando chegar muito perto dele. Todas as dicas foram testados em servidores e funcionaram 100%. Aguardem a próxima edição do Truques & Dicas! Espero que gostem. Créditos 80% Dark Skyllen Créditos 20% Eu por postar aqui no XTibia
    1 ponto
  16. Kydrai

    Problema Com Action De Quest

    Você colocou: Faltou um 'n' -> function.
    1 ponto
  17. em creaturescripts/creaturescripts.xml coloque isso: <event type="preparedeath" name="lootaomorrer" event="script" value="lootaomorrer.lua"/> em creaturescripts/scripts/login.lua coloque: registerCreatureEvent(cid, "lootaomorrer") crie um arquivo em creaturescripts/scripts chamado lootaomorrer.lua e coloque isso nele: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) == true then doCreatureSetDropLoot(cid, false) end return true end THX! Tudo para um xtibia melhor.. ele nao precisa de aol viu =D
    1 ponto
  18. tibiaa4e

    Pasta Data - Prova I

    Bem depois de muita demora minha =/ Aqui estão as respostas... <Eu minha ideia inicial era se basear nos scripts aqui postados, como so o tozão participo da criação vou me basear no dele na maioria dos scripts e esses serão postados os devidos creditos. Criação de Scripts 1- Bem o Tozão fez até mais do que eu pedi, se fosse uma empresa ele seria um otimo funcionario... O dele está perfeito, aqui está um mais simples para iniciantes function onUse(cid, item, frompos, item2, topos) local bridgepos = {x=926, y=958, z=8, stackpos=0} local bridgepos2 = {x=926, y=958, z=8, stackpos=0} local bridgepos3 = {x=926, y=958, z=8, stackpos=0} local bridgepos4 = {x=926, y=958, z=8, stackpos=0} local getbridge = getThingfromPos(bridgepos) local getbridge2 = getThingfromPos(bridgepos2) local getbridge3 = getThingfromPos(bridgepos3) local getbridge4 = getThingfromPos(bridgepos4) if item.uid == 8551 and item.itemid == 1945 then doCreateItem(493,1,bridgepos) doCreateItem(493,1,bridgepos2) doCreateItem(493,1,bridgepos3) doCreateItem(493,1,bridgepos4) doTransformItem(item.uid,item.itemid+1) elseif item.uid == 8551 and item.itemid == 1946 then doCreateItem(1284,1,bridgepos) doCreateItem(1284,1,bridgepos2) doCreateItem(1284,1,bridgepos3) doCreateItem(1284,1,bridgepos4) doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Sorry, not possible.") end return 1 Ai eu faço o script simples, porém funcional... Esse ai não expulsa as pessoas da ponte, e sinceramente não sei o que acontece se tiver um infeliz na ponte 2- Bem esse até era simples, só quem não tem experiencia copiar ou no minimo se basear em um script "descente" de quest... O do Tozão teve as exigencias então está aqui o correto -------------Script made by Tozao(for ta4e competition)------------ ----------------Created for version 8.4------------------- function onUse(cid, item, frompos, item2, topos) -----------------chest1--------------- if item.uid == 20005 then if getPlayerStorageValue(cid,5555) == -1 then if getPlayerFreeCap(cid) >= 80 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Demon Armor.") doPlayerAddItem(cid,2494,1) setPlayerStorageValue(cid,5555,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You have found a demon armor. Weighing 80.00 oz it is too heavy.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"It is empty.") end -----------------chest2--------------- elseif item.uid == 20006 then if getPlayerStorageValue(cid,5555) == -1 then if getPlayerFreeCap(cid) >= 42 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Magic Sword.") doPlayerAddItem(cid,2400,1) setPlayerStorageValue(cid,5555,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You have found a magic sword. Weighing 42.00 oz it is too heavy.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"It is empty.") end -----------------chest3--------------- elseif item.uid == 20007 then if getPlayerStorageValue(cid,5555) == -1 then if getPlayerFreeCap(cid) >= 99 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Stonecutter's Axe.") doPlayerAddItem(cid,2431,1) setPlayerStorageValue(cid,5555,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You have found a stonecutter axe. Weighing 99.00 oz it is too heavy.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"It is empty.") end -----------------chest4--------------- elseif item.uid == 20008 then if getPlayerStorageValue(cid,5555) == -1 then if getPlayerFreeCap(cid) >= 43 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Annihilator Bear.") doPlayerAddItem(cid,2326,1) setPlayerStorageValue(cid,5555,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You have found a annihilator bear. Weighing 43.00 oz it is too heavy.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"It is empty.") end -----------------porta da sala pequena--------------- elseif item.uid == 20009 and item.itemid == 5114 then if getPlayerStorageValue(cid, 5555) == 1 then if getPlayerVocation(cid) > 4 then doTransformItem(item.uid, item.itemid+1) doTeleportThing(cid,frompos) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only promoted players may enter here.") end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t complete the quest.") end -----------------chest da sala pequena--------------- elseif item.uid == 20010 then if getPlayerStorageValue(cid,5556) == -1 then if getPlayerFreeCap(cid) >= 18.40 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a bag.") container = doPlayerAddItem(cid,1991,1) doAddContainerItem(container,2160,100) doAddContainerItem(container,2123,1) setPlayerStorageValue(cid,5556,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You have found a bag. Weighing 18.40 oz it is too heavy.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"It is empty.") end return TRUE end end 3- Bem o primeiro postado aqui está quase correto, eu acredito que o isinArray não funcione com essa função... A ultima vez que usei essa função funcionava perfeitamente nessa sintaxe aqui -- Baseado no do Tozão-- -- Fixado por Ta4e-- function onUse(cid, item, frompos, item2, topos) if item.uid == 20015 and item.itemid == 5114 then if getPlayerSex(cid) == 0 then if getPlayerSlotItem(cid,2) == 2130 then doTransformItem(item.uid, item.itemid+1) doTeleportThing(cid,frompos) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t have the golden amulet.") end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Aqui não entra homen.") return TRUE end elseif item.uid == 20016 and item.itemid == 5114 then if getPlayerSex(cid) == 1 then if getPlayerSlotItem(cid,2) == 2142 then doTransformItem(item.uid, item.itemid+1) doTeleportThing(cid,frompos) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t have the ancient amulet.") end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, aqui é uma boate gay, não aceitamos mulheres.") end end end 4- Mais uma vez o dele está correto. ------------Script made by Tozao(for ta4e competition)------------ ----------------Created for version 8.4------------------- function onUse(cid, item, fromPosition, itemEx, toPosition) coalbasin1 = {x=1027, y=1021, z=7, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE} coalbasin2 = {x=1026, y=1022, z=7, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE} coalbasin3 = {x=1027, y=1023, z=7, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE} coalbasin4 = {x=1028, y=1022, z=7, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE} food1 = getThingFromPos(coalbasin1) food2 = getThingFromPos(coalbasin2) food3 = getThingFromPos(coalbasin3) food4 = getThingFromPos(coalbasin4) if item.actionid == 20020 and item.itemid == 1945 then if getPlayerLevel(cid) >= 50 then if food1.itemid == 2787 and food2.itemid == 2789 and food3.itemid == 2792 and food4.itemid == 2796 then doRemoveItem(food1.uid) doRemoveItem(food2.uid) doRemoveItem(food3.uid) doRemoveItem(food4.uid) setPlayerStorageValue(cid,2479,1) doPlayerSendTextMessage(cid,25, "Congratulations, now you may pass on the magic door.") doTransformItem(item.uid,item.itemid+1) else doPlayerSendTextMessage(cid,26, "Sorry, you don\'t have all foods, you need a white, brown, dark and green mushrooms.") end else doPlayerSendTextMessage(cid,26, "Sorry, you need get level 50.") end elseif item.actionid == 20020 and item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) end return TRUE end 5- Bem esse eu ja imaginava ser o mais "dificil" O seu tozão eu vi apenas 1 erro de sintaxe que era apenas para level 9 fazer e uma pessoa com vocation e não promotion (isso esqueci de falar) Porém são erros simples e normais. Sobre ele abrir normalmente isso acontece porque você chamou algo fora da função da principal (os vetores e matrizes) Isso é um bug desde a 8.4, que infelizmente os developers ainda não arrumaram... Pode ser corrigido fazendo uma função simples em c++ (que não possuo aqui =/). Ou seja ainda pode ser seu script mais perfeito que você fez xD Eu por exemplo criei uma função maravilhosa para quests e esse erro não possibilita o uso dela. -------------Script made by Tozao(for ta4e competition)------------ ----------------Created for version 8.4-------------------- local VOC_DRUID = {2,6} local VOC_SORC = {1,5} local VOC_KINA = {4,8} local VOC_PALLY = {3,7} local prizes = {[VOC_DRUID] = 2182, [VOC_PALLY] = 2456, [VOC_SORC] = 2190, [VOC_KINA] = 2409} function onUse(cid, item, frompos, item2, topos) local vocation = getPlayerVocation(cid) local itemweight = getItemWeightById(prizes[vocation],1) local itemname = getItemNameById(prizes[vocation],1) pos = getCreaturePosition(cid) health = getCreatureHealth(cid) if item.uniqueid == 20025 then if getPlayerLevel(cid) == 9 then if vocation >= 1 and vocation <= 4 then if getPlayerStorageValue(cid,7777) == -1 then if getPlayerFreeCap(cid) >= itemweigth then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a " .. itemname .. ".") doPlayerAddItem(cid,prizes[vocation],1) setPlayerStorageValue(cid,7777,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You have found a demon helmet. Weighing " .. itemweight .. " oz it is too heavy.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You already made this quest.") doPlayerAddHealth(cid, health -1) doSendMagicEffect(pos,12) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Sorry, you need a vocation.") end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Sorry, you need get level 9.") end return TRUE end end Bem, Obrigado ao Tozão por ter participado dessa "prova" e pelo jeito você está até mais a frente desse nivel de script COrreção de Erros Aqui tivemos dois "alunos", eram erros simples que só pediam atenção 1- No caso dependendo da versão existiam dois erros... Primeiro a função doPlayerSay não existe mais sendo agora doCreatureSay e a outra é por causa dos numeros das falas. O TFS constantemente muda isso, e devemos acostumar a usar as variaveis do Const.lua function onUse(cid, item, frompos, item2, topos) sorte = math.random(1,6) pos = getPlayerPosition(cid) if item.itemid == 6567 then doSendMagicEffect(pos,22) if sorte == 1 then doCreatureSay(cid,'Ho ho ho!',TALKTYPE_ORANGE_1) elseif sorte == 2 then doCreatureSay(cid,'Jingle bells, jingle bells..',TALKTYPE_ORANGE_1) elseif sorte == 3 then doCreatureSay(cid,'Have you been naughty?',TALKTYPE_ORANGE_1) elseif sorte == 4 then doCreatureSay(cid,'Have you been nice?',TALKTYPE_ORANGE_1) elseif sorte == 5 then doCreatureSay(cid,'Merry Christmas!',TALKTYPE_ORANGE_1) elseif sorte == 6 then doCreatureSay(cid,'Can you stop squeezing me now... I m starting to feel a little sick.',TALKTYPE_ORANGE_1) end end end 2- Essa era facil... function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == 2782 then doTransformItem(itemEx.uid, 2781) doDecayItem(itemEx.uid) return TRUE end return destroyItem(cid, itemEx, toPosition) end 3- Essa foi meio uma sacanagem minha Não tinha erros de sintaxe e sim que o autor imbecil (eu msm) falo o maximo de caracteres para o animated text... A string em LUA é usada por ' e " então se você usar aspas duplas não afetará a simples... Eu cai nessa a uns dias atrás e não podia deixar escapar xD O usuario Radamanthis conseguiu essa 4 - O usuario Tozão encontrou uma maneira de burlar o erro que era o case sensitivy (essa parte não fui q inventei foi um amigo do msn que pediu para eu colocar essa ai esqueci o erro o0) function onUse(cid, item, fromPosition, itemEx, toPosition) newnPosition = {x=1904, y=1006, z=8} if item.uid == 32194 then doTeleportThing(cid,newnPosition) doSendMagicEffect(newnPosition,10) else return 0 end return 1 end 5 e 6 - Esse como falei não tem certo e errado. O erro de sintaxe era um end faltando ao final para fechar o function Esse script ja tinah ele no Xtibia postado por mim com ele diminuido... O do Tozão eu bati o olho e não vi erros também... Espero que tenha sido proveitoso ou no minimo legal isso... Claro que pensei q teria mais usuarios participando Agradeço aos que participaram e esperem os proximos tutoriais, quando eu acabar a segunda semana de prova (essa) Voltarei a fazer os ultimos tutoriais
    1 ponto
  19. Vodkart

    Perfect Vip System 3.0

    Perfect Vip system 3.0 Última atualização: 14/08/12 Versão Testada:TFS 0.3.6 - 8.54 - 8.6 - 9.6 Créditos pelas modificações: Kydrai,Vodkart e Marcryzius Oque Contém no Sistema vip 3.0? Comandos: Query Primeiro passado execute essa query na sua DB: ALTER TABLE `players` ADD `vipacess` INT(15) NOT NULL DEFAULT 0; Agora vá em Data/lib/050-function e adicione essas funções: function getCharacterAcess(cid) local query = db.getResult("SELECT `vipacess` FROM `players` WHERE `id` = "..getPlayerGUID(cid)) if query:getID() ~= -1 then return query:getDataInt("vipacess") end end function getCharacterDays(cid) local acess = math.ceil((getCharacterAcess(cid) - os.time())/(86400)) return acess <= 0 and 0 or acess end function HaveCharaterAcess(cid) return getCharacterDays(cid) > 0 and true or false end function setAcessTime(cid, time) return db.executeQuery("UPDATE `players` SET `vipacess` = "..time.." WHERE `id` = "..getPlayerGUID(cid)) end function addCharacterAcess(cid, days) local add = (days <= 0 and 1 or days)*86400 local time = getCharacterDays(cid) == 0 and (os.time() + add) or (getCharacterAcess(cid) + add) return setAcessTime(cid, time) end function doRemoveCharacterAcess(cid, days) local remove = days*86400 local time = getCharacterAcess(cid) - remove return setAcessTime(cid, (time <= 0 and 1 or time)) end function getVipAcessDate(cid) if HaveCharaterAcess(cid) then return os.date("%d/%m/%y %X", getCharacterAcess(cid)) end return false end Talkactions agora em talkactions/scripts vipsystemplayer.lua function onSay(cid, words, param) if(words == "!buyvip") then local days = 10 local price = 50000 if not doPlayerRemoveMoney(cid, price) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") addCharacterAcess(cid, days) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) elseif(words == "!vipdays") then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP. "..(getCharacterDays(cid) > 0 and "ela acaba em "..getVipAcessDate(cid).."." or "")) end return true end vipsystemgod.lua function onSay(cid, words, param) if(words == "/checkvip") then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") return true end return doPlayerPopupFYI(cid, "O jogador tem "..getCharacterDays(player).." dias de VIP no character.") elseif(words == "/addvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end addCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou "..tonumber(t[2]).." dias de VIP no player "..getCreatureName(player)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..tonumber(t[2]).." dias de VIP no seu character.") elseif(words == "/delvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end doRemoveCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você removeu "..tonumber(t[2]).." dias de VIP do jogador "..getCreatureName(player)..".") end return true end em talkactions.xml adicione as tags: <talkaction words="!buyvip;!vipdays" event="script" value="vipsystemplayer.lua"/> <talkaction words="/addvip;/delvip;/checkvip" access="4" event="script" value="vipsystemgod.lua"/> Item Vip item que adiciona vip no character actions/script addvipdays.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 addCharacterAcess(cid, (days <= 0 and 1 or days)) doRemoveItem(item.uid,1) return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) end Actions.xml <action itemid="ID DO SEU ITEM" script="addvipdays.lua"/> Vip Door actions/script perfectvipdoor.lua function onUse(cid, item, frompos, item2, topos) if not HaveCharaterAcess(cid) then return doPlayerSendTextMessage(cid,22,"Você precisa ser vip para passar aqui.") end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, topos, true) return true end actions.xml <action actionid="7779" script="perfectvipdoor.lua"/> Tile VIP em movements/scripts crie um arquivo.lua e renomeie para vipe.lua function onStepIn(cid, item, position, fromPosition) if item.actionid == 13700 and not HaveCharaterAcess(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você não é vip.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"bem vindo.") return true end Em movements.xml adicione a tag: <movevent type="StepIn" actionid="13700" event="script" value="vipe.lua"/> no seu piso coloque ACTIONID 13700 Fim Vip em creaturescript/script endvip.lua function onLogin(cid) if getCharacterDays(cid) > 0 then setPlayerStorageValue(cid, 9898, 1) elseif getPlayerStorageValue(cid, 9898) == 1 and getCharacterDays(cid) <= 0 then doPlayerSetTown(cid, 1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) end return true end em creaturescript.xml adicione a tag: <event type="login" name="CheckVip" script="endvip.lua"/>
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...