• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Help set my NPC, add training

gmstrikker

Well-Known Member
Joined
Jul 30, 2014
Messages
458
Solutions
1
Reaction score
50
Can someone help me make my NPC?

I did it to give level, but do not know how to give skill

Code:
local skill
-- [idvoc: 3,7] paladin = distance
-- [idvoc: 1,2,5,6] druid,sorcerer = magic
-- [idvoc: 4,8] knight = the highest level between: axe,sword,club
if (getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 41 ) then
skill = ((getExperienceForLevel(getPlayerLevel(cid) + 1) - getExperienceForLevel(getPlayerLevel(cid))) / 100) * ((getPlayerStorageValue(cid, storages.length)) * (getPlayerStorageValue(cid, storages.difficult))) * 5
elseif (getPlayerLevel(cid) >= 41 and getPlayerLevel(cid) <= 60 ) then
skill = ((getExperienceForLevel(getPlayerLevel(cid) + 1) - getExperienceForLevel(getPlayerLevel(cid))) / 100) * ((getPlayerStorageValue(cid, storages.length)) * (getPlayerStorageValue(cid, storages.difficult))) * 3
elseif (getPlayerLevel(cid) >= 61 and getPlayerLevel(cid) <= 80 ) then
skill = ((getExperienceForLevel(getPlayerLevel(cid) + 1) - getExperienceForLevel(getPlayerLevel(cid))) / 100) * ((getPlayerStorageValue(cid, storages.length)) * (getPlayerStorageValue(cid, storages.difficult))) * 2
elseif (getPlayerLevel(cid) >= 81 ) then
skill = ((getExperienceForLevel(getPlayerLevel(cid) + 1) - getExperienceForLevel(getPlayerLevel(cid))) / 100) * ((getPlayerStorageValue(cid, storages.length)) * (getPlayerStorageValue(cid, storages.difficult))) * 1
end



Code:
     elseif (msgcontains(msg, 'training') and talkState[talkUser] == 5) then
         doPlayerAddExperience(cid, skill)
         talkState[talkUser] = 0   
         selfSay('Thanks for your help, here is your prize..', cid)
     else
       selfSay('Something went wrong..', cid)
     end

Im using 0.4
 
I don't understand your question...

Do you want it to give 1 skill to a player or 1% or to be able to control how many levels or how many % if it's for training I'm guessing you want it to give 1 skill try * server multiplier * custom training multiplier?

I've no idea what it is you want but either way you will use:

These to add a skill try/ mana spent.
Code:
doPlayerAddSkillTry(cid, skillid, amount[, useMultiplier = true])
doPlayerAddSpentMana(cid, amount[, useMultiplier = true])

These to get how much they need for a level if you need that functionality.
Code:
getPlayerRequiredMana(cid, magicLevel)
getPlayerRequiredSkillTries(cid, skillId, skillLevel)

This to get your skill multiplier in the config if you need it in your script for some reason?
Code:
getConfigValue(key)
 
Back
Top