meubk 257 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 Inanimate Object Bom venho trazer mais um script, sei que a idéia é meio boba, mais sei la, não tinha oque fazer, é o seguinte, vc pega uma pedra(configurado para o id: 8310) e dá use num objeto, espadas, armaduras, escudos, objetos de casa, qualquer o objeto que seje "moveable" ou seja objetos que vc pode arrastar, então o objetos tomara vida e sera seu summon, o atk e a vida dele, ira basear no seu level, quando o summon morre, o item volta ao normal aonde o summon morreu, é isso kkk, caso vc queira dar vida á algum objeto que não seja "moveable" tipo arvores, flores, etc, vc configura na tabela, e caso vc não quer que um item que é "moveable" ganhe vida, só configurar tbem, esta tudo comentado no script, para configurar do seu jeito, primeiramente vc deve criar o monstro. inanimate object.xml <?xml version="1.0" encoding="UTF-8"?> <monster name="Inanimate Object" nameDescription="a inanimate object" race="undead" experience="0" speed="250" manacost="0"> <health now="1" max="1"/> <look type="232" corpse="0"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> </attacks> <defenses armor="10" defense="20"/> </monster> tag: <monster name="Inanimate Object" file="inanimate object.xml"/> segundo passo crie outro xml, mais na pasta mod e cole o código: inanimateObject.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="inanimateObject" enabled="yes" author="Miiller" forum="XTibia.com"> <config name="inanimateObjectLib"><![CDATA[ InanimateCfg = { levelForUse = 1, -- level para usar premium = false, -- somente premium pz = false, -- pode dar vida a objetos em pz house = false, -- pode dar vida a objetos em casas maxSummon = 1, -- maximo de summons specialItems = {}, -- items que mesmo não sendo "movable" que podem ganhar vida blockItems = {}, -- items que são "movable" mas não podem ganhar vida restoreItem = true, -- depois que o summon morre, restaurar o item } function object_attack(cid, object) if not isCreature(cid) or not isCreature(object) then return true end if getCreatureTarget(cid) > 0 then if getDistanceBetween(getThingPos(getCreatureTarget(cid)), getThingPos(object)) == 1 then doTargetCombatHealth(object, getCreatureTarget(cid), COMBAT_PHYSICALDAMAGE, -(getPlayerLevel(cid)/4), -(getPlayerLevel(cid)/2), CONST_ME_BLOCKHIT) end end addEvent(object_attack, 2000, cid, object) end ]]></config> <action itemid="8310" event="script"><![CDATA[ domodlib("inanimateObjectLib") function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) < InanimateCfg.levelForUse then return doPlayerSendCancel(cid, "You need level " .. InanimateCfg.levelForUse .. " for give life to an object.") end if not isPremium(cid) and InanimateCfg.premium then return doPlayerSendCancel(cid, "You need premium for give life to an object.") end if not isItemMovable(item2.itemid) and not isInArray(InanimateCfg.specialItems, item2.itemid) or isCorpse(item2.uid) or isCreature(item2.uid) or isInArray(InanimateCfg.blockItems, item2.itemid) then return doPlayerSendCancel(cid, "This object can not gain life.") end if #getCreatureSummons(cid) >= InanimateCfg.maxSummon then return doPlayerSendCancel(cid, "You already have many summons.") end if getPlayerItemCount(cid, item2.itemid) > 0 then return doPlayerSendCancel(cid, "Please, place this object in ground.") end if getTileHouseInfo(topos) and not InanimateCfg.house then return doPlayerSendCancel(cid, "This object can not gain life in house.") end if getTilePzInfo(topos) and not InanimateCfg.house then return doPlayerSendCancel(cid, "This object can not gain life in protection zone.") end local obj = doCreateMonster("Inanimate Object", topos) doConvinceCreature(cid, obj) setCreatureMaxHealth(obj, getPlayerLevel(cid)*2) doCreatureAddHealth(obj, getPlayerLevel(cid)*2) doSetItemOutfit(obj, item2.itemid) doSendMagicEffect(getThingPos(obj), 30) if InanimateCfg.restoreItem then doCreatureSetStorage(obj, 3214, item2.itemid) doCreatureSetStorage(obj, 3215, item2.type == 0 and 1 or item2.type) registerCreatureEvent(obj, "restoreItemSummonObj") end doRemoveItem(item.uid, 1) doRemoveItem(item2.uid, item2.type == 0 and 1 or item2.type) object_attack(cid, obj) return true end ]]></action> <creaturescript type="death" name="restoreItemSummonObj" event="script"><![CDATA[ function onDeath(cid, corpse, deathList) doCreateItem(getCreatureStorage(cid, 3214), getCreatureStorage(cid, 3215), getThingPos(cid)) doSendMagicEffect(getThingPos(cid), 30) return true end ]]></creaturescript> </mod> e acabou, as configurações esta no xml da pasta mod: InanimateCfg = { levelForUse = 1, -- level para usar premium = false, -- somente premium pz = false, -- pode dar vida a objetos em pz house = false, -- pode dar vida a objetos em casas maxSummon = 1, -- maximo de summons specialItems = {}, -- items que mesmo não sendo "movable" que podem ganhar vida blockItems = {}, -- items que são "movable" mas não podem ganhar vida restoreItem = true, -- depois que o summon morre, restaurar o item } configura do seu jeito kk só pegar o item 8310, e usar nos objetos, fico mto leegal kkkk fui Link para o comentário Compartilhar em outros sites More sharing options...
Nil Value 15 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 (editado) Boba ? isso e um Ótimo sistema usados em Servidores derivados, tem como fazer um ótimo proveito desse código, podendo dar use em Ossos e criar esqueletos. So uma duvida ira funcionar em vários objetos ou em só nos oque eu configurar aqui? specialItems = {}, -- items que mesmo não sendo "movable" que podem ganhar vida Ocorreu um erroVocê já atingiu seu limite de reputações positivas para hoje Editado Janeiro 24, 2014 por Nil Value Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Janeiro 24, 2014 Autor Share Postado Janeiro 24, 2014 o script está configurado para funcionar em qualquer item que vc pode mover pra la e praca , tipo os items que usa dentro de casas, os equipamentos, armas, nessa tabela vc vai adicionar os items que vc quer q possa ganhar vida mais que não são moveable, tipo uma arvore, vc não pode arrastar ela, mais se vc colocar o id dela nessa tabela ela ira poder ganhar vida Link para o comentário Compartilhar em outros sites More sharing options...
Nil Value 15 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 RsRsrs, e um ótimo sistema teria como me enviar uma MP com script funcionando so com os itens configurados, irei fazer bom uso dele em meu servidor , Ótimo trabalho Abrçs. Link para o comentário Compartilhar em outros sites More sharing options...
Nolis 161 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 curti em, bem formulado Link para o comentário Compartilhar em outros sites More sharing options...
alanmtd 14 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 Gosteei ja estou usando , mudei as confiurações e algumas coisas ty Mt boom Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Janeiro 24, 2014 Autor Share Postado Janeiro 24, 2014 fico feliz, q tenham gostado ! Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 Ideia muito legal, meus parabéns! Já tem meu voto no OMS Link para o comentário Compartilhar em outros sites More sharing options...
Nil Value 15 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 Também tem meu voto no OMS Miller, espero uma V2.0 desse Sistema risos quem sabe uma tabela que possa vir monstros randômicos exemplo: Inanimate Object Lv1 Inanimate Object Lv5 Inanimate Object Lv10 Vindo fortes e fracos Ou um tipo de maquina para montar reunindo certos itens quem sabe fazer um Robô haha, fique com meu Curtir como agradecimento, ate mais. Link para o comentário Compartilhar em outros sites More sharing options...
JustinnoTibianno 71 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 (editado) Massa, uma boa ideia, sabe o que seria lega? Pegar um toy spider e dar vida! auheuaheu Eu tenho uma pergunta. Eu tenho que criar um arquivo.xml para cada item? Porque como que o script vai reconhecer o look type de cada item? Editado Janeiro 24, 2014 por JPedroTibianno Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Janeiro 24, 2014 Autor Share Postado Janeiro 24, 2014 @zipter98 só tenho a agradecer, vlw mlkão @Nil Value sim não é dificil, seria legal tbem quem tiver a função que altera o nome de monstros nas sources, ai o monstro poderia ter o mesmo nome do item, seria ainda mais legal ! kkk @JPedroTibianno ja tem uma função q faz isso amigo, pode ficar tranquilo, só botar na pasta mods e ja era ! Link para o comentário Compartilhar em outros sites More sharing options...
Nil Value 15 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 Massa, uma boa ideia, sabe o que seria lega? Pegar um toy spider e dar vida! auheuaheu Eu tenho uma pergunta. Eu tenho que criar um arquivo.xml para cada item? Porque como que o script vai reconhecer o look type de cada item? Cara você pode usar em qualquer objeto que possa mover Armaduras Armas seus Escudo e Etc. specialItems = {}, -- items que mesmo não sendo "movable" que podem ganhar vida Se você quiser pode dar vida a uma arvore colocando o ID Dela aqui, porque não e possível mover arvores. Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Janeiro 24, 2014 Autor Share Postado Janeiro 24, 2014 não só arvores @Nill, qualquer outro item que vc não consiga arrastar, tipo arvores, rochas .. etc Link para o comentário Compartilhar em outros sites More sharing options...
Eskylo 175 Postado Janeiro 24, 2014 Share Postado Janeiro 24, 2014 gostei muito da ideia, criativo inteligente esse ataque q vc pois em loop, faz com que o ataque seja baseado no lv do player e nao precise criar mais de 1 xml pra fazer que o summon seja mais forte só essa verificaçao que você fez pro player nao usar o item em algum item2 que esteja em seu inventario podia ser melhor, pois se o player tiver 1 item X na bp e 1 item desse X no chao ele nao vai conseguir usar no do chao... enfim acho que vc sabe disso, mas ficou com preguiça tem tb um ou outro erro de ingles mesmo assim ta 99% perfect a ideia e o script fique com meu curtir, abrç Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Janeiro 25, 2014 Autor Share Postado Janeiro 25, 2014 eu sei, mais ai eu ia ter q fazer uam verificação em todooooooooos os items do player até achar o msm uid, e ai vai , e tall, e a preguiça vem kkkkkkkkkkkkk eu não sei porra nenhuma de inglês, usei o google tradutor |: Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados