Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 03/08/11 em todas áreas

  1. PedroXtibiaaaa

    [8.6] Eternal Kingdoms Map

    Download: Clique aqui Scan: Clique aqui Remere's Map Editor 2.1 Créditos: Artii e o pessoal do Eternal Kingdoms (otland) Versão: 8.60/8.61, testei com 8.70 e funcionou também... O mapa possui o mínimo de bugs possíveis, talvez alguns pequenos bugs simples, todas as houses estão 100%. Cidades: Aleda Leafport Fallen Selroth Seldia Shadow Wood Screenshots
    5 pontos
  2. 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
    2 pontos
  3. Vmspk

    Azeroth Server Updated

    Azeroth Server Updated 14/07/2011: v1.0 Outras Versões: v1.1 [8.60]: http://www.xtibia.co...oth-rpg-reborn/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.70 Distro: Crystal Server Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Montarias por quest(NPC Mount Master, cavernas ao norte de Azeroth). > NPCs de Travel/Boat diferentes para cada cidade. > Corrigidos Vários Bugs do mapa. > Templo Reformado > Retirados Vários Itens custom e suas quests do antigo Riot Server. > Adicionada Dragon Dungeon. > Adicionado Vulcão de Goroma. > Adicionada Quest Especial em Gloria (NPC Gloria Scientist). > Adicionada Ferumbras Tower. > Várias Hunts adicionadas. > Adicionada Formorgar Mines. > Sistema de Refinamento e Slot. > 6 Novas Mounts. > Principais Quests: Annihilator Pits of Inferno The Inquisition FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Castle Upgrade & Slot System Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP(premium account valorizada). Não há raids com monstros excessivamente fortes nas cidades iniciais. Acc God: 2/password Créditos:Unknow YourOts Edited, Mix Yourots Team, Crystal Server Team, Tryller, Mock, TFS Team e um pouquinho (bem pouquinho) pra mim xD. Source - IP Changer 8.70 - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. Download Azeroth Server V 1.0 - Completo [MEDIAFIRE] Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. V 0.2 V 0.3 V 0.4 V 1.0 Último pedido meu: encham o saco dos adms pra colocarem o tópico do tryller como fixo. É o melhor distro 8.70 que nós temos aqui, talvez ele salve os ots 8.70 daqui pra frente Contato: vmspk@hotmail.com Edit - Coloquei os Scans Edit2 - Adicionado comando Edit3 - Atualização Edit4 - Atualização http://img208.images...claymorepsf.jpg
    2 pontos
  4. Natanael Beckman

    [Duvida] Gesior -

    Não sei bem se é isso mais em accountmanaget.php procura por: maxlength="10" Altera pra 20 ver se resolve seu problema.
    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. Olá a todos, eu não achei nenhum tutorial nesta página de como colocar potions infinitas, então resolvi elaborar um: Primeiro Método: Na pasta do seu servidor, entrar na pasta "data", depois na pasta "actions" e por último na pasta "liquids" "Pasta do Servidor/data/actions/liquids/" Procure pelo arquivo "potions.lua" e abra ele com algum editor. (bloco de notas, etc..) (se não tiver esse arquivo veja o segundo método) Depois de ter aberto o arquivo procure por essa linha: (dica: Control + F) [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion Copie o primeiro ID da linha (no caso 8704) e coloque-o no lugar do ID que se encontra depois de "empty = " (no caso 7636) Ficará assim: [8704] = {empty = 8704, splash = 2, health = {50, 100}}, -- small health potion Depois faça isso com todas as outras linhas de potions. Segundo Método: O início é o mesmo do primeiro método: Na pasta do seu servidor, entrar na pasta "data", depois na pasta "actions" e por último na pasta "liquids" "Pasta do Servidor/data/actions/liquids/" Abra o arquivo de uma potion (exemplo: great_mana), e você terá isso: local MIN = 200 local MAX = 300 local EMPTY_POTION = 7635 local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return FALSE end if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if((not(isSorcerer(itemEx.uid) or isDruid(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 80) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then doCreatureSay(itemEx.uid, "Only sorcerers and druids of level 80 or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end if doPlayerAddMana(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then return FALSE end doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, EMPTY_POTION, 1) return TRUE end Remova essas 2 linhas: doRemoveItem(item.uid, 1) doPlayerAddItem(cid, EMPTY_POTION, 1) (Se você não encontrar essas 2 linhas, veja o terceiro método, MAS NÃO FECHE O SCRIPT DA POTION!) Pronto, depois é só fazer isso com as outras potions! Terceiro Método: Bom, continuando, depois de ter aberto o script da potion, procure por essa parte: (dica: Control + F) doTransformItem(item.uid, Essa mesma linha (completa) da health_potion é assim: doTransformItem(item.uid, 7618) Retire essa linha, pronto, depois é só fazer o mesmo com as outras potions! OBS:. No terceiro método usei como exemplo uma health_potion, então o "... 7618)" não terá nas outras potions! Obrigado, e tomara que resolva o seu problema! :positive:
    1 ponto
  7. Vodkart

    Simple Task 3.0

    Mods: NPC Como configurar?
    1 ponto
  8. tibiaa4e

    Pasta Data - A Magia Do Npcs

    Pasta Enciclopédia com todos os links de outros tutoriais ! Lista de Tutoriais Tutorial de NPCs Bem depois de um tempinho sem fazer nada de otserver devido a falta de tempo (dinheiro, paciencia e felicidade) resolvi dar uma apertada para terminar o que ja era para ter sido feito a tempos... Então devido a pedidos de amigos no MSN, resolvi sair da ordem inicial dos tutoriais, até porque vejo mais necessario um tutorial de npc do que outros. Esse tutorial irá servir para quem gostar de fazer certo NPCs mais complexos com storages, varias missões e tudo mais. Usando como base o Jiddo system apenas para comprar e vender itens, pois não gosto de usar sistemas que facilitam Pois não criam scripters e sim preguiçosos, ainda mais quando o sistema é abandonado ai você se lasca O npc é dividido em duas partes : - Arquivo XML : Responsavel pelo visual e algumas propriedades dele (pelo jiddo system) - Arquivo Lua : Responvasel pelas falas e vendas (Lua puro) Visual do Npc Bem primeiro vamos explicar o visual de um npc, <npc name="Bonifacius" script="data/npc/scripts/default.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"><health now="150" max="150"/><look type="128" head="97" body="100" legs="115" feet="114" corpse="2212"/></npc> Explicando parte a parte Name : Nome dele que aparecerá para todos. script: Arquivo lua do script dele walkinterval: De quanto em quanto milessegundos ele irá caminhar. floorchange: Se ele irá subir escadas ou cair em buracos. access: O valor de acesso dele, caso ele tenha um acesso 5 poderá usar todo os comandos de GODS. level,maglevel: É tosco, você pode fazer ele soltar magias (nunca tentei) e no caso isso contaria. Health Now: Sangue que terá max: Maximo de health (ja fizeram npc com life media) look type: Tipo de roupa dele, Caso queira ele como objeto use look typeex. head,body,legs,feet: Cor da cabeça,corpo,calça e pé do npc. corpse: Corpo caso ele morra (LOL não dá...) Esse é a base do arquivo xml do npc. Caso você queirá enfiar tosquisses pelo Jiddo System fica mais ou menos assim: <?xml version="1.0" encoding="UTF-8"?><npc name="Bonifacius" script="data/npc/scripts/default.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"><health now="150" max="150"/><look type="128" head="97" body="100" legs="115" feet="114" corpse="2212"/><parameters><parameter key="module_shop" value="1"/><parameter key="shop_buyable" value="banana,2676,2;grapes,2681,3;melon,2682,8;orange,2675,5;pumpkin,2683,10;cheese,2696,5;egg,2695,2;cookie,2678,2;meat,2266,5"/><parameter key="message_greet" value="What you doing soldier ? Take your weapon and go war!"/><parameter key="message_walkaway" value="Hey Hey, where you go ?"/><parameter key="message_farewell" value="Bye bye brave soldier. Remember, peoples without head, don't transform in undeads."/><parameter key="message_alreadyfocused" value="You are drunked ? You talk really talk to me ?"/></parameters></npc> <parameters><parameter key="module_shop" value="1"/><parameter key="shop_buyable" value="banana,2676,2;grapes,2681,3;melon,2682,8;orange,2675,5;pumpkin,2683,10;cheese,2696,5;egg,2695,2;cookie,2678,2;meat,2266,5"/><parameter key="message_greet" value="What you doing soldier ? Take your weapon and go war!"/><parameter key="message_walkaway" value="Hey Hey, where you go ?"/><parameter key="message_farewell" value="Bye bye brave soldier. Remember, peoples without head, don't transform in undeads."/><parameter key="message_alreadyfocused" value="You are drunked ? You talk really talk to me ?"/></parameters> Esse é um exemplo basico de npc vendedor, que não faz muita coisa. module_shop : Quer dizer que ao falar trade ele irá abrir a janela tosca de venda de itens. shop_buyable : Isso faz tudo que tiver ai ele vender sendo a sintaxe parameter key="shop_buyable" value="nome inutil (inutil mesmo não serve para nada),id do produto,preço; Podendo você adicionar milhares e milhares, unico porém de você adicionar pelo XML é que não há possibilidade de fazer a venda por backpack (pelo menos até a versão que testei) message_farewell Mensagem de despedida Essas message tem alguns tipos explicados abaixo : greet - mensagem de boas vindasfarewell - Mensagem de despedidabuy - Mensagem de confirmação de compraonbuy - Sei la o0bought - Mensagem de compra confirmadasell - Mensagem de confirmação de vendaonsell - sei la o0sold - Mensagem venda confirmadamissingmoney - Que você ta liso (sem nada)needmoney - Que você não tem dinheiro suficientemissingitem - Falta o item necessarioneeditem - Que você não te o item ou não tem a qtd suficienteneedspace - Que falta espaço na bp para o itemneedmorespace - Que prescisa de mais alguns espaçosidletimeout - Que você demoro e perdeu a vezwalkaway - Saiu da visão deledecline - Que desistiu da açãosendtrade - Quando abre a janela de tradenoshop - Que ele não tem janela de trade para mostraroncloseshop - Que você fechou a janela de tradealreadyfocused - Que tu deu um tapa na pantera, ou seja, ele já está falando com vocêplacedinqueque - Para você ter paciencia que já será atendido Tudo isso acima deverá estar depois de message_ e as mensagens em default você poderá encontrar em npc/lib/npcsystem/npchandler.lua Se você fazer asneira lá os npcs não funfam cuidado o0 Ainda há o npc de barco, muito simples : <parameter key="travel_destinations" value="desert,1594,835,5,180;edron,931,825,6,90;"/> Sintaxe value="nome da cidade ,coordenada x,coordenada y,coordenada z ,valor;" Da para você fazer tudo do LUA no XML, porém eu acho estranho e apenas frescura do Jiddo e dos Developers do TFS (não sei developer em Português) Caso seja curioso olhe nos arquivos bankmax.xml, merchant.xml e postman.xml que estão em npc/lib Bem a parte XML já acabo, ou seja, ela é muito simples. NPCS EM LUA Aqui é a parte legal do npc na qual até certos scripters novos fazem coisas desnecessarias ou que pioram... A base do arquivo usando Jiddo System é local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endnpcHandler:addModule(FocusModule:new()) Ou seja npcs, que aquilo que mostrei no xml é suficiente você pode direcionar para o default.lua Eu disse que npcs feitos no XML, a opção de compra por backpack não é possivel Então para faze-la em um npc Lua ficará assim : local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endlocal shopModule = ShopModule:new()npcHandler:addModule(shopModule)shopModule:addBuyableItem({'health potion'}, 7618, 45, 1, 'health potion')shopModule:addBuyableItem({'mana potion'}, 7620, 50, 1, 'mana potion')shopModule:addBuyableItemContainer({'bp hp'}, 2000, 7618, 900, 1, 'backpack of health potions')shopModule:addBuyableItemContainer({'bp mp'}, 2001, 7620, 1000, 1, 'backpack of mana potions')npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Nesse exemplo o npc vende health potion,mana potion e bp dos respectivos. Sendo a sintaxe shopModule:addBuyableItem({'nome inutil'}, id preço, quantidade ou sub tipo, 'nome inutil') Esse nome só serve para você não se perder, pois ao dizer trade ele aparecerá o nome do item pelo items.xml e não o que voce falou Sintaxe da backpack shopModule:addBuyableItemContainer({'nome'}, id da backpack, id, preço, sub tipo ou quantidade (caso seja agrupavel), 'nome inutil') Ai sempre virá uma bp cheia dos item especificado. Caso não saiba ao clicar com o direito no TRADE e usar buy with backpack virá com isso ai Essa é a parte facil até agora tentarei pensar aqui 25 minutos um jeito de explicar muita coisa xD NPCS de Missões Bem aqui ensinarei a fazer npcs de missões, isso mesmo até mesmo aqueles de post office, paradox (que eu até ja fiz) Como sempre ensinarei a logica, ou seja, darei conhecimento não ideias local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidif msgcontains(msg, 'rainbow') or msgcontains (msg, 'perch') thenif getPlayerStorageValue(cid,30013) == 8 thenselfSay('Yeah. But peguins, stoled my last crate of this. Please go lair of this plague and take again my itens. You go ?', cid)talkState[talkUser] = 1elseselfSay('You are a lier. Leave here!', cid)endelseif msgcontains(msg, 'mission') thenif doPlayerRemoveItem(cid,7707,1) == 1 thenselfSay('Congratulations. Give this for Willard.', cid)setPlayerStorageValue(cid,30013,10)talkState[talkUser] = 0elseselfSay('You don\'t have nothing!', cid)endelseif talkState[talkUser] == 1 thenif msgcontains(msg, 'yes') thenselfSay('Great. Later report me asking mission.', cid)setPlayerStorageValue(cid,30013,9)talkState[talkUser] = 0elseselfSay('You don\'t have nothing!', cid)endendreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Esse npc ai é um simples de quest, você pode se basear nele para seu primeiro npc Vamos explicar umas coisas importantissimas talkState = Isso ai é a genialidade, a cada passo você pode mandar o player para um estagio. Se você leu meus tutos percebeu que ele é um vetor, mais por que ? Porque, ao ser uma variavel ele é armazenada no servidor certo ? Então se não fosse um vetor, o npc falando com dois ao mesmo tempo poderia se confudir e ferrar tudo literalmente Se você dominar o talkState dominará 50% de npcs de missões Storages = Isso também é indispensavel nos npcs, é sempre bom reservar uns para cada missão Para se ela tiver varias etapas você não se confudir, Ou usar o mesmo value para poder aproveitar no questlog (explicado no tutorial SUper Quests) O npc acima ele é 4º npc da minha quest global do meu otserver de testes. Ignore os erros de Inglês. if msgcontains(msg, 'rainbow') or msgcontains (msg, 'perch') thenif getPlayerStorageValue(cid,30013) == 8 thenselfSay('Yeah. But peguins, stoled my last crate of this. Please go lair of this plague and take again my itens. You go ?', cid)talkState[talkUser] = 1elseselfSay('You are a lier. Leave here!', cid)end Aqui ao você falar rainbow ou perch ele começa a girar essa parte do script. Ou seja no caso eh msgcontains se você falar Sou gay rainbow e você é bobo,feio e chato Ele irá entender normalmente, e rodará o script. Caso fosse msg ai sim teria quer ser certinho (até maiscula e miniscula acho que ele duvidaria) No caso ele checa o storage 30013 se tem o valor 8, caso tenha ele fala aquela frase enorme e muda seu talkstate para 1 Se não tiver o storage com valor 8, ele te ofende. Esse storage 8 é adicionado no npc anterior. Se você tiver tudo certo ele tem pergunto algo, porém isso só será checado no talkstate 1 elseif talkState[talkUser] == 1 thenif msgcontains(msg, 'yes') thenselfSay('Great. Later report me asking {mission}.', cid)setPlayerStorageValue(cid,30013,9)talkState[talkUser] = 0elseselfSay('You don\'t have nothing!', cid)end Se você falar yes, ele manda você ir no penguim hell para você pegar os treco para ele. E te coloca o storage 30013 com valor 9 O valor do storage é fico importante depois da criação do quest log, pois nele os avanços da mesma missãoSó pode ser feito pelo mesmo storage. Lembrando que depois do tfs 0.3.0 beta 1 , é possivel adicionar palavras no valorPodendo ser :setPlayerStorageValue(cid,30013,"estagio 1") E veja que ele manda você falar mission quando completar Palavras entre { } de npcs fazem ele falar em palavras negriras Vamos supor (não supositorio), que você completou ela e falo mission para ele. O que iria checar ? elseif msgcontains(msg, 'mission') thenif doPlayerRemoveItem(cid,7707,1) == 1 thenselfSay('Congratulations. Give this for Willard.', cid)setPlayerStorageValue(cid,30013,10)talkState[talkUser] = 0elseselfSay('You don\'t have nothing!', cid)end Se você fala mission, ele automaticamente remoe o item 7707 (dado na quest) e parabeniza você. Dando o storage 30013 com valor 10 O valor necessario para o npc anterior voltar a falar com você. Caso você seja caloteiro ele já te desmente. Bem simples, não ? Claro que esse npc é minisculo. Porém ja da para seguir como base. OLhe a evolução dele Assim já para ter uma ideia de um npc maior... É só seguir essa base... Vamos criar um passo a passo para que não compreendeu. NPCs tutoriais Situação : O npc Valdemar quer que você entregue uma carta a irmã dele chamada Clarice. Pense. Ele irá dar uma carta, e algo que controle se você ja recebeu a carta. Porque se você deu calote uma vez Que não se repita, ou seja, um storage value. Que será o 2411 (bem masculo) local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidif msgcontains(msg, 'mission') thenif getPlayerStorageValue(cid,2411) == -1 thenselfSay('Entregue essa carta a minha irmã Clarice.', cid)setPlayerStorageValue(cid,2411,1)doPlayerAddItem(cid,8370,1)elseselfSay('Eu ja te dei a carta, aguardo resposta', cid)endendreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Ai checamos se ele já fez a quest. No caso se tiver -1 (que nunca fez) ele poderá começa-la. E dará a carta ao player (item 8370 nem sei o que é) Ok. Essa parte ta montada, ele dá a carta. Situação : A NPC Clarice está cantarolando em sua casa, quando você chega com uma carta de seu irmão. Ela recebe de bom grado porém prescisa provar que recebeu. Porém seu jogador não sabe que existe storage value, então Você poderá enviar outra carta ou inventar que ela irá falar com ele. local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidif msgcontains(msg, 'letter') thenif getPlayerStorageValue(cid,2411) == 1 thenselfSay('Ah você relmente tem a carta de meu amado irmão?', cid)talkState[talkUser] = 1elseselfSay('Ah seu fanfarao saia daqui', cid)endelseif talkState[talkUser] == 1 thenif msgcontains(msg, 'yes') thenif doPlayerRemoveItem(cid,8013,1) == 1 thensetPlayerStorageValue(cid,2411,2)selfSay('Obrigada. Agora eu irei falar com ele sobre o assunto', cid)talkState[talkUser] = 0elseselfSay('Você não tem a carta dele', cid)endelseselfSay('Então porque veio aqui ?', cid)endendreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Veja que ela é a prova de erros. Primeiro ao falar letter ela checa se você tem o storage com valor 1 (Ou seja, se você falo com ele) Se não falou ela já te manda pescar, se houver, ela já mete pergunta se você tem a carta Caso não já te manda pescar Caso sim ela tenta pergunta se voce tem a carta Caso diga não ela te manda pescar também, Caso fale sim ela tenta tirar sua carta, caso você tenha ela te agradece e coloca o storage com valor 2 Caso não tenha ela diz que você não tem a carta Manda pescar é um jeito delicado de mandar você ir tomar suco no orificio... Vamos suport, que você aceitou e entregou a carta tudo certinho Você deve voltar ao Valdemar para ele te dar algo não ? Situação : Você ja deu uma de carteiro e agora quer receber sua recompensa, então ao Oscar, Porém ele não é trouxa E como ele sabe se você ja fez tudo ? Uma dica começa com S e termina com orage... local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidif msgcontains(msg, 'mission') thenif getPlayerStorageValue(cid,2411) == -1 thenselfSay('Entregue essa carta a minha irmã Clarice.', cid)setPlayerStorageValue(cid,2411,1)doPlayerAddItem(cid,8370,1)elseselfSay('Eu ja te dei a carta, aguardo resposta', cid)endelseif getPlayerStorageValue(cid,2411) == 2 thenselfSay('Parabens. Você fez o pedido certinho! Receba sua recompensa!!!', cid)setPlayerStorageValue(cid,2411,3)doPlayerAddItem(cid,2160,1)elseselfSay('Termine o serviço!', cid)endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Vejam que eu usei a mesma palavra missão e adicionei um else. Se ele tiver o storage com valor 2 e falar missão, obviamente ele fez tudo e como é a ultima missão Não necessita fazer perguntas retoricas (sem resposta), então ele já da sua recompensa e ja fecha seu storage com 3 Caso você não tenha storage -1 e nem 2 só pode ser 1 (no caso dessa quest) então ele manda você termina o serviço PELO AMOR DE DEUS, SEMPRE ESTRUTURE SEU SCRIPT, SE NÃO VOCÊ IRÁ SE CONFUDIR COM ESSE SHOW DE ELSE E IF. Isso é a vantagem de se usar o Jiddo System, pois diminuiu a confusão. Porém como ja disse, é coisa de preguiçoso Mais cada um com o seu né... Aqui acaba o npc de missões. Eu expliquei apenas a parte dos ifs e elseifs. Isso é simples, agora depende de sua capacidade e criatividade. Melhor maneira de aperfeiçoar ? fazendo varios!!! Eu odeio npcs, quase morri de raiva de ter que fazer esses (serio ) Espero que aproveitem xD Funções de NPcs Se você leu esse tuto até aqui, é porque não entendeu nada, ou seu interesso muito, por npcs. Lembra dos npc base ? local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endnpcHandler:addModule(FocusModule:new()) Se você observar ele tem 4 funções ai que nem foram usadas. onCreatureAppear(cid) : Ela faz uma ação quando o player entrar em seu raio de ação onCreatureDisappear(cid) : Ela faz uma ação quando o player sai do seu raio de ação. onCreaturesay(cid) : Quando o player fala algo. onThink(cid) : Seria ao pensar ao achar, não tenho certeza do que faz, porém é uma função muito usada. onCreatureMove(creature, oldPos, newPos) : Quando a criatura se move de um lugar para outro. Pelo que você ja perceberam eu odeio npcs, então não usei muitas dessas funções. No tfs tem o npc cityguard que ataca todos os red skull que aparecem em seu raio. local target = 0local prevTarget = 0local maxChaseDistance = 20local origPos = 0local origDir = NORTHlocal lastAttack = 0local followTimeout = 10local function isSkulled(cid)local skullType = getPlayerSkullType(cid)if(skullType >= 3) thenreturn trueendreturn falseendlocal function goToOrigPos()target = 0lastAttack = 0selfFollow(0)doTeleportThing(getNpcCid(), origPos)endlocal function updateTarget()if(isPlayer(target) == FALSE) thengoToOrigPos()elseif(not isSkulled(target)) thentarget = 0selfSay("Now, behave in the future.")endif(target == 0) thenlocal list = getSpectators(getNpcPos(), 8, 8, false)for i=1, table.getn(list) dolocal _target = list[i]if(_target ~= 0) thenif(isPlayer(_target) == TRUE and isSkulled(_target)) thenif(selfFollow(_target)) thentarget = _targetif(target ~= prevTarget) thenselfSay("We do not tolerate people like you here!")endprevTarget = targetbreakendendendendendendfunction onCreatureAppear(cid)if(cid == getNpcCid()) then--Wake up callorigPos = getNpcPos()--origLook = getCreatureDir(cid)endendfunction onCreatureDisappear(cid)if(target == cid) thengoToOrigPos()endendfunction onCreatureMove(creature, oldPos, newPos)--endfunction onThink()updateTarget()if(target == 0) thenreturnendlocal playerPos = getCreaturePosition(target)local myPos = getNpcPos()if(myPos.z ~= playerPos.z) thengoToOrigPos()returnendif(math.abs(myPos.x - origPos.x) > maxChaseDistance or math.abs(myPos.y - origPos.y) > maxChaseDistance) thenselfSay("I'll catch you next time.")goToOrigPos()returnendif(lastAttack == 0) thenlastAttack = os.clock()endif(os.clock() - lastAttack > followTimeout) then--To prevent bugging the npc by going to a place where he can't reachselfSay("You got me this time, but just wait.")goToOrigPos()returnendif( (math.abs(playerPos.x - myPos.x) <= 1) and (math.abs(playerPos.y - myPos.y) <= 1)) thendoTargetCombatHealth(getNpcCid(), target, COMBAT_LIFEDRAIN, -200, -300, CONST_ME_BLOCKHIT)lastAttack = os.clock()endend Vamos estuda-lo e aprender juntos!!! function onCreatureAppear(cid)if(cid == getNpcCid()) then--Wake up callorigPos = getNpcPos()--origLook = getCreatureDir(cid)endend Quando a criatura aparece ele chama a função getNpcCid que checa o player que o npc está focado. Ai a variavel origPos vira a coordenada que ele está no momento function onCreatureDisappear(cid)if(target == cid) thengoToOrigPos()endend Quando o player sai da tela, ele verifica se o target (player que ele está focado também!?) é um player Se for ele volta para a posição anterior local function isSkulled(cid)local skullType = getPlayerSkullType(cid)if(skullType >= 3) thenreturn trueendreturn falseend Essa função seria a base do npc, ele segue apenas players com skull. Poderiamos mudar essa função para ele seguir apenas player druids ? Claro!!! Como é um tutorial mudar o nome da função iriamos que remodelar todo o script (enche o saco) vamos apenas mudar dentro da função local function isSkulled(cid)local vocType = getPlayerVocation(cid)if(vocType== 2) or (vocType == 6) thenreturn trueendreturn falseend Mudando só isso os druid iriam sofrer na mão desses npcs xD Da para fazer ele atacar apenas monstros ? (acho que sim) local function isSkulled(cid)local idType = isPlayer(cid)if (idType ~= 1) thenreturn trueendreturn falseend No caso se for diferente de 1 ele arrebenta de magia. Teste essas modificações. Porém a ideia base é entender as funções e não só modifica-las. Bem a função updateTarget faz ele apenas fixar a target (alvo) players com skull white ou red. Então deixe ela para outro dia. Vamos verificar a onThink function onThink()updateTarget()if(target == 0) thenreturnendlocal playerPos = getCreaturePosition(target)local myPos = getNpcPos()if(myPos.z ~= playerPos.z) thengoToOrigPos()returnendif(math.abs(myPos.x - origPos.x) > maxChaseDistance or math.abs(myPos.y - origPos.y) > maxChaseDistance) thenselfSay("I'll catch you next time.")goToOrigPos()returnendif(lastAttack == 0) thenlastAttack = os.clock()endif(os.clock() - lastAttack > followTimeout) then--To prevent bugging the npc by going to a place where he can't reachselfSay("You got me this time, but just wait.")goToOrigPos()returnendif( (math.abs(playerPos.x - myPos.x) <= 1) and (math.abs(playerPos.y - myPos.y) <= 1)) thendoTargetCombatHealth(getNpcCid(), target, COMBAT_LIFEDRAIN, -200, -300, CONST_ME_BLOCKHIT)lastAttack = os.clock()end Explicando cada if. - Primeiro ele checa se ele tem target, se não tiver recomeça o ontarget - Segundo se ele verifica se o player está no mesmo andar que ele (coordenada z) se não tiver volta pro começo - Terceiro ele verifica se o player está muito longe (distancia maxima especificada acima), caso esteja ele fala mais ou menos "te pego na proxima" e volta pro seu respawn. - Quarto Ele muda seu ultima attack para o tempo atual do servidor - Quinto Ele verifica se ja passou o "tempo de descanso dele) - Se o tiver na posição certa de ataque, ele mete o sabugo no player espacando ele. Até o player morrer ou fugir. Entederam a logica ? Não !? Tudo bem. Vai treinando... Sinceramente esse npc é o mais complexo que ja vi. Eu entendi ele, porém não tenho animo de refaze-lo xD Espero que tenham gostado do tutorial, eu usei esse ultimo npc para vocês conseguirem entender que npc é complicado E pegar outros como exemplo é normal e muito util. Porém nunca levem creditos por aquilo que não fizeram. Duvidas, ofensas, reclamações ou elogios postem sem medo. Eu disse o que quis aqui e ouvirei tudo também Terminei isso as 01 e 07 minutos (ou Seja 02 e 07 ) acabo o horario de verão tenho + 1 hora pra dormir. Bom proveito!! E esperem os proximos que virão
    1 ponto
  9. Servfull 1.1 Mapa Global (Protocolo Tibia 8.1) Versão OTserv Aries 0.4.5 Aries 0.4.5 Add: * Server Save de Emergencia * Fixado Bug de Ultimo Login * Fixado Mensagem ao Logar * Fixado Sistema de Bless * Fixado Lags Excessivos * Fixado ao usar itens na mira (Crosshair) * Removido /ban e /b e adicionado CTRL+Y , ou "Rule Violation" * Fixado possivel error ao usar /bans * Fixado Skill Save * Fixado uso de armas * Fixado experience stage * Fixado Livro de Magia (Spell Book) * Mais Scripts em spells e armas. * Novas estrutura de database * Novo sistema de Aprender Spells (Learn Spells) * Novo sistema de limpar (Clean) * Novo sistema de Salvar Servidor * Monstros empurrando no maximo 20 Items * Nova forma de definir parametros ao access (Flags) * Manuseio de Itens (Itens de Infeite que podem ser postos nas paredes) * Guia de Players adicionado e improvisado * Adicionado novo sistama de natação (sem NPC) * Adicionado sistema de enchanted com dual hit * Corrigido/Adicionado monsters e npcs * Adicionado Exori Hur e Exori Con * Commandos podem ser executados em qualquer canal (não só no defalt) * SQL Version adicionada * Sem DLL Infectada (Creditos Aries Team) Servfull 1.1 Bug's ajustados: *Anihilator Quest configurada (mestre fyoda) *Ancient Helmet Fusão configurada (Natan) *Fire Field configurada (Skulls) *Poison Fiel configura (Skulls) *Energy Field configurada (Skulls) *Magic Wall configurada (Skulls) *Bug's Houses configuradas [650 houses, novas e configuradas] (Natan&mestre fyoda) Adicionado: (Respawns) (Cidades) Respawn: Djin's e Faraos em Ankrahmun: Ferumbras Tower: Frost Dragon proximo a Svargrond: Um grande respawn de Lizard Sentinel/Lizard Snakecharmer/Lizard Templar em Port Hope: Um respawn de Kongras/Sibang/Merlkin em Port Hope: Um respawn de Quara Constrictor/Quara Mantassin/Quara Pincher/Quara Predator: Aqui é o acesso até o respawn: Um respawn de Dragon/Dragon Lord em Venore: Thais o maior respawn com uma grande variedades de monstros: Creditos aos respawn (Natan). Cidades: Svargrond: Ilha dos eventos terá acesso até la com o npc de barco de carlin (Hi,Evento,yes): Configurações: Obsidian Knife (Natan&Skulls) Minotaur/Minotaur Leather Minotaur Mage/Minotaur Leather Minotaur Archer/Minotaur Leather Minotaur Guard/Minotaur Leather Behemoth/Perfect Behemoth Fang Dragon/Green Dragon Leather Dragon Lord/Red Dragon Leather Lizard Templar/Lizard Leather Lizard Sentinel/Lizard Leather Lizard Snakecharmer/Lizard Leather Blesed wooden stake (Natan&Skulls) Demon/Demon Dust Vampire/Vapire Dust Novos teleportes na poi. (mestre fyoda) Enchanted Perolas emcima do Templo de Venore (mestre fyoda) Configurado novo sistema de addon novos npc's todos os npc's espalhados pelo server. (mestre fyoda) Npc/Addon Bozo (Jester) Bron (Barbarian) Brotherhood (Brotherhood) Duncan (Pirate) Ceiron (Druid) Elane (Hunter) Erayo (Assasssin) Gregor (Knight) Habdel (Oriental) Hanna (Citizen) Hjaern (Noserman) hugo (Beggar) Irmana (Nobleman) Klaus (Pirate) Lubo (Citizen) Lugri (Wizard) Lynda (Mage) Morgan (Knight) Morgan Warrior (Warrior) Nightmare (Nightmare) Razan (Oriental) Sandra (Summoner) Simon the Beggar (Beggar) The Queen Of The Banshees (Wizard) Trisha (Warrior) Ustan (Druid) Vescu (Assassin) Zoltan (Mage) Ajax (Barbarian) Angelina (Summoner) Todos os npc's pedem os mesmo itens do tibia rl por isso configurei todos os monstros para da os itens pedidos. Configurado algumas invasões: (Natan) /Raid orshabaal /Raid ferumbras /Raid minos /Raid lethal /Raid ron /Raid morgaroth /Raid deade /Raid brutus Bom galera o server está com uma estabilidade boa andei hosteando ae com alguns caras e deu pra fica 24Hrs on caso o serv venha a ser nukado em primeiro lugar desconfie do AccManager. ____________________ Cidades: ____________________ * Carlin * AB'Dendriel * Kazordoon * Port Hope * Edron * Ankrahmun * Venore * New Island * Svargrond * Ilha Dos Eventos ____________________ Quest's: ____________________ * Banshee Quest -- (LV 60) * Demon Helmet -- (LV 100) * Anihilator -- (LV 100) * Ancient Helmet -- (LV 100) * DSM -- (LV 95) * Demona Quest -- (LV 80) * RH -- (LV 30) * Behe Quest -- (LV 80) * Ring of the skies -- (LV 85) * Bright Sowrd -- (LV 45) * Banshee Quest -- (LV 60) * Crown Legs -- (LV 8) * Blue <> BOH <> SS -- (LV 60) * Warlock Quest -- (LV 70) * Knight Armor -- (LV 8) * Teddy Bear -- (LV 135) * Mms and Giant Sword -- (LV 100) * Fire Sowrd -- (LV 20) * Warrior Helmet -- (LV 8) * 4 Itens Raros -- (LV 210) <> Crystal Arrow <> Gold Ring <> Dragon Scale Legs <> Great Shield * 4 Itens Raros -- (LV 220) <> Magic Plate Armor <> Great Axe <> Horned Helmet <> Golden Boots * POI (Pits of Inferno) -- (LV 100) Descrição breve: A melhor quest do serv a mais demorada a mais aventurada a melhor =D. <> Avanger <> 100 platinum coins <> Frozen Starlight <> Boots of Waterwalking <> Stuffed Dragon <> Sprite Wand <> Arbalest Aconselhos a usa esse mapa editor na verdade é obrigatorio falta só add Tibia.spr: Download do Server SpeedyShare E agradeço ao mestre fyoda pelo incentivo que ele deu para fazer isso tudo =D. Espero que gostem curtam e postem bug's http:
    1 ponto
  10. rj157

    Bom Galera Do Poke Dash

    Bom é O Seguinte!! Meu Objetivo é Que "Todos Colaborem Ajudando Em Alguma Coisa" Mais Alguns Falam : A Eu Nao Sei Nada ... Nao Sabe? Entum Pelomenos Nao Exija Nada...Exemplo: Faz A Pergunta Uma Vez... Ninguem Responde e Essa Pessoa Vai E Da Flood E Refaz A Pergunta!! Bom Mais Voltando Ao Assunto Esse Topico Eu Estava Penssando O Seguinte... Que Todos Que Tiverem Algum Trabalho Testado Postem...!! Mais Sempre Tem Um E Pergunta ... Porque Eu Deveria Postar Meu Script Aki? Sendo Que Nao Foi Facil Fazer Ou Achar? Porque Passar Para Todos ? Simples:Porque Voce Ajudando As Pessoas Com As Coisas Que Voce Tem ... As Pessoas Podem Te Ajudar Com As Coisas Que Voce Nao Tem Entao Porfavor Antes De Fazerem Perguntas Penssem Um Poco Na Descriçao Do Topico Obrigado!! Bom Agora Eu Irei Passar Algumas Coisas Que Muitos Precisam E Estarei Postando Agora A Descriçao Do Server Testado... Pokemon Dash :Criado Por Brun123(mastercraft), glugluguga. Versao :8.54 Site Para Baixar O Server E Ter As Informaçoes Do Que Contem Nele:http://www.xtibia.com/forum/topic/149604-854pokeserver-tfs-036-v50/ Bom e Como è Meu Segundo Topico Nao Sou Muito Experiente Entao Qualquer Erro De Portugues Ou Qualquer Coisa Que Esteja Faltando Avise.. E Fugindo Meio Do Assunto Preciso Que Alguem me Encine A Botar Imagem No Topico E Deixar Ele Cada Veiz Melhor E Pesso Para Colaborarem Como Ja Foi Dito Bom E è Isso Ae Quem Souber As Coisas Do Topico EX:Botar Imagens,Cores Nas Letras e tambem botar arquivos para download no megaupload que preciso botar meu m6 que eu mesmo fiz... e botar mais algumas coisas como items.xml e outros Me Add Msn romariopnascimento@hotmail.com... Agora Irei Postar Alguns Scripts Que Eu Tenho.. Bom Muitos Nao Sao Meus E Nao Sei O Nome De Muitos Dos Criadores ... Só Mesmo O Do Bruno e Do Glugluguga E Tudo Que Eu Postar Estara Editado Por Mim [ Revive ] - fiz em cima de uns Scripts aqui , então n ligue para esse DEMON e VAMPIRE no meio do Script. Bem Falei Que Estava Esperando Alguem Me Encinar A Por Um Arquivo Para Download e Ja Me Enssinaram Agora Como Prometido Esta Ae Catch 100% Configurado Com Life Do Go/back Do Server Todas As Boxs Configuradas Com Life Do Go/Back m1,m2 e m6 Bom Estou Pulando Do m2 Ao m6 Simplesmente Porque Eu Peguei O m1 e o m2 De Outro Topico E Comecei A Editar Dos Mais Dificeis Que è O m6 Evolution 100% [ Npc que compra Stones ] - Igual ao do Global , ow seja não eh por Trade [ Npc Premium Seller por Diamonds ] - Ele vende 1 Dia de premium por 1 Diamond , logo arrumarei para 10 Diamonds ser 30 Dias. [ Comando /AddPoke ] - Agora Adicionados Para Todos Os Pokemons [ Revive por Talkaction ] - Para aqueles que querem vantagiar a vida dos Premmy. [ Descrições da Pokedex 100 % ] - Feito para Pokemon Dash , So substituir a pasta "pokedex" Tentando Editar Com Os Lendarios Bom Agora Quero Pedir Mil Desculpas Por Ter Sem Querer Ter Refeito O Topico =[... Bom Mais Ja Esta Tudo Ae Denovo... Se Estiver Faltando Algo Avisem... Estou Tentando Fazer O Npc Que Pinta Ball Para Postar Aki ... Se Eu Conssiguir Posto e Agora ... Irei Distribuir Os Creditos Bom e Só Para Relembrar... Estou Criando Um Projeto Pokemon e Se Voce For Experiente e Tiver Afim... De Criar O Melhor Servidor Pokemon Entrem No Meu Outro Topico E Confiram As Informaçoes Que Tem No Server E Como Se Eleger A Algum Cargo ??Te Ajudei?? Rep+ A Sua Visita Me Alegra
    1 ponto
  11. Fala XTibianos, Mais uma vez eu aqui ná seção de design trazendo meus amados scripts.. =) Bom dessa vez eu fiz um script um pouquinho mais complexo porem ele é simples de ser configurável, bom vamos ao que interessa! O script funciona assim: Você da use em algum item que esteja com a action nele e o script ira sumonar os monstros que você escolher de 15 em 15 segundos nas coordenadas que você escolher, além disso você você poderá configurar um item que o player irá ganhar após clicar no item com a action! Resumindo: É um script de quest que juntamente sumona monstros! Ok deixa de papo e vamos ao scripts... Vá até a pasta "Actions" abra a pasta "Scripts" e crie um arquivo chamado "Summon.lua" e coloque este script dentro: -- [( Script created by Doidin for XTibia.com )] -- function onUse(cid, item, fromPosition, item2, toPosition) local itemid = 2195 -- ID do item que o player ganhará! local monstername1 = "Dragon Lord" -- Nome dos monstros que serão sumonados após o player clicar no item! local monstername2 = "Dragon" -- Nome dos monstros que serão sumonados após o player clicar no item! local monster1 = {x=161,y=101,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster2 = {x=162,y=102,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster3 = {x=163,y=103,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster4 = {x=164,y=104,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon) local monster5 = {x=165,y=105,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon) actionstatus = getPlayerStorageValue(cid,6666) if actionstatus == -1 then if doCreatureSay(cid,"You went in the wrong place, beware!",TALKTYPE_ORANGE_1) then setPlayerStorageValue(cid,6666,1) else doPlayerSendTextMessageCancel(cid,MESSAGE_INFO_DESCR,"Sorry is not possible.") end function Quest() doPlayerSendTextMessage(cid,22,"You have found the secret item!") doPlayerAddItem(cid,itemid,1) end function Summon() doSummonCreature(monstername1,monster1) doSummonCreature(monstername1,monster2) doSummonCreature(monstername1,monster3) doSummonCreature(monstername2,monster4) doSummonCreature(monstername2,monster5) doSendMagicEffect(monster1,36) doSendMagicEffect(monster2,36) doSendMagicEffect(monster3,36) doSendMagicEffect(monster4,36) doSendMagicEffect(monster5,36) end addEvent(Summon,100) addEvent(Summon,15000) addEvent(Summon,30000) addEvent(Summon,45000) addEvent(Summon,60000) addEvent(Summon,75000) addEvent(Quest,6000) end end Agora volte a pasta "Actions" e abra o arquivo "Actions.xml" e adicione a seguinte tag: <action actionid="6666" event="script" value="Summon.lua"/> Bom agora basta você colocar essa actions "6666" em algum item como por exemplo: uma estátua ou uma pedra e a quest funcionar, mas lembre-se de botar as coordenadas perto do item que possuir a action! Abraços a todos e espero que gostem! =) Script foi 100% feito por mim! O kakilo me ajudou, a corrigir alguns erros... (Valeu brother)
    1 ponto
  12. Kvn007

    Pet System Tfs 0.3.6

    Retirado Devido a Erros *Close*
    1 ponto
  13. Fonte: Otland Esse é apenas um exemplo. Essa quest requer que você mate 200 Dragons e/ou Dragon Lords. Creaturescript crie um arquivo lua em creaturescripts/scripts/monsterkilldragon.lua e cole o seguinte: local monsters = { --name = storage ["dragon"] = 55004, ["dragon lord"] = 55004 } function onKill(cid, target) local monster = monsters[getCreatureName(target):lower()] if(isPlayer(target) == FALSE and monster and getPlayerStorageValue(cid, 76669) == 2) then if getPlayerStorageValue(cid, monster) < 200 then local killedMonsters = getPlayerStorageValue(cid, monster) if(killedMonsters == -1) then killedMonsters = 1 end setPlayerStorageValue(cid, monster, killedMonsters + 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have killed " .. killedMonsters .. " of 200 dragons.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have killed enough dragons.") setPlayerStorageValue(cid, 76669, 3) end end return TRUE end em creaturescripts/scripts/login.lua adicione: registerCreatureEvent(cid, "monsterkill") em creaturescripts/creaturescripts.xml: <event type="kill" name="monsterkill" script="monsterkill.lua"/> [/ NPC Crie o npc em npc/Martin.xml e adicione: <?xml version="1.0"?> <npc name="Martin" script="data/npc/scripts/dragon quest.lua" access="3" lookdir="2" walkinterval="2000"> <mana now="800" max="800"/> <health now="132" max="200"/> <look type="151" head="115" body="76" legs="35" feet="117" addons="1" corpse="6080"/> <parameters> <parameter key="message_greet" value="Hi, can you help me? ask me for a {mission}. "/> </parameters> </npc> em npc/scripts/dragon quest.lua adicione: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local quest = 76669 local reward = 70000 function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then npcHandler:say("Great! I'll reward you greatly {ok}?.", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "ok") and talkState[talkUser] == 2 then npcHandler:say("Okay, Hurry up!", cid) setPlayerStorageValue(cid, quest, 2) talkState[talkUser] = 0 elseif msgcontains(msg, "mission") then local str = getPlayerStorageValue(cid, quest) if(str < 2) then npcHandler:say("Great, an adventurer. I need you to slay 200 dragons for me. And then, we might be able to take out those dragon lords. Well, can you slay 200 dragons for me?", cid) talkState[talkUser] = 1 return true elseif(str == 2) then npcHandler:say("Please come back for a reward.", cid) elseif(str == 3) then npcHandler:say("200 dragons, already? You're a true dragon slayer! As I promised, here's your reward.", cid) doPlayerAddItem(cid, 2160, 30) doPlayerAddExp(cid, 1000000) doPlayerAddOutfit(cid, getPlayerSex(cid) == 0 and 142 or 134, 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have been rewarded with the warrior addon!") setPlayerStorageValue(cid, quest, 4) elseif(str == 4) then npcHandler:say("You have done enough for me, I will soon plan our attack!", cid) end talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Este npc vai lhe dar um addon, 1k de exp e 300k gold. Basta mudá-lo para o que quiser Gostou? por trazer ao Xtibia Rep+ :arrow:
    1 ponto
  14. aham912

    [Detalhe] Escada Que Foge Do "básicão"!

    Olá gente, este tutorial é bem simples e eu achei no mapa do pokémon Dash, então vamo lá! Primeiramente ta aqui uma imagem do resultado: ▪ Abra seu mapa editor e procure pelo item de ID:1395 e depois pelo item de ID:4187! ▪ Agora coloque dois do item 4387 um emcima do outro para obter um resultado parecido com o da imagem A. ▪ Logo depois coloque o item 1395 na frente do 4187 e o item de ID:1394 atraz do 4187 ficando como na imagem B. ▪ Agora procure pelas ID:4522,4523,4524,4525 e junte elas conforme o seu gosto formando um quadrado! (Destacado em vermelho) ▪ Você pode fazer o passo acima ja em cima do 4187 ou você pode fazer separado selecionar tudo e mover para o SQM do 4187! Agora você pode adicionar detalhes para esconder o 4187... ▪ Olha eu fiz um exemplo, veja na imagem abaixo. É isso pessoal quem quiser baixar esse detalhe vou passar o link de download logo aqui embaixo. Se você gostou comente e me dá um pontinho positivo de reputação ae! Download Até a proxima!
    1 ponto
  15. Demonbholder

    [Talkaction] Tente A Sorte

    Oi galera, vim trazer para vocês mais uma talkaction meio inútil, mas espero que vocês gostem, ela funciona da seguinte maneira, se você tiver 500k, e usar a talkaction, esse dinheiro vai ser removido, e você ira tentar a sorte, sendo que suas chances são essas: 40% de ganhar algum item; 10% de sumonar um ghazbaran que irá te atacar; 50% de não acontecer nada. É claro que o ghazbaran só irá ser sumonado se você estiver em area não protect zone. Certo, para adicionar o script, vá em data/talkaction/scripts, crie um arquivo .lua e cole isto nele: function onSay(cid, words, param) if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário local random = math.random(1, 10) if (isInArray({1, 2, 3, 4, 5}, random)) then doPlayerSendTextMessage(cid, 22, "Desculpe, não foi dessa fez, tente novamente.") elseif random == 6 then doPlayerAddItem(cid, 2160, 100) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou 500k") elseif random == 7 then doPlayerAddItem(cid, 2471, 1) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou um golden helmet") elseif random == 8 then doPlayerAddItem(cid, 2469, 1) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma dragon scale legs") elseif random == 9 then doPlayerAddItem(cid, 2646, 1) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma golden boots") elseif random == 10 and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doCreateMonster('ghazbaran', getCreaturePosition(cid)) end end return doPlayerSendCancel(cid, "Você não tem dinheiro suficiente") end Versão dois (sem ghazbaran), suas chances vão ser: 40% de ganhar algum item; 60% de não acontecer nada. O script da versão dois fica assim: function onSay(cid, words, param) if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário local random = math.random(1, 10) if (isInArray({1, 2, 3, 4, 5, 10}, random)) then doPlayerSendTextMessage(cid, 22, "Desculpe, não foi dessa fez, tente novamente.") elseif random == 6 then doPlayerAddItem(cid, 2160, 100) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou 500k") elseif random == 7 then doPlayerAddItem(cid, 2471, 1) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou um golden helmet") elseif random == 8 then doPlayerAddItem(cid, 2469, 1) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma dragon scale legs") elseif random == 9 then doPlayerAddItem(cid, 2646, 1) doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma golden boots") end end return doPlayerSendCancel(cid, "Você não tem dinheiro suficiente") end Depois vá em data/talkactions, abra o arquivo talkactions.xml e cole, entre as tags para players, a seguinte tag: <talkaction words="palavras" event="script" value="nome_do_arquivo.lua"/> Onde words="" são as palavras para ativar a talkactions e value="" é o nome do arquivo .lua que você criou para colar o script acima Script testado em Thyrania 8.5, espero que gostem, valeu.
    1 ponto
  16. Demonbholder

    Funções E Position Recorder

    Faaala galera! Esses dias um parceiro meu me deu uma idéia e pediu para que eu fizesse um script para ele, assim surgiu o script que irei postar agora. Eu coloquei o nome de Position Recorder porque o script faz jus ao nome; ele funciona da seguinte maneira: Você tem um item, no caso o 2359 e quando você clica nele, a sua posição é gravada e o item se transforma para o 2356. Ai você pode usar o 2356 que você será teleportado para a posição que você estava quando usou o primeiro item. Well, como dito no título, eu fiz duas funções para o script funcionar; claro que não era necessário, mas as funções são úteis para outras coisas também. Darei mais exemplos no final. Bom, vamos as funções: Vá em data/lib, abra o arquivo functions.lua, e cole no final dele estas duas funções: function doMarkPos(cid, posx, posy, posz) setPlayerStorageValue(cid, 19000, posx) setPlayerStorageValue(cid, 19001, posy) setPlayerStorageValue(cid, 19002, posz) end function getMarkPos(cid) return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)} end Certo, agora vamos ao script do position recorder. Opção 1: Apenas vips usam, Kydrai System Vip. Opção 2: Apenas vips usam, Perfect Vip System. Opção 3: Qualquer um usa. Outras possibilidades para as funções adicionadas: ~Quest: Terminar a quest e ganhar acesso a um lugar especial. Lembrando que o lugar fica gravado no jogador, e não no item. Os itens usados foram 2356 e 2359, no caso; você pode troca-los se souber como. É isso, postem o que acharam, até mais.
    1 ponto
  17. 92889857

    [Resolvido] Como Criar Um Exe.

    Nada ,Bom Duvida Sanada Então Reportado
    1 ponto
  18. Elkillura

    [Recrutando] Membros Para Team

    Área errada é só você ter paciência e atenção para procurar a seção correta. Tópico Reportado!
    1 ponto
  19. Natanael Beckman

    [Wepons] Ajuda

    Tópico no local errado man. Procura a seção correta =p
    1 ponto
  20. Secular

    Help

    Este Tópico Deve Responder Sua Pergunta: http://www.xtibia.com/forum/topic/152481-alguem-me-ajuda/ REP+ :arrow:
    1 ponto
  21. Tryller

    [8.71]Crystal Server V0.1.2

    Isto depende de qual DEV Você está falando Eu uso o meu que não é nem da TFS nem da Stian xD Mas se seu host for 64bit use stian 64bit Caos ocntrario use o outro Aos demais Valeu pelos comentários galera
    1 ponto
  22. Tryller

    [8.71]Crystal Server V0.1.2

    Olhe minhas respostas Em uma delas coloquei link para download do ipchanger
    1 ponto
  23. não. Acho que nem bolinha de papel eu sei fazer, quanto mais esses bonequinhos ae!
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...