Tópico Exclusivo do Xtibia
Avise se Axar em outro fórum. (meus topicos são para o xtibia, pois em um outro fórum não deram atenção aos meus posts e nem se quer comentaram). sem mais.
Bem estava eu sem nada para fazer e resolvi fazer um amuleto de transformação e um bracelete baseado no desenho animado Ben10.
Mas tem uma coisa... Apesar de o script ser legal, não consegui por para que a ação ocorresse ao equipar, o player tem que clicar no item.
Se alguém souber e achar melhor que o player equipe e a ação já ocorram poste como que eu edito.
Então vamos lá.
Primeiro -> Amuleto De Transformação:
Vá à pasta actions/scripts copie um arquivo de lá, apague seu conteúdo, renomeie para adt. lua e cole isso dentro:
function onUse(cid, item, frompos, item2, topos) level = getPlayerLevel(cid) if level >= [color="#FF0000"]20[/color] then local outfit = { [color="#FF8C00"]lookType = 101, lookHead = 20, lookBody = 30, lookLegs = 40, lookFeet = 50,[/color] lookAddons = 0 } doSetCreatureOutfit(cid, outfit, [color="#0000FF"]600000 [/color]) else doPlayerSendTextMessage(cid,22,"[color="#2E8B57"]Você não tem level necessário para usar o amuleto.[/color]") end end
Explicando:
Vermelho~> Level mínimo que o player deverá ter para usar o amuleto!
Laranja~> As aparências do monstro que o player se transformará. É só você pegar elas no arquivo do monstro, dentro de monstro.xml e mudar de acordo (se só tiver type, não tiver head, body, legs nem feet apague esses e deixe só o looktype.)
Azul ~> Tempo que o player ficará transformado! Sendo 1000 = 1 seg. No caso são 10 min (1000*60*10)
Verde ~> Mensagem que será enviada ao player se ele não tiver level necessário.
Agora vá à actions.xml e cole essa tag lá dentro:
function onUse(cid, item, frompos, item2, topos) level = getPlayerLevel(cid) r1 = math.random(1,10) level = getPlayerLevel(cid) Fist = getPlayerSkill(cid,0) Club = getPlayerSkill(cid,1) Sword = getPlayerSkill(cid,2) Axe = getPlayerSkill(cid,3) Distance = getPlayerSkill(cid,4) mag = getPlayerMagLevel(cid) NovoFist = 0 NovoClub = 0 NovoSword = 0 NovoAxe = 0 NovoDistance = 0 local outfit1 = { lookType = 261, lookAddons = 0 } local outfit2 = { lookType = 236, lookAddons = 0 } local outfit3 = { lookType = 47, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 } local outfit4 = { lookType = 241, lookAddons = 0 } local outfit5 = { lookType = 116, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 } local outfit6 = { lookType = 239, lookAddons = 0 } local outfit7 = { lookType = 21, lookHead = 20, lookBody = 30, lookLegs = 40, lookFeet = 50, lookAddons = 0 } local outfit8 = { lookType = 243, lookAddons = 0 } local outfit9 = { lookType = 55, lookHead = 20, lookBody = 30, lookLegs = 40, lookFeet = 50, lookAddons = 0 } local outfit10 = { lookType = 240, lookHead = 20, lookBody = 30, lookLegs = 40, lookFeet = 50, lookAddons = 0 } if level >= 35 then if getPlayerStorageValue(cid,5556) == -1 then if r1 == 1 then doSetCreatureOutfit(cid, outfit1, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em Cristalino.") elseif r1 == 2 then doSetCreatureOutfit(cid, outfit2, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em Robotico.") elseif r1 == 3 then doSetCreatureOutfit(cid, outfit3, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em Peixe.") elseif r1 == 4 then doSetCreatureOutfit(cid, outfit4, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em Fantasma.") elseif r1 == 5 then doSetCreatureOutfit(cid, outfit5, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em 4 Braços.") --FIST NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) NovoFist = Fist * 3 doPlayerAddSkillTry(cid,0,NovoFist) --CLUB NovoFist = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) novoclub = Club * 3 doPlayerAddSkillTry(cid,1,novoclub) --SWORD novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) novosword = Sword * 3 doPlayerAddSkillTry(cid,2,novosword) --AXE novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) novoaxe = Axe * 3 doPlayerAddSkillTry(cid,3,novoaxe) --DISTANCE novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) novodistance = Distance * 3 doPlayerAddSkillTry(cid,4,novodistance) elseif r1 == 6 then doSetCreatureOutfit(cid, outfit6, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em Insectoide.") elseif r1 == 7 then doSetCreatureOutfit(cid, outfit7, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em massa cinzenta.") elseif r1 == 8 then doSetCreatureOutfit(cid, outfit8, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em Fogo.") elseif r1 == 9 then doSetCreatureOutfit(cid, outfit9, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em rapido.") elseif r1 == 10 then doSetCreatureOutfit(cid, outfit10, 600000 ) doPlayerSendTextMessage(cid,22,"Você se transformou em besta.") end setPlayerStorageValue(cid,5556, 1) params = { [1]=cid, [2]=level, [3]=NovoFist, [4]=NovoClub, [5]=NovoSword, [6]=NovoAxe, [7]=NovoDistance, [8]=Novomag } addEvent(min, 900000, params) else doPlayerSendTextMessage(cid,22,"Você tem que esperar 5 minutos após o termino do efeito do bracelete para usá-lo novamente.") end else doPlayerSendTextMessage(cid,22,"Você não tem level necessario para usar o amuleto.") end end function min(params) cid = params[1] level = params[2] NovoFist = params[3] * -1 NovoClub = params[4] * -1 NovoSword = params[5] * -1 NovoAxe = params[6] * -1 NovoDistance = params[7] * -1 mag = params[8] doPlayerAddSkillTry(cid,0,NovoFist) doPlayerAddSkillTry(cid,1,NovoClub) doPlayerAddSkillTry(cid,2,NovoSword) doPlayerAddSkillTry(cid,3,NovoAxe) doPlayerAddSkillTry(cid,4,NovoDistance) setPlayerStorageValue(cid,5556, -1) end
Bom esse não tem muito o que explicar não, somente que onde está 35 substitua para o level mínimo que você queira que o player tenha para usar.
Lembrando que quando você se transforma no 4 braços você aumenta sua força física (skills)
Agora cole em actions.xml a tag:
<action itemid="2127" script="ben10.lua"/>
Bom é isso.
Créditos> Meus (Skulls)
Postem por favor e qualquer dúvida mande PMs.
Espero que gostem!
Fui