Demonbholder 420 Postado Maio 6, 2011 Share Postado Maio 6, 2011 (editado) Faaala galerinha, tranquilo? Esses dias eu estava conversando com um membro aqui do XTibia, e, quase sem querer, ele me deu uma idéia! Não é muito util, mas pode melhorar a diversão do seu servidor, vamos ver o que vocês acham... Como funciona: Dois jogadores devem ir a dois extremos de um local, lá, ao usar o comando !start o jogo começa. Após usado este comando, uma mensagem irá informar que o jogo começou. O próximo passo e usa comando !summon junto com o nome de uma criatura. Você é que escolhe quais criaturas podem ser usadas e quantas vitórias são necessárias para poder usá-las! Bom, eu fiz em mod para facilitar, caso alguém não possua esta pasta no seu servidor, me comunique pelo tópico ou por mensagem privada que eu estarei adaptando. Mod: <?xml version="1.0" encoding="UTF-8"?> <mod name="SummonDuel" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="SumLib"><![CDATA[ pla1 = getThingFromPos({x=151, y=39, z=7, stackpos=253}).uid pla2 = getThingFromPos({x=152, y=39, z=7, stackpos=253}).uid pos = {x=152, y=43, z=7} monsters = { ["rat"] = {sto = -1, awa = 300}, ["skeleton"] = {sto = 3, awa = 500}, ["orc"] = {sto = 5, awa = 700}, ["rotworm"] = {sto = 7, awa = 900}, ["dwarf"] = {sto = 7, awa = 900}, ["minotaur"] = {sto = 8, awa = 1000}, ["dwarf soldier"] = {sto = 10, awa = 1200}, ["minotaur archer"] = {sto = 10, awa = 1200}, ["carrion worm"] = {sto = 10, awa = 1200}, ["slime"] = {sto = 15, awa = 1700}, ["cyclops drone"] = {sto = 18, awa = 2000}, ["minotaur guard"] = {sto = 18, awa = 2000}, ["minotaur mage"] = {sto = 23, awa = 2500}, ["dwarf guard"] = {sto = 26, awa = 2800}, ["demon skeleton"] = {sto = 30, awa = 3200}, ["dragon hatchling"] = {sto = 35, awa = 3700}, ["dragon"] = {sto = 45, awa = 5000}, } ]]></config> <creaturescript type="login" name="SummonL" event="script"><![CDATA[ registerCreatureEvent(cid, "SummonC") return TRUE ]]></creaturescript> <creaturescript type="combat" name="SummonC" event="script"><![CDATA[ if getPlayerStorageValue(cid, 34570) ~= -1 and isPlayer(target) then return FALSE, doPlayerSendCancel(cid, "Voce nao pode atacar enquanto esta no jogo.") elseif getPlayerStorageValue(target, 34570) ~= -1 then return FALSE end return TRUE ]]></creaturescript> <creaturescript type="statschange" name="SummonS" event="script"><![CDATA[ if type == STATSCHANGE_HEALTHLOSS then if isPlayer(attacker) and isPlayer(getCreatureMaster(cid)) then if getPlayerStorageValue(getCreatureMaster(cid), 34570) ~= -1 then return FALSE end end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="SummonK" event="script"><![CDATA[ domodlib('SumLib') setPlayerStorageValue(pla1, 34570, -1) setPlayerStorageValue(pla2, 34570, -1) setPlayerStorageValue(getCreatureMaster(cid), 34571, getPlayerStorageValue(getCreatureMaster(cid), 34571) +1) doCreatureSetNoMove(pla1, FALSE) doCreatureSetNoMove(pla2, FALSE) doPlayerAddMoney(getCreatureMaster(cid), monsters[string.lower(getCreatureName(target))].awa) doSendMagicEffect(getCreaturePosition(getCreatureMaster(cid)), 49) doRemoveCreature(cid) return TRUE ]]></creaturescript> <talkaction words="!start;!summon" event="script"><![CDATA[ domodlib('SumLib') if cid ~= pla1 and cid ~= pla2 then return doPlayerSendCancel(cid, "Voce precisa ser um dos jogadores."), doSendMagicEffect(getCreaturePosition(cid), 2) elseif isPlayer(pla1) == FALSE or isPlayer(pla2) == FALSE then return doPlayerSendCancel(cid, "Voce precisa de dois jogadores."), doSendMagicEffect(getCreaturePosition(cid), 2) end if words == "!start" then if getPlayerStorageValue(pla1, 34570) == -1 and getPlayerStorageValue(pla2, 34570) == -1 then setPlayerStorageValue(pla1, 34570, 1) setPlayerStorageValue(pla2, 34570, 1) doPlayerSendTextMessage(pla1, 4, "Partida comecada.") doPlayerSendTextMessage(pla2, 4, "Partida comecada.") doSendMagicEffect(getCreaturePosition(pla1), 10) doSendMagicEffect(getCreaturePosition(pla2), 10) doCreatureSetNoMove(pla1, TRUE) doCreatureSetNoMove(pla2, TRUE) else doPlayerSendCancel(cid, "A partida ja iniciou.") doSendMagicEffect(getCreaturePosition(cid), 2) end elseif words == "!summon" then if param ~= "" then if getPlayerStorageValue(cid, 34570) == 1 then if monsters[string.lower(param)] then if getPlayerStorageValue(cid, 34571) >= monsters[string.lower(param)].sto then local mom = doCreateMonster(string.lower(param), pos) doConvinceCreature(cid, mom) setPlayerStorageValue(cid, 34570, 2) registerCreatureEvent(mom, "SummonC") registerCreatureEvent(mom, "SummonS") registerCreatureEvent(mom, "SummonK") else doPlayerSendCancel(cid, "Voce nao pode sumonar este monstro.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Este monstro nao pode ser sumonado.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "A partida nao esta nesta parte.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Diga o nome do monstro a ser sumonado.") doSendMagicEffect(getCreaturePosition(cid), 2) end end return TRUE ]]></talkaction> </mod> Como configurar: Adicionando novos monstros e editando recompensas Vá na configuração do mod, ou seja, nas primeiras linhas e procure onde esta isto: ["skeleton"] = {sto = 3, awa = 500}, Você deve colocar o nome do monstro entre colchetes e entre aspas, e após, entre chaves, o número de vitórias necessárias para usá-lo e o premio que o oponente ganhará ao matar este monstro. Para monstros iniciais, use -1. Exemplo: ["demon"] = {sto = 80, awa = 100000}, Lembrando que deve ser um monstro existente no seu Ot e ele deve poder ser convencido. Como fazer o monstro poder ser convencido Vá no arquivo do monstro desejado, na pasta data/monsters. Feito isso, abra o arquivo .xml referente ao monstro e ache esta linha: <flag convinceable="0"/> Mude-a para: <flag convinceable="1"/> Se já estiver em 1 então não é necessário fazer nada. Editando as posições Vá nas configurações do mod, ou seja, nas primeiras linhas e procure onde esta isto: pla1 = getThingFromPos({x=151, y=39, z=7, stackpos=253}).uid pla2 = getThingFromPos({x=152, y=39, z=7, stackpos=253}).uid ... pos = {x=152, y=43, z=7} pla1 e pla2 são as posições dos dois jogadores. pos é a posição onde os monstros serão criados. Lembre-se, não mude o stackpos, não coloque zona protect na sala e coloque a pos no mesmo andar de pla1 e pla2. Não esqueça de colocar área no-logout nas posições onde os jogadores ficarão. Bom, então é isso galera, qualquer dúvida só postar aqui. Em breve melhorarei o sistema! Até mais. Editado Maio 29, 2011 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
thalia 280 Postado Maio 7, 2011 Share Postado Maio 7, 2011 Muitoo rox XD' Quer apostar qnto que vai vim um monte de pokemonianos te pedir pra fazer esse sistema com pokemon. OKASDKAKSDKPOPKOAS :] até Link para o comentário Compartilhar em outros sites More sharing options...
XJhoow 27 Postado Maio 7, 2011 Share Postado Maio 7, 2011 O Sistema está ótimo, mas não é a mesma coisa que utevo res "demon skeleton vs utevo res "demon skeleton ? Abraços! Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 7, 2011 Autor Share Postado Maio 7, 2011 Não parceiro, neste sistema você limita os monstros a serem sumonados por vitórias e qualquer monstro pode ser sumonado contanto que você tenha a quantidade de vitórias necessárias. Você também não participa da luta, apenas os summons, enquanto isso o jogador fica só assistindo. Fora que você ganha uma recompensa após a luta, o vencedor é removido, e assim outro jogo pode ser iniciado. Link para o comentário Compartilhar em outros sites More sharing options...
eickhoff 11 Postado Maio 7, 2011 Share Postado Maio 7, 2011 MUITO FODA Demonbholder *----------* Parabéns cara, seus scripts saum perfeitos, um dia ainda serei como vc *-* Link para o comentário Compartilhar em outros sites More sharing options...
thalia 280 Postado Maio 7, 2011 Share Postado Maio 7, 2011 eickhoff seu tarado AUHSDUHAUHSDUH Parabéns cara, seus scripts saum perfeitos, um dia ainda serei como vc *-* RARARA TROLLFACE Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 7, 2011 Autor Share Postado Maio 7, 2011 Melhorei um pouco o script, coloquei um efeitos, mudei certas funções e diminui o !summon, agora está mais "usável". Pretendo adicionar novos monstros e colocar uma fórmula na recompensa hoje a tarde. Mas é claro que vocês mesmos podem adicionar novos monstros como mostra o spoiler. Até mais. Link para o comentário Compartilhar em outros sites More sharing options...
306295 3 Postado Maio 7, 2011 Share Postado Maio 7, 2011 Boa Demonbholder...como sempre inovando, cara voce sempre tem ótimas ideias, e o melhor, sabe por elas em funcionamento... rep + Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 8, 2011 Autor Share Postado Maio 8, 2011 Sistema melhorado, adicionado novos monstros e a opção de escolher recompensa de acordo com o monstro morto. Em breve adicionarei mais monstros. Link para o comentário Compartilhar em outros sites More sharing options...
coyotestark 24 Postado Maio 10, 2011 Share Postado Maio 10, 2011 funciona em ots de wodbo? tipo eu acho que eh 8.50 pq eu ja pensei em fazer isso. mas nao sabia como e o Pet sistem que usei nao serviria. Link para o comentário Compartilhar em outros sites More sharing options...
Evilfrajola 0 Postado Maio 10, 2011 Share Postado Maio 10, 2011 Ai manda pf pra mim pelo topico n ta dando pra por no meu sv, n tenho a pasta mod. obrigado, dou +Rep! Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 10, 2011 Autor Share Postado Maio 10, 2011 @CoyoteStark Olha cara, realmente não sei se funciona, da uma testada ai e depois posta se deu ou não. @Evilfrajola Não entendi o que você quer. Link para o comentário Compartilhar em outros sites More sharing options...
joao33 29 Postado Maio 22, 2011 Share Postado Maio 22, 2011 COMO ACABA A WAR?????/ PQ SEM QUERE O CARA ATAKO O BIXU COM A WAND Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 22, 2011 Autor Share Postado Maio 22, 2011 (editado) No seu mapa o jogador não deve poder atacar o monstro diretamente. Coloque uma parede em volta do local. Editado Maio 22, 2011 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
joao33 29 Postado Maio 22, 2011 Share Postado Maio 22, 2011 (editado) s + tipo p´player do meu ot feiz a merda e mato com a wand o rt do otro e nao vai mais o system diz q ja inicio Já dei o rep + só to esperando a ajuda agora Manda 1 msg quando tudo tiver pronto ja Editado Maio 22, 2011 por TrojanBr Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados