Postado Dezembro 12, 2014 10 anos Em 02/12/2014 em 17:11, Suicide disse: Script do Printer. Amigo, callback onLogin não registra creature event. Você quer dizer não dropar loot se for morto por players durante os níveis 20~50, certo? lootp.lua (data/creaturescripts/scripts): function onPrepareDeath(cid, killer) local level = {20, 50} local player = Player(cid) if player ~= nil and killer:isPlayer() and player:getLevel() >= level[1] and player:getLevel() < level[2] + 1 then player:setDropLoot(false) end return true end Registre o creature event em login.lua: registerCreatureEvent(cid, "LootProtection") Tag - creaturescripts.xml (data/creaturescripts): <event type="preparedeath" name="LootProtection" script="lootp.lua"/> Em 02/12/2014 em 04:00, Absolute disse: Bless para leveis inferiores a 20: data/creaturescripts/scripts crie um arquivo com o nome de bleeslvl20.lua e dentro adicione: local freeBlessMaxLevel = 20 function onLogin(cid) local player = Player(cid) if player:getLevel() <= freeBlessMaxLevel then for i = 1, 5 do player:addBlessing(i) end player:say('FREE BLESS! -20', TALKTYPE_ORANGE_1) player:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE) end return true end Em data/creaturescripts/creaturescripts.xml adicione a seguinte linha: <event type="login" name="blesslvl20" event="script" value="blesslvl20.lua"/> Em data/creaturescripts/scripts/others/login.lua, registre o evento abaixo de um normal: registerCreatureEvent(cid, "blesslvl20") Em 01/12/2014 em 23:53, jplellis disse: mt obrigado, 1 de meus problemas 100% resolvido. BOM DIA GENTE, TUDO DEU CERTO, MENOS O BLESS PROTECT PVP, FIZ TUDO CERTINHO 100%, MAS TESTEI ME MATANDO PRA PLAYER E DROPOU LOOT IGUAL. ACHO QUE A DIVERGENCIA ESTA NO MEU LOGUIN.LUA, VO POSTAR ELE AQUI EM BAIXO PARA VOCÊS ME DIZER AONDE DEVO ADICIONAR A TAG NO LOGIN.: NOTE QUE COLOQUEI EM NEGRITO PRA FACILITAR A LOCALIZAÇÃO. -- ordered as in creaturescripts.xml local events = { 'pythiusDead', 'bossesGrayIsland', 'ElementalSpheres', 'ElementalSpheresKill', 'ElementalSpheresLogin', 'WarzoneThree', 'WarzoneTwo', 'bossesWarzone', 'SvargrondArenaKill', 'PharaoKillPortal', 'inServiceOfYalaharQuestsDiseased', 'inServiceOfYalaharQuestsMorik', 'inServiceOfYalaharQuestsQuara', 'inquisitionQuestBosses', 'inquisitionQuestUngreez', 'killingInTheNameOfQuestKills', 'TaskCustom', 'Yielothax', 'Energized', 'Raging', 'MastersVoiceServants', 'wrathBoss', 'wrathZalamon', 'PlayerDeath', 'ThievesGuildNomad', 'AdvanceSave', 'SpikeDrillworm', 'SecretServiceBlackKnight' } function onLogin(cid) local player = Player(cid) local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. '!' if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. ' Please choose your outfit.' player:sendTutorial(1) registerCreatureEvent(cid, "PremiumRate") registerCreatureEvent(cid, "blesslvl20") else if loginStr ~= '' then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end loginStr = string.format('Your last visit was on %s.', os.date('%a %b %d %X %Y', player:getLastLoginSaved())) end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) for i = 1, #events do player:registerEvent(events) end return true end GOSTOU? AJUDEI DE ALGUMA FORMA? REP+ , clica em Gostei.
Postado Dezembro 12, 2014 10 anos No caso do seu login.lua, os creature events registrados pelo comando for antes de retornar e encerrar o callback são os que estão na tabela events. Então sempre que adicionar um novo creature event ao creaturescripts.xml e o mesmo precisar ser registrado, apenas adicione ele à mesma tabela. local events = { 'pythiusDead', 'bossesGrayIsland', 'ElementalSpheres', 'ElementalSpheresKill', 'ElementalSpheresLogin', 'WarzoneThree', 'WarzoneTwo', 'bossesWarzone', 'SvargrondArenaKill', 'PharaoKillPortal', 'inServiceOfYalaharQuestsDiseased', 'inServiceOfYalaharQuestsMorik', 'inServiceOfYalaharQuestsQuara', 'inquisitionQuestBosses', 'inquisitionQuestUngreez', 'killingInTheNameOfQuestKills', 'TaskCustom', 'Yielothax', 'Energized', 'Raging', 'MastersVoiceServants', 'wrathBoss', 'wrathZalamon', 'PlayerDeath', 'ThievesGuildNomad', 'AdvanceSave', 'SpikeDrillworm', 'SecretServiceBlackKnight', 'PremiumRate', 'LootProtection', 'blesslvl20' } function onLogin(cid) local player = Player(cid) local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. '!' if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. ' Please choose your outfit.' player:sendTutorial(1) else if loginStr ~= '' then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end loginStr = string.format('Your last visit was on %s.', os.date('%a %b %d %X %Y', player:getLastLoginSaved())) end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) for i = 1, #events do player:registerEvent(events[i]) end return true end The corrupt fear us. The honest support us. The heroic join us.
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.