Postado Abril 29, 2019 6 anos Este é um post popular. Feito por: @Storm (testado em tfs 0.4 - firelement, funciona em 0.3) Quem jogou rozinx server provavelmente conheceu a febre do sistema de weapons por points e consecutivamente o sistema Aegis. Pra quem não conhece, no rozinx haviam vários baús e você podia comprar os itens usando pontos. Esses pontos eram obtidos donatando (por volta de 2007-2015), porém na nova geração (2018) foi introduzido o sistema Aegis, um monstro que após você matá-lo 3 vezes recebia 1 ponto vip, e podia então coletar esses pontos para obter as armas pagas de forma gratuita. Trago a vocês uma versão diferente do Aegis. O Star system. Gratidão ao @Storm por criar o script e refazê-lo quase um ano depois, após não reconhecer o próprio script ? Vc é fera! ? Como funciona: O star system funciona em conjunto com o Advanced Minin System (elements) (se você preferir), diferente do servidor Rozinx, que entrega pontos vip, o Star system entrega 1 dos 4 massive element substance aleatoriamente (as pedras mais raras e difíceis de obter no mining: Earth, Ice, Fire ou Energy) após você matar 3 estrelas. INSTALAÇÃO -- Código para entregar item após matar o monstro data/creaturescripts/scripts/star.lua: local config = { monster = { name = "star", count = 3, storage = 6665, storage2 = 7775 }, premio = {{8298, 1}, {8302, 1}, {8299, 1}, {8303, 1}} -- {item_id, count} } function onDeath(cid, corpse, deathList) local killer = deathList[1] local pos = getCreaturePosition(killer) if not isMonster(cid) or not isPlayer(killer) then return true end if getPlayerStorageValue(killer, config.monster.storage) == -1 then setPlayerStorageValue(killer, config.monster.storage, 0) end setPlayerStorageValue(killer, config.monster.storage, getPlayerStorageValue(killer, config.monster.storage) + 1) if getPlayerStorageValue(killer, config.monster.storage) == config.monster.count then doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) local item = config.premio[math.random(1, #config.premio)] doPlayerAddItem(killer, item[1], item[2]) if getPlayerStorageValue(killer, config.monster.storage2) == -1 then setPlayerStorageValue(killer, config.monster.storage2, 0) end setPlayerStorageValue(killer, config.monster.storage2, getPlayerStorageValue(killer, config.monster.storage2) + 1) setPlayerStorageValue(killer, config.monster.storage, 0) doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_RED, "You receive ".. item[2] .." ".. getItemNameById(item[1]) .." by kill ".. config.monster.count .."x the monster ".. config.monster.name ..".") return true else doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_BLUE, "You killed ".. getPlayerStorageValue(killer, config.monster.storage) .." of ".. config.monster.count .." ".. config.monster.name ..", There are still ".. config.monster.count - (getPlayerStorageValue(killer, config.monster.storage)) .." ".. config.monster.name .." left to receive the reward.") return true end return true end data/creaturescripts/creaturescripts.xml: <!-- star system --> <event type="death" name="Star" event="script" value="star.lua"/> -- Código para checar monstros abatidos e recompensas obtidas data/talkactions/scripts/starcheck.lua: local config = { name = "star", count = 3, storage2 = 7775 } function onSay(cid, words, param, channel) doPlayerPopupFYI(cid, "--- ".. config.name .." Status ---\n\nKills = ".. config.count * getPlayerStorageValue(cid, config.storage2) .."\nRewards = ".. getPlayerStorageValue(cid, config.storage2) ..".") return true end data/talkactions/talkactions.xml: <talkaction log="yes" words="!starcheck" event="script" value="starcheck.lua" /> -- Código do monstro data/monster/star.lua: <?xml version="1.0" encoding="UTF-8"?> <monster name="Star" nameDescription="a star" race="blood" experience="10000" speed="500" manacost="200"> <health now="15000000" max="15000000"/> <look type="294" corpse="6324"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="1000" attack="1000"/> <attack name="holy" interval="1500" chance="1000" range="6" radius="7" target="0" min="-100" max="-500"> <attribute key="areaEffect" value="holydamage"/> </attack> <attack name="outfit" interval="150" chance="10000" range="6" monster="star" duration="1000"> <attribute key="areaEffect" value="holydamage"/> </attack> <attack name="energy" interval="2000" chance="1000" range="6" radius="6" target="0" min="-200" max="-300"> <attribute key="areaEffect" value="purpleenergy"/> </attack> <attack name="fire" interval="2000" chance="1000" range="6" radius="5" target="0" min="-100" max="-500"> <attribute key="areaEffect" value="holydamage"/> </attack> <attack name="physical" interval="2000" chance="1000" range="6" radius="4" target="0" min="-200" max="-300"> <attribute key="areaEffect" value="groundshaker"/> </attack> <attack name="death" interval="3000" chance="1000" range="6" radius="3" target="0" min="-200" max="-700"> <attribute key="areaEffect" value="holyarea"/> </attack> </attacks> <elements> <element energyPercent="20"/> <element holyPercent="40"/> <element icePercent="-40"/> <element firePercent="30"/> </elements> <script> <event name="Star"/> </script> <script> <event name="noattack"/> </script> </monster> data/monster/monster.xml: <monster name="star" file="star.xml"/> -- Código para os monstros não se matarem com as magias data/creaturescripts/scripts/noattack.lua: function onStatsChange(cid, attacker, type, combat, value) -- This should block all damage monster cause on eachother expect player summons if isMonster(cid) and isMonster(attacker) then local master = getCreatureMaster(cid) if not master or not isPlayer(master) then return false end end return true end data/creaturescripts/creaturescripts.xml: <event type="statschange" name="noattack" event="script" value="noattack.lua"/> Ot Design: https://discord.gg/VgtVRNmCD7
Postado Abril 29, 2019 6 anos Ja cheguei a jogar o servidor porém eu nem lembrava mais disso, valeu pelo conteúdo. function onLove() if getPlayerTrueLove(girlfriend) then doPlayerBeHappy(cid, true) doRemoveVirginity(cid, true) else doSendCancel(cid,"you do not know how good it feels to be loved") end end
Postado Abril 29, 2019 6 anos Autor Opa, adicionei Código para os monstros não se matarem com as magias. Mas o que importa é dar last hit no bixo ? Ot Design: https://discord.gg/VgtVRNmCD7
Postado Julho 2, 2019 5 anos Gostaria de saber se tem como colocar o sistema pra ganhar pontos, matando 3 monstros ganha 1 ponto...
Postado Agosto 15, 2019 5 anos Autor Em 02/07/2019 em 05:53, Vinni012 disse: Gostaria de saber se tem como colocar o sistema pra ganhar pontos, matando 3 monstros ganha 1 ponto... Tem sim, acredito que tenha que trocar por uma storage @Storm Ot Design: https://discord.gg/VgtVRNmCD7
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.