Search the Community
Showing results for tags 'system'.
-
Isso não é inédito em OTS, mas fiz o meu sistema de Caçador de Recompensa (Bounty Hunter) 1. Informações sobre o sistema Sistema de pontos por recompensa incluído (configurável) Rank de maiores caçadores Rank de maiores recompensas Lista de jogadores com recompensa online 2. Funcionamento Você fala com o NPC, que oferece várias opções Você pode colocar uma recompensa para a morte de alguém (post), pegar seu dinheiro por caçar alguém (reward), checar as maiores recompensas (most wanted), checar seus pontos de caçador (points) ou obter informações gerais sobre o funcionamento (information) Para colocar uma recompensa, você deve fornecer um nome. Se esse jogador existir, você deverá oferecer um valor (mínimo configurável). Depois, desse valor será descontada a taxa da guilda dos assassinos (configurável). Se você tiver esse dinheiro, ele será removido e o nome dessa pessoa estará na lista de procurados, para que o jogador que a matar (não funciona para o jogador que colocou a recompensa) ganhe a recompensa devida Quando um jogador mata outro procurado, ele é avisado de que ganhou a recompensa e os pontos (se estiver ativado). Para pegar a recompensa, ele deve falar com o NPC Para saber quais jogadores procurados estão online e quais são suas recompensas, foi adicionado um quadro especial que lista esses jogadores, assim como um outro quadro que lista os maiores caçadores do servidor 3. Códigos 3.1. Tags Creaturescripts.xml: <event type="kill" name="bountykill" event="script" value="bountykill.lua"/> <event type="look" name="bountyboard" event="script" value="bountyboard.lua"/> talkactions.xml: <talkaction words="/installbounty" access="5" event="script" value="bountyinstall.lua"/> 3.2. NPC Crie um arquivo: npcs/Tyrion.xml 3.3. Códigos lua Adicionar em creaturescripts/login.lua, junto com os demais registerCreatureEvent registerCreatureEvent(cid, "bountyboard") registerCreatureEvent(cid, "bountykill") lib/bountylib.lua creaturescripts/scripts/bountykill.lua creaturescripts/scripts/bountyboard.lua npcs/scripts/assguild.lua talkactions/scripts/bountyinstall.lua 4. Configuração / Instalação Você deve usar o comando /installbounty pelo GOD para que o sistema adicione a coluna necessária no seu banco de dados As configurações disponíveis estão no bountylib.lua O sistema de pontos apenas adiciona e conta os pontos. Cabe a sua imaginação/habilidade fazer algo a partir deles Para adicionar o rank de melhores caçadores e a lista de procurados online, você deve criar dois itens (eu recomendo o quadro negro - id 1810, por exemplo) e colocar os actionids 3550 e 3551. Assim, quando alguém der look, aparecerão as respectivas listas [óbvio] O sistema depende de que você adicione o NPC no mapa [/óbvio] 5. Bugs Apesar de ter testado bastante, ainda há espaço para alguns bugs. Caso você os encontre, por favor poste DETALHADAMENTE qual é o erro para que eu possa consertar 6. Considerações Finais Espero críticas/sugestões/elogios sobre o código e seu funcionamento
- 13 replies
-
- bountyhunter
- system
-
(and 4 more)
Tagged with:
-
Nome: Kill Boss System Função: Ao desferir o último golpe no "BOSS" configurado na script ganha uma spell "storage" x3 de cargas , alem de mandar uma mensagem para todo o servidor anunciando quem desferiu o último golpe no "BOSS" Autor: Fingerout Versão Testada: 8.60 ~ Instalando: Em data/creaturescripts/scripts crie 1 arquivo chamado storage.lua e copie e cole isso lá dentro: Em creaturescripts.xml adicione a seguinte TAG: Agora vá no monstro configurado na script e abaixo de </loot> adicione: Agora implantando na spell , vá até na spell.lua desejada e adicione: EXPLICANDO: XSTORAGE = STORAGE QUE VOCÊ QUER NOME DA SPELL = NOME DA MAGIA QUE DESEJA +3 = CHANGES DA MAGIA BOSS NOME = PRECISO NEM FALA Creditos: Kekezito LHP e Fingerout
-
Preciso de Um Sistema de Moto Para Pokétibia Olá galera, Esse é Meu segundo Tópico e estou Feliz Pela Atenção que recebi No Meu Primeiro !! Espero Que Continue Assim. Obrigado... Minha Dúvida Galera, Eu quero um System de Moto para o Pokétibia ! Eu sei que a moto é o mesmo system da bike só com o outfit diferente, mas acontece que nem isso eu sei Fazer Queria que vocês Me Mostrassem Passo a Pesso Como Fazer Isso, Juntamente com O System !!!! Outra coisa é que eu quero um system que tenha a bike e a moto juntos !!! Explicando Melhor : Quero Um System de Uma Moto, Juntamente com O Passo a Passo de Como Fazer. Mas eu quero que o Meu server Continue Com A Bike. Entenderam ? Acho Que Sim !!! Informações O meu Server Já contém a Bike. E O Server Que Eu Tô Editando é o Erondino Site V13 CRéDITOS Os créditos Vão todos para Mim !!! Morram de inveja OBS: Escreva nos comentários O Que Acharam do Meu tipo e Modelo de Criar Tópicos Se Puder dar + REP Agradeço !
-
Olá, estava sendo trabalhado, um sistema de alavanca que permite que você compre donates no jogo com alavanca. Leia o tópico antigo para obter informações sobre este script e como configurá-lo. É o mesmo sistema, mas agora você pode escolher "true" ou "false", se você quer que custe premium points ou um item. Update 2.0: Adicionado a função de comprar com os itens, leia a configuração no script. Aqui está o código - Link Do Tópico Antigo - [Action] Shop System InGame Créditos - _CorneX_
-
Olá xtibia e todo os usúarios, por meio desse topico resolvi criar um tutorial como ADICIONAR icon system ao servidor, sem desloga vamos lá? Servidor usado para adicionar icon system http://www.xtibia.com/forum/topic/201018-pxo-server-11-by-smix/ Bom.. como o server dele já vem istalado o systema de icon system fica até mais facil, vamos lá? logo apoís abaixa-lo o servidor vamo ao primeiro passo para adicionar icon. 1* irei usar como TESTE 3 IDS do item.otb 13590,13591 e 13592. Bom o ID 13590 sera usado como 'On' Icone On.(Icone Vivo). o ID 13591 sera usado como icone OFF/icone morto. e o ID 13592 sera usado como USÊ/Icone sendo usado. agora vamos lá nas modificações dos scripts? Action configurações. Agora vamos para a parte de LIB. Mais tome muito atenção aqui, porque tem que faze bem certinho se não bugara muitas coisas. Lib configurações. agora vamos as configurações no movements. Movements configurações. Agora vamos ao item.xml
-
Galera, criei um system points no meu ot que ao clicar no bau pra comprar tal item, voce precisa de X points ! Mas eu quero saber se tem como criar pra que quando o char clique em um bau, ele receba varios items por X points ! Tipo um set donate ! Só consegui fazer esse sistema com 1 item por bau, me ajudem !
-
Eai Beleza Pessoal? Gostaria De Saber Se Existe Um Sistem Vip Perfeito Para Pokemon Pda Tipo Qria Um Vip System Mesmo Esquema Do Svke Fly Só Pra Vip Areas Vips Itens Tipo Diamonds Quest Exclusivas Bom Só Isso Agradeço !
-
Ae pessoal! eu queria arruma meu pet system aki! ele pode sumonar quantos pet quiser! eu queria q só podesse sumonar 1 pet ate o antigo morrer! function onUse(cid, item, frompos, item2, topos) local MyCreature = doSummonCreature("super mac",topos) doConvinceCreature(cid, MyCreature) if item.type > 1 then doChangeTypeItem(item.uid,item.type-1) else doRemoveItem(item.uid,1) end return 1 end Ajuda ae!!
-
Boomm Vamos Ao Que Enteressa, Eu QUero Pedir Um Sistema De PEt Que Sejam 6 elementos De Pet Holy Pet --- Coloured Eggs o Amarelo Tera Pet --- Coloured Eggs o Verde Ice Pet --- Coloured Eggs o Azul Fire Pet --- Coloured Eggs o Vermelho Energy Pet --- Coloured Eggs o ROXO Phoenix Pet --- Coloured Eggs Do Branco Draug Pet --- Hydra Eggs Bom eu Quero Que De USE nos Eggs E Nasça O Pet. E Que Ele Seja Infinito Até Logar Ou MOrrer. Que Ele Se Teleport Até Se Vc Subir Uma Escada. Ela Va atraz,, Pra ela Nao Poder Ser Usado No PZ, e Quero Que Cada 1 Tenha, 1 ADDON tipo HOLY PET Hunter FUll Female Toda Amarela e assim os Addons, Devido A COr do Eggs Bom os Addons ´´e Com Vcs Presiso disse Mesmo POr Favor Me Ajudem URGENTEEEE Que Cada Player Possa Fazer 1 PET quero Que Ele Seja Imune A TUDO Presiso Disso Mesmo Me Ajudem Plz , Presiso Que Cada Um Dos Pet Hite Igual Ao Nome Deles Holy - Holy > Fire - Fire assim sussesivamente Vamosss La XTIBIA OBS : Coloquem Pra Cada Pet Hita 400 de PLayer POr ae e O Droug Pet Hita 2k e o Phoenix 600 e Ta bom REP+ pra quem AJUDA :S
-
Galera, o Vodkart criou um scrip que da pontos a um char, pra que depois possa usar esses pontos comprando items donate nos baus da sala, igual nos sevidores Rozinx, mas eu não entendi como instalar e nem como usar, estão gostaria que alguém fizesse um tutorial, para mim e para todos que possam ter a mesma duvida. Link do tópico: AQUI / http://www.xtibia.com/forum/topic/181510-system-points/ Agradeço desde já.
-
Eu estava fazendo um servidor do 0 mas eu peguei um GLOBAL e começei a reeditar... Eu consegui um The Forgotten ServerVersion: 0.2.14 (Mystic Spirit)! Agora eu passei os NPC's que fiz no global para o the forgotten e quando eu falo com o NPC começa a dar esté erro. Esse seria o meu NPC. OBS ( o erro da em todos OS NPC que eu passei) <?xml version="1.0" encoding="UTF-8"?> <npc name="Michel" script="data/npc/scripts/michel.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="97" body="77" legs="87" feet="115" addons="0"/> <parameters> <parameter key="module_shop" value="1" /> <parameter key="message_farewell" value="Good Bye."/> <parameter key="message_walkaway" value="Good Bye." /> <parameter key="message_greet" value="Hello |PLAYERNAME|. How may I help you {trade} ?" /> <parameter key="shop_buyable" value="backpack,1988,10;bag,1987,4;fishing rod,2580,150;scroll,1949,5;scythe,1949,12;shovel,2554,10;torch,2050,2;worm,3976,1;" /> <parameter key="shop_sellable" value="fishing rod,2580,30;rope,2120,8;shovel,2554,2;" /> </parameters> </npc> alguem poderia me ajudar? ficaria muito grato. Rep++ Ajudem PF DUVIDA SANADA PORFAVOR RETIRAR TOPICO
-
Olááá galera do Ékz. Esses dias o XTibia tá muito parado, não tem nem pedido direito pra atender, e no último Sds teve poucos scripts. Entããão resolvi postar um sisteminha que eu fiz com base num pedido em algum lugar da internet. É o Partner System. O que ele faz: Você chama um amigo seu para jogar o server, mas para dar um ânimo nele, você convida-o para ser seu Partner, e enquanto ele for abaixo de tal level (configurável, default 50), ele terá um bônus de EXP (configurável, default 10%). Assim que chegar no level limite, o bônus acaba. Motivos para usar o sistema? Ora, como já disse anteriormente, serve para animar o jogo do player, para incentivá-lo a jogar mais. Chega de blablabla e vamos ao script: Novidades: • Agora você pode aceitar ou rejeitar convites mesmo que a pessoa que te convidou esteja offline • Quando você convida alguém e ele rejeita ou aceita o convite com você offline, ao logar você recebe uma mensagem informando a decisão da pessoa. • Todos os bugs corrigidos Configurando: waittime = 24 -- Tempo de espera em horas para convidar alguém novamente storage = 4651 level = 100 -- Level necessário para convidar alguém maxlevel = 50000 -- Level máximo para alguém virar partner e para ter bônus de EXP maxp = 5 -- Maximo de partners que alguém pode ter rate = 1.1 -- Rate do bônus Uso: Player: !partner Fulano -- Fulano foi convidado Fulano: !partner aceitar ou rejeitar -- Fulano aceita ou rejeita o convite. Observações: 1) Todos os bugs corrigidos. 2) Funciona em TFS versão 0.3.6 pra frente. Créditos: LuckOake -- Pelo sistema Vodkart -- Pela ideia e ajudas
-
Quero o sistema para somente equipar um item quandofor vip? no caso do meu ot seria para Premium Account.
-
Boa tarde a todos, eu queria saber se tem como colocar o systema de war no meu ot sem o site eu ja fiz tudo certinho tenho o tfs 0.4 mas na hora de colocar as query no sqlite da o seguinte erro: Error while executing query: near "AUTO_INCREMENT": syntax error e se seu tirar o auto_increment da o seguinte erro: Error while executing query: near "UNSIGNED": syntax error a query toda é essa: CREATE TABLE IF NOT EXISTS `guild_wars` ( `id` INT NOT NULL AUTO_INCREMENT, `guild_id` INT NOT NULL, `enemy_id` INT NOT NULL, `begin` BIGINT NOT NULL DEFAULT '0', `end` BIGINT NOT NULL DEFAULT '0', `frags` INT UNSIGNED NOT NULL DEFAULT '0', `payment` BIGINT UNSIGNED NOT NULL DEFAULT '0', `guild_kills` INT UNSIGNED NOT NULL DEFAULT '0', `enemy_kills` INT UNSIGNED NOT NULL DEFAULT '0', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `status` (`status`), KEY `guild_id` (`guild_id`), KEY `enemy_id` (`enemy_id`) ) ENGINE=InnoDB; ALTER TABLE `guild_wars` ADD CONSTRAINT `guild_wars_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_wars_ibfk_2` FOREIGN KEY (`enemy_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `guilds` ADD `balance` BIGINT UNSIGNED NOT NULL AFTER `motd`; CREATE TABLE IF NOT EXISTS `guild_kills` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `guild_id` INT NOT NULL, `war_id` INT NOT NULL, `death_id` INT NOT NULL ) ENGINE = InnoDB; ALTER TABLE `guild_kills` ADD CONSTRAINT `guild_kills_ibfk_1` FOREIGN KEY (`war_id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_2` FOREIGN KEY (`death_id`) REFERENCES `player_deaths` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_3` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `killers` ADD `war` INT NOT NULL DEFAULT 0; Se puderem me ajudar eu agradeço.
-
SITE: http://domination-ot.servegame.com Mapa Global Full WoE Zombie WarCastle Addon Bonus Bounty Hunters Trade OFFLINE Sistema de Loteria Task System 100% Raids automaticas Experience: Stages: Level 8 to 30 = 100x Level 31 to 50 = 60x Level 51 to 100 = 30x Level 101 to 150 = 10x Level 151 to 200 = 5x Level 201 to ... = 3x Skills: 25x ML: 10x Loot: 4x Mana/HP Regeneration: 10x dailyFragsToRedSkull: 08 weeklyFragsToRedSkull: 22 monthlyFragsToRedSkull: 75 redSkullLength: 05 dailyFragsToBlackSkull: 12 weeklyFragsToBlackSkull: 25 monthlyFragsToBlackSkull: 80 blackSkullLength: 07 protectionLevel: -> 50 pzLocked: -> 30 Segundos whiteSkullTime: -> 05 Minuto levelToBuyHouse: 50 housesPerAccount: 1 Casas por conta levelToFormGuild: 08 Level para formar guild Mais informacoes no site -> http://domination-ot.servegame.com
-
Fala XTibianos, eu estou com um projeto, de um otserver 8.6, mysql, XAMPP, site etc, mas me deparei com um probleminha enquanto eu instala o sistema vip, o que eu instalei foi esse: http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/ , Vip System por Account By Kydrai. O problema é q a configuração do gesior, está para 0.3.4 e o meu é 0.3.8, será que alguem conseguiria alterar para 0.3.8 ? Obrigado ae, ( Rep+ ai quem ajudar )
-
Ae galera, eu estou coom problemas na parte de configurar o gesior utilizando o vip system do kydrai, http://www.xtibia.co...by-account-v10/ , alguem poderia me ajudar aqui de alguma forma ? Obrigado desde já e pra kem ajudar Rep + 2 erros que apareceram no site: Fatal error: Uncaught exception 'E_OTS_NotLoaded' in C:\xampp\htdocs\pot\OTS_Account.php:368 Stack trace: #0 C:\xampp\htdocs\characters.php(101): OTS_Account->getPlayervip_time() #1 C:\xampp\htdocs\index.php(93): include('C:\xampp\htdocs...') #2 {main} thrown in C:\xampp\htdocs\pot\OTS_Account.php on line 368 Fatal error: Uncaught exception 'E_OTS_NotLoaded' in C:\xampp\htdocs\pot\OTS_Account.php:448 Stack trace: #0 C:\xampp\htdocs\accountmanagement.php(11): OTS_Account->getRecoveryKey() #1 C:\xampp\htdocs\index.php(123): include('C:\xampp\htdocs...') #2 {main} thrown in C:\xampp\htdocs\pot\OTS_Account.php on line 448
-
Esse script é um simples sistema de alquimia, porém é diferente dos outros. Alquimia era uma prática antiga que combinava alguns elementos a fim de formar outros. Esse meu sistema, faz com que os itens sejam "misturados" em um caldeirão e se pareça mais como era antigamente. Abaixo, um vídeo de demonstração e de como instalar. Deixei as mesmas posições no script pra que vocês possam se basear ao instalar no seu. Bom, vamos ao script: -- Como funciona: O player deve colocar os itens da receita emcima do counter (balcão de pedra) e puxar a alavanca. Feito isso, os itens serão "misturados" no caldeirão e com a colher (wooden spoon) o player poderá pegar o seu item. Crie um arquivo.xml em data/mods chamado Alchemist.xml e cole isto dentro: <?xml version="1.0" encoding="UTF-8"?> <mod name="Alchemist System" version="1.0" author="Leoxtibia" contact="none" enabled="yes"> <config name="alch_sys"><![CDATA[ counter = {x = 17, y = 56, z = 7} efeitos = {x=17, y=53, z=7} receitas = { {items = {{2160,1}, {2157,2}} , itemgain = {{5878,100}}, storage = 56000}, {items = {{2148,5}, {2155,1}} , itemgain = {{2113,1}}, storage = 56001}, {items = {{2498,1}, {2113,1}} , itemgain = {{2472,1}}, storage = 56002} } function Caldeiron() local B = { {3693,{x=17, y=53, z=7, stackpos = 1}}, {3694,{x=18, y=53, z=7, stackpos = 1}} } for i = 1, #B do doTransformItem(getThingfromPos(B[i][2]).uid,getTileItemById(B[i][2], B[i][1]).uid == 0 and B[i][1] or (B[i][1]-4)) end end function getItemsInPos(items, pos) for i = 1,#items do local stack = getTileItemById(pos, items[i][1]) if stack.uid > 0 and math.max(1, stack.type) >= items[i][2] and i == #items then return true end end return false end function doRemoveItensInPos(items, pos) local items = type(items) == "table" and items or {items} for i = 1, table.maxn(items) do doRemoveItem(getThingFromPos({x=pos.x,y=pos.y,z=pos.z,stackpos=2}).uid) end return nil end function effets(position,delay) local text = {"Ishhh!", "Kaboom", "Tic Tac", "BUM!", "Blop Blop!", "Cronch!"} local effects = {2, 6, 25, 31, 36,40, 54, 51, 65, 66, 67, 68} if delay ~= 0 then doSendAnimatedText(position, text[math.random(1, #text)], math.random(1, 255)) doSendMagicEffect(position, effects[math.random(1, #effects)]) addEvent(effets, 1000, position, delay -1) end end]]></config> <action actionid="4780" event="script"><![CDATA[ domodlib('alch_sys') function onUse(cid, item, fromPosition, itemEx, toPosition) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) for _, t in ipairs(receitas) do if getItemsInPos(t.items, counter) then doRemoveItensInPos(t.items, counter) effets(efeitos,6) Caldeiron() return setPlayerStorageValue(cid, t.storage, 1) end end return doPlayerSendCancel(cid, "You must put the correct items in the counter.") end]]></action> <action itemid="2567" event="script"><![CDATA[ domodlib('alch_sys') function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.actionid == 4781 then for _, x in ipairs(receitas) do if getPlayerStorageValue(cid, x.storage) >= 0 then for i=1,#x.itemgain do doPlayerAddItem(cid, x.itemgain[i][1], x.itemgain[i][2]) doPlayerPopupFYI(cid, "You have prepared ".. x.itemgain[i][2] .." ".. getItemNameById(x.itemgain[i][1]) ..".") end Caldeiron() setPlayerStorageValue(cid, x.storage, -1) end end end return true end]]></action> </mod> Configuração: Para adicionar mais receitas, é só adicionar mais uma linha, mudando o storage para +1. Lembrando que a última linha não tem vírgula no final. {items = {{2666,1}, {2671,1}} , itemgain = {{2672,1}}, storage = 56003} Ainda pretendo incrementar o sistema com novas funções. Mas, por hoje é isso. Espero que tenham gostado.
-
Êa galera ! Pow, vim aqui na moral mostrar um video para vocês de eu jogando (November Rain), com a minha guild.. O server touchglobal parou de existir, então não tentem entrar... Eu particularmente achei o video bem legal manos... Espero que gostem: Esse é o segundo video, achei melhor que o primeiro... mas se quiserem ver o primeiro tá lá do ladinho! Valeu galera, espero mesmo que gostem! Ahh, pow, se gostarem, se não gostarem, comentem, falem, é sempre bom, é gratificante para quem tem o trabalho de fazer um vídeo ouvir boas e más críticas! Valeu, hallelujah!
-
Boa Tarde amigos do XTIBIA, to com um grande problema no sistema de natação que eu peguei que seria: Quando o player saisse da água, ele voltasse com uma outifit que eu escolhesse, isso seria para cada vocation que tenho no meu server. Eu fiz isso, mais so que player ao nadar ele n fica com a outifit de natação e ele não volta a terra, da um block no char.. SCRIPT:: local outfit = {lookType = 267, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0} outfits = { [1] = {lookType = 168}, -- o numero 9 é o ID da vocação e 69 é o ID do looktype. [2] = {lookType = 161}, [3] = {lookType = 173}, [4] = {lookType = 176}, [5] = {lookType = 180}, [6] = {lookType = 182}, [7] = {lookType = 184}, [8] = {lookType = 187}, [9] = {lookType = 10}, [10] = {lookType = 189}, [11] = {lookType = 2}, [12] = {lookType = 77}, [13] = {lookType = 0}, [14] = {lookType = 0}, [15] = {lookType = 19}, [16] = {lookType = 19}, [29] = {lookType = 24}, [30] = {lookType = 10}, [31] = {lookType = 44}, [32] = {lookType = 53}, [33] = {lookType = 57}, [34] = {lookType = 61}, [35] = {lookType = 63}, [36] = {lookType = 69}, [37] = {lookType = 73}, [38] = {lookType = 20}, [39] = {lookType = 40}, [40] = {lookType = 80}, [41] = {lookType = 60}, [42] = {lookType = 30}, [43] = {lookType = 30} } local BORDERS = { [7943] = {x = 0, y = -2, back = SOUTH}, [7944] = {x = -2, y = 0, back = EAST}, [7945] = {x = 0, y = 2, back = NORTH}, [7946] = {x = 2, y = 0, back = WEST}, [7947] = {x = 2, y = 1, back = WEST}, [7948] = {x = -2, y = 1, back = NORTH}, [7949] = {x = 2, y = -1, back = WEST}, [7950] = {x = -2, y = -1, back = EAST}, [7951] = {x = 2, y = 2, back = WEST}, [7952] = {x = -2, y = 2, back = NORTH}, [7953] = {x = 2, y = -2, back = WEST}, [7954] = {x = -2, y = -2, back = SOUTH} } BORDERS[4828] = BORDERS[7943] BORDERS[4829] = BORDERS[7946] BORDERS[4830] = BORDERS[7945] BORDERS[4831] = BORDERS[7944] function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end local border = BORDERS[item.itemid] if(not border) then return false end local pos, newPos = getCreaturePosition(cid), {} newPos = pos newPos.x = pos.x + border.x newPos.y = pos.y + border.y if(hasCondition(cid, CONDITION_OUTFIT) and getCreatureOutfit(cid).lookType == outfit.lookType) then doMoveCreature(cid, border.back) doRemoveCondition(cid, CONDITION_OUTFIT) else if(doTileQueryAdd(cid, pos, 4) ~= RETURNVALUE_NOERROR) then return false end local tmp = getCreaturePosition(cid) doTeleportThing(cid, newPos) if(not isPlayerGhost(cid)) then doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(newPos, CONST_ME_WATERSPLASH) end doRemoveConditions(cid, true) local voc_id = getPlayerVocation(cid) if getPlayerVocation(cid) > 0 then doSetCreatureOutfit(cid, outfits[voc_id], -1) end return true end end ALGUEM PODERIA ME AJUDAR? VALENDO +REP
-
Bem, estava sem nada para fazer, e resolvi criar esse sistema de mineração. Ele é simples, porém é diferente ^^. Diante mão, obrigado a jhon992 por me tirar algumas dúvidas e me ajudar. Explicando o script: O player precisa "carregar" o vagão que está vazio, usando um item na pedra. Depois, ao puxar a alavanca, o vagão se move e quando chega no final, assim que o player pisar num certo tile, o vagão voltará a posição inicial e uma pedra surgirá emcima de um local. Então, é só o player usar a garrafa (id 2007) em um destilador (id 5469) que se transformará em um vial de mercury. Ao usar o vial na pedra, poderá ganhar itens que são aleatórios. O vídeo abaixo explica como instalar e também mostra o script em funcionamento. Então, vamos ao script: Primeiramente, em data/actions/scripts crie um arquivo.lua chamado mineracao.lua e cole isto dentro: local pedras = {8751, 8749, 8748, 8750} --- PEDRAS QUE PODERAO SER MINERADAS local vagon = {x=210,y=434,z=7,stackpos=2} --- local inicial do vagão function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray (pedras, itemEx.itemid) == TRUE and itemEx.actionid == 3478 then if getTileItemById(vagon, 7131).uid > 0 and doPlayerSendTextMessage(cid, 22, "Você colocou a pedra no vagão, use a alavanca para movê-lo") then doTransformItem(getThingfromPos(vagon).uid,10037) doSendMagicEffect(toPosition, 3) doSendMagicEffect(vagon, 38) else doPlayerSendCancel(cid, "O vagão está em uso. Espere ele voltar.") end end end Como no próprio script já tem, nessa linha local pedras = {8751, 8749, 8748, 8750} você deve colocar os ids das pedras que poderão ser mineradas. Depois, é preciso que você, pelo map editor, coloque o actionid 3478 nas pedras. E em actions.xml adicionar a tag: <action itemid="4874" script="mineracao.lua"/>. Nesse caso, o item que será usado para minerar vai ser o dwarven pickaxe, caso prefira outro, é só mudar onde tem 4874, com o id do seu item. Ainda em data/actions/scripts, crie outro arquivo.lua e renomeie para vagonlever.lua e cole isto dentro: local positions = { {x=210,y=434,z=7, stackpos=1}, ---- posição inicial do vagao {x=211,y=434,z=7, stackpos=1}, --[ {x=212,y=434,z=7, stackpos=1}, ------------Posição onde o vagão irá andar {x=213,y=434,z=7, stackpos=1}, ------------ || {x=214,y=434,z=7, stackpos=1}, --] {x=215,y=434,z=7, stackpos=1} ---- ultima posição do vagão } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == 6666 and getTileItemById(positions[1], 10037).uid > 0 then moveVagon() else doPlayerSendCancel(cid, "O vagão ainda não está carregado") end end function moveVagon() for i=1, #positions do vagon_uid = getTileItemById(positions[i], 10037).uid if vagon_uid > 0 then if #positions ~= i and doRemoveItem(vagon_uid,1) then doCreateItem(10037,1, positions[i+1]) addEvent(moveVagon, 500) break end end end end O script é autoexplicativo, você só vai precisar adicionar desde a posição inicial do vagão até o último. Com o seu map editor, adicione o aid 6666 na alavanca. Em actions.xml adicione a tag: <action actionid="6666" event="script" value="vagonlever.lua"/>. Em data/actions/scripts, novamente, crie outro arquivo e renomeie para cleanstone.lua, e cole isto dentro: local items = {2149, 2145, 2147} ----- items que vão aparecer local stone = {x=216,y=434,z=7, stackpos=1} ---- onde o coal será adicionado function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 2007 and itemEx.itemid == 5469 then doRemoveItem(item.uid) local flask = doPlayerAddItem(cid, 7488) doItemSetAttribute(flask, "description", "This flask contains mercury. It is great to use on minerals.") doPlayerSendTextMessage(cid, 22, "You have gained a flask of mercury.") elseif item.itemid == 7488 and itemEx.actionid == 3459 then local randomChance = math.random(1, #items) doTransformItem(itemEx.uid,items[randomChance]) doSendMagicEffect(stone,6) doRemoveItem(item.uid) end end A tag: <action itemid="2007;7488" event="script" value="cleanstone.lua"/> Nessa parte, você vai editar nessa linha: local items = {2149, 2145, 2147} os items que aparecerão ao "limpar" a pedra com o vial de mercury. No meu caso, coloquei small diamond, small ruby e small emerald. E na outra linha abaixo, o local onde a pedra será adicionada. Perceba que o script já faz com que o vial de mercúrio só possa ser usado nas pedras de action 3459 (você não precisa adicionar nada de action aqui), para evitar que pudessem ser usadas nas outras pedras espalhadas pelo mapa. E por último, em movements/scripts crie um arquivo.lua e renomeie para coal.lua: local final = {x=215,y=434,z=7, stackpos=2} ------ posição onde o vagão cheio chegará local stone = {x=216,y=434,z=7} ------ local onde aparecerá a pedra local vagon = {x=210,y=434,z=7, stackpos=1} ------ local inicial do vagão function onStepIn(cid, item, position, fromPosition) if getTileItemById(final, 10037).uid > 0 then doRemoveItem(getThingfromPos(final).uid,1) local mina = doCreateItem(8751, 1, stone) doItemSetAttribute(mina, "aid", 3459) doSendMagicEffect(stone, 34) doSendMagicEffect(final, 2) doCreateItem(7131, 1, vagon) doSendMagicEffect(vagon, 10) end return true end E a tag em movements.xml: <movevent type="StepIn" actionid="16540" event="script" value="coal.lua"/> Depois, é só colocar o actionid 16540 no chão na frente de onde será adicionada a pedra (veja vídeo). E ao player pisar, tcharam! a pedra vai aparecer. Bom, é isso aí, ainda estou começando em scripting mas espero ter ajudado alguém, esse script também pode servir como exemplos de tutoriais e talz ^^. Vlw, abraço.
-
É o meu primeiro script aqui (na verdade já atendi alguns pedidos), mas postando nessa seção é meu primeiro. São sistemas que dependem do seu sistema de vip e que dará uma segunda promotion ao usar o comando !promote. (Para todos os Sistemas) Vá até a pasta talkactions>scripts e crie um arquivo chamado promotion.lua (ou qualquer nome de sua preferência) e cole isto dentro: Para VIP System by Account [Kydrai] -- Link Para VIP System por storage Para VIP System por Premium Para VIP System by Mock (Para todos os Tipos) Agora em em creaturescripts>scripts no arquivo login.lua adicione o script abaixo, antes do return true para a vocação voltar ao normal assim que a vip acabar: Para VIP System by Account -- [Kydrai] Para VIP System por Storage Lembre-se de alterar o storage aqui se alterou lá no script Para VIP por Premium Para VIP by MOCK (Para todos os Tipos) Na parte acima, aqui são os ids das novas vocações: {9, 10, 11, 12} que voltarão à vocação anterior, no nosso caso, [5];[6];[7];[8] (Para todos os Tipos) Agora em talkactions.xml coloque a tag: <talkaction words="!promote" event="script" value="promotion.lua"/> Lembre-se que se mudou o nome do arquivo lá emcima, mude na tag também. Atenção com essa parte... no vocations.xml configurem corretamente a partir de qual vocação será conseguida a vocação promote. Vejam o exemplo abaixo: fromvoc="X" -- Significa "da vocação" é de qual vocação essa Supreme Sorcerer virá, se você quiser que venha do Master Sorcerer que o id é 5, você coloca 5, ficando: fromvoc="5" Então é isso aí galera, ainda estou começando em scripting mas espero ter ajudado alguém. Abraços!