Postado Junho 14, 2018 7 anos Alguém poderia me informar se tem como criar um script para jogadores a cima de um certo level perderem apenas um level? tipo level 632 estão perdendo 3 leveis, no caso queria que perdessem apenas 1 level. se tiver e alguém poder ajudar agradeço! Já mexi nas config do lua, porém não fico como eu queria, por isso vim até aqui solicitar algum script ou informação sobre.
Postado Junho 14, 2018 7 anos Você pode configurar no seu login.lua a porcentagem de perda: ... function onLogin(cid) local loss = getConfigValue('deathLostPercent') if(loss ~= nil and getPlayerStorageValue(cid, "bless") ~= 5) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) end ... mude para: ... function onLogin(cid) local loss = getConfigValue('deathLostPercent') local level = getPlayerLevel(cid) if(loss ~= nil and getPlayerStorageValue(cid, "bless") ~= 5) then if (level <= 100) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) elseif (level > 100) and (level <= 300) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 9) elseif (level > 300) and (level <= 500) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 8) elseif (level > 500) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 7) end end ... Editado Junho 14, 2018 7 anos por Daniel (veja o histórico de edições) Ot Design: https://discord.gg/VgtVRNmCD7
Postado Junho 14, 2018 7 anos Autor @Daniel Editei elseif (level > 300) and (level <= 500) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 8) para 3,4 e 5 e ainda está perdendo os 3, oque pode ser?
Postado Junho 14, 2018 7 anos cola aqui o seu login.lua e os leveis em que deve mudar a perca de exp. Ot Design: https://discord.gg/VgtVRNmCD7
Postado Junho 14, 2018 7 anos Autor @Daniel Quero que depois do level 600 perca 1 level ou 2 no máximo. local config = { loginMessage = getConfigValue('loginMessage') } function onLogin(cid) local loss = getConfigValue('deathLostPercent') local level = getPlayerLevel(cid) if(loss ~= nil and getPlayerStorageValue(cid, "bless") ~= 5) then if (level <= 100) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) elseif (level > 100) and (level <= 300) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 9) elseif (level > 300) and (level <= 600) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 3) elseif (level > 600) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 7) end end local accountManager = getPlayerAccountManager(cid) if(accountManager == MANAGER_NONE) then local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage if(lastLogin > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str .. " Please choose your outfit." doPlayerSendOutfitWindow(cid) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Bem Vindo!") end registerCreatureEvent(cid, "checkbless") registerCreatureEvent(cid, "critical") registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "killer") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "attackguild") registerCreatureEvent(cid, "blesscheck") registerCreatureEvent(cid, "autoloot") registerCreatureEvent(cid, "Autoloot") registerCreatureEvent(cid, "bug") registerCreatureEvent(cid, "CombatDodge") registerCreatureEvent(cid, "recompensa") registerCreatureEvent(cid, "advance") registerCreatureEvent(cid, "hitEffect") registerCreatureEvent(cid, "VipReceive") registerCreatureEvent(cid, "FimVip") registerCreatureEvent(cid, "forever amulet") registerCreatureEvent(cid, "SkullCheck") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, VipReceive) registerCreatureEvent(cid, "PlayerKill") if (InitArenaScript ~= 0) then InitArenaScript = 1 -- make arena rooms free for i = 42300, 42309 do setGlobalStorageValue(i, 0) setGlobalStorageValue(i+100, 0) end end -- if he did not make full arena 1 he must start from zero if getPlayerStorageValue(cid, 42309) < 1 then for i = 42300, 42309 do setPlayerStorageValue(cid, i, 0) end end -- if he did not make full arena 2 he must start from zero if getPlayerStorageValue(cid, 42319) < 1 then for i = 42310, 42319 do setPlayerStorageValue(cid, i, 0) end end -- if he did not make full arena 3 he must start from zero if getPlayerStorageValue(cid, 42329) < 1 then for i = 42320, 42329 do setPlayerStorageValue(cid, i, 0) end end if getPlayerStorageValue(cid, 42355) == -1 then setPlayerStorageValue(cid, 42355, 0) -- did not arena level end setPlayerStorageValue(cid, 42350, 0) -- time to kick 0 setPlayerStorageValue(cid, 42352, 0) -- is not in arena registerCreatureEvent(cid, "onPrepareDeathinifi") registerCreatureEvent(cid, "onPrepareDeathinfinit") registerCreatureEvent(cid, "addons") registerCreatureEvent(cid, "killBossReward") registerCreatureEvent(cid, "PushPlayerThere") registerCreatureEvent(cid, "anunciarmorte") registerCreatureEvent(cid, "onPrepareDeath") --- CRITICAL SYSTEM ---- registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48903) == -1 then setPlayerStorageValue(cid, 48903, 0) end if getPlayerStorageValue(cid, 12036) == -1 then setPlayerStorageValue(cid, 12036, 1) end return true end
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.