monkeyy
Member
- Joined
- Aug 20, 2011
- Messages
- 153
- Reaction score
- 9
Hey guys!
Im using The Forgotten Server 1.3 and I would like to create a reward system where players receive 2cc at lvl 20 , 5cc at lvl 50 etc. etc.
Currently I have 3 files:
Login.lua
levelup.lua
And Creaturescripts.xml
I tried several level.lua scripts but everytime I save>restart server and test i, it doesnt want to work
Since I dont get errors in my server, I cant find where the problem lies.
Hope somone can help me out
Im using The Forgotten Server 1.3 and I would like to create a reward system where players receive 2cc at lvl 20 , 5cc at lvl 50 etc. etc.
Currently I have 3 files:
Login.lua
Lua:
function onLogin(player)
local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!"
if player:getLastLoginSaved() <= 0 then
loginStr = loginStr .. " Please choose your outfit."
player:sendOutfitWindow()
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)
-- Stamina
nextUseStaminaTime[player.uid] = 0
-- Promotion
local vocation = player:getVocation()
local promotion = vocation:getPromotion()
if player:isPremium() then
local value = player:getStorageValue(STORAGEVALUE_PROMOTION)
if not promotion and value ~= 1 then
player:setStorageValue(STORAGEVALUE_PROMOTION, 1)
elseif value == 1 then
player:setVocation(promotion)
end
elseif not promotion then
player:setVocation(vocation:getDemotion())
end
-- Events
player:registerEvent("PlayerDeath")
player:registerEvent("DropLoot")
player:registerEvent("RewardChest")
registerCreatureEvent(cid, "LevelUp")
return true
end
Lua:
local storage = 3746
local levelReward = {
[1] = {10, 2160, 1, "crystal coin"},
[2] = {30, 2160, 3, "crystal coins"}, -- lowest level Must be at top, descending down
[3] = {50, 2160, 5, "crystal coins"}, -- level, itemID, item_amount, item_name
[4] = {100, 2160, 10, "crystal coins"}
}
function onAdvance(cid, skill, oldLevel, newLevel)
-- this is to make sure that the players skill is actually increasing
-- it's also to check that it's their level that is increasing, and not their fisting skill or something
if skill ~= SKILL__LEVEL or oldlevel >= newLevel then
return true
end
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid))
for i = 1, #levelReward do
local table_level = levelReward[i][1]
if newLevel >= table_level and table_level > getPlayerStorageValue(cid, storage) then
local table_count = levelReward[i][3]
doPlayerAddItem(cid, levelReward[i][2], table_count, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Congratulations, system has sent " .. table_count .. " " .. levelReward[i][4] .. " as a reward for level " .. table_level .. " to your location!")
setPlayerStorageValue(cid, storage, table_level)
break
end
end
return true
end
Lua:
<?xml version="1.0" encoding="UTF-8"?>
<creaturescripts>
<event type="login" name="PlayerLogin" script="login.lua" />
<event type="logout" name="PlayerLogout" script="logout.lua" />
<event type="login" name="FirstItems" script="firstitems.lua" />
<event type="login" name="OfflineTraining" script="offlinetraining.lua" />
<event type="login" name="RegenerateStamina" script="regeneratestamina.lua" />
<event type="death" name="PlayerDeath" script="playerdeath.lua" />
<event type="death" name="DropLoot" script="droploot.lua" />
<event type="extendedopcode" name="ExtendedOpcode" script="extendedopcode.lua" />
<event type="death" name="WhiteDeerDeath" script="others/whitedeer.lua" />
<event type="kill" name="RewardChest" script="reward_chest.lua"/>
<event type="advance" name="LevelUp" event="script" value="levelup.lua"/>
</creaturescripts>
I tried several level.lua scripts but everytime I save>restart server and test i, it doesnt want to work
Since I dont get errors in my server, I cant find where the problem lies.
Hope somone can help me out
Last edited: