• 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!

Implimenting Spell Training NPCs

jkllllnn

New Member
Joined
Jan 16, 2011
Messages
5
Reaction score
0
Hey guys, I've been working on setting up a private OT for just my friends and I. I've been doing the bare minimum required to get it running, since we just want to screw around a bit. And this forum has overall been amazingly useful, A+ work from you guys, and great community support.

But I've encountered one issue I can't seem to get around. Getting an NPC in place to train us as we level.

I have RME, and I've downloaded some scripts. But so far I've only gotten a Sorcerer trainer to work. Any tips on how I could get this done?

Also, I'm not sure how to place the red tile in a map on which NPCs are permitted to spawn.
 
The monster spawn flame is the same one used for NPCs. :p

As for your other question, could you explain it any better? I'm not quite sure what you're requesting..
 
Thanks for the reply.

To explain further... I simply require a means for the players to learn their spells. Be it through an NPC trainer, or else wise. You know, a player achieves (magic) level 20, and then can run to the spell trainer to learn level 20 spells.

Apologies if that too is unclear.
 
Thanks for the link Shin, I've installed the trainers. But, oddly, I speak to the NPC, buy the spell, am told by the NPC that I have learned it, but am then unable to use it.
Here is the report from the serve console when I attempt to learn the spell from the NPC.
Code:
[18/01/2011 14:02:29] Lua Script Error: [Npc interface] 
[18/01/2011 14:02:29] data/npc/scripts/knight spells.lua:onCreatureSay
[18/01/2011 14:02:29] luaPlayerLearnInstantSpell(). Spell "Haste" not found
[18/01/2011 14:02:29] stack traceback:
[18/01/2011 14:02:29] 	[C]: in function 'playerLearnInstantSpell'
[18/01/2011 14:02:29] 	data/npc/lib/npcsystem/modules.lua:117: in function 'callback'
[18/01/2011 14:02:29] 	data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'
[18/01/2011 14:02:29] 	data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'
[18/01/2011 14:02:29] 	data/npc/lib/npcsystem/keywordhandler.lua:122: in function 'processMessage'
[18/01/2011 14:02:29] 	data/npc/lib/npcsystem/npchandler.lua:371: in function 'onCreatureSay'
[18/01/2011 14:02:29] 	data/npc/scripts/knight spells.lua:8: in function <data/npc/scripts/knight spells.lua:8>

I was also unable to locate anything along the lines of "Players Know Spell" in the config. I am using Mystic Spirits 8.7 host. This is the config, maybe I'm missing something?
Code:
-- The Forgotten Server Config

    -- Account Manager
    accountManager = "yes"
    newPlayerChooseVoc = "no"
    newPlayerSpawnPosX = 95
    newPlayerSpawnPosY = 117
    newPlayerSpawnPosZ = 7
    newPlayerTownId = 1
    newPlayerLevel = 1
    newPlayerMagicLevel = 0
    generateAccountNumber = "yes"

    -- Banishments
    broadcastBanishments = "yes"
    banDays = 7
    finalBanDays = 30
    killsToBan = 5

    -- Battle
    worldType = "pvp"
    hotkeyAimbotEnabled = "yes"
    protectionLevel = 1
    killsToRedSkull = 3
    pzLocked = 60000
    deathLosePercent = 10
    criticalHitChance = 7
    removeAmmoWhenUsingDistanceWeapon = "yes"
    removeChargesFromRunes = "yes"
    removeChargesFromWeapons = "yes"
    timeToDecreaseFrags = 24 * 60 * 60 * 1000
    whiteSkullTime = 15 * 60 * 1000
    oldConditionAccuracy = "no"
    stairJumpExhaustion = 2000
    animationTextOnHeal = "yes"

    -- Commands
    displayGamemastersWithOnlineCommand = "no"

    -- Connection Config
    ip = "xx.xxx.xx.xxx"
    bindOnlyGlobalAddress = "no"
    loginProtocolPort = 7171
    gameProtocolPort = 7172
    adminProtocolPort = 7171
    statusProtocolPort = 7171
    loginTries = 10
    retryTimeout = 5 * 1000
    loginTimeout = 60 * 1000
    maxPlayers = "1000"
    motd = "Welcome to the Forgotten Server!"
    onePlayerOnlinePerAccount = "yes"
    allowClones = "no"
    serverName = "Forgotten"
    loginMessage = "Welcome to the Forgotten Server!"
    adminLogsEnabled = "no"
    statusTimeout = 5 * 60 * 1000
    replaceKickOnLogin = "yes"

    -- Deathlist
    deathListEnabled = "yes"
    maxDeathRecords = 5

    -- Guilds
    ingameGuildSystem = "yes"
    levelToCreateGuild = 8

    -- Highscores
    highscoreDisplayPlayers = 15
    updateHighscoresAfterMinutes = 60

    -- Houses
    housePriceEachSQM = 1000
    houseRentPeriod = "never"

    -- Idle
    kickIdlePlayerAfterMinutes = 15

    -- Item Usage
    timeBetweenActions = 200
    timeBetweenExActions = 1000

    -- Map
    mapName = "yalahhh"
    mapAuthor = "Komic"
    randomizeTiles = "yes"
    mapStorageType = "relational"

    -- Messaging
    maxMessageBuffer = 4

    -- MySQL
    mysqlHost = "localhost"
    mysqlUser = "otland"
    mysqlPass = "x"
    mysqlDatabase = "otland"
    mysqlPort = 3306

    -- Premium Account
    freePremium = "no"

    -- PVP Server
    displayOnOrOffAtCharlist = "no"
    allowChangeOutfit = "yes"
    noDamageToSameLookfeet = "no"
    experienceByKillingPlayers = "no"

    -- Rates
    rateExp = 5
    rateSkill = 3
    rateLoot = 2
    rateMagic = 3
    rateSpawn = 1

    -- Real Server Save
    -- note: serverSaveHour means like 03:00, not that it will save every 3 hours,
    -- if you want such a system use autoSaveEachMinutes. this serversave method
    -- may be unstable, we recommend using otadmin if you want real serversaves.
    serverSaveEnabled = "no"
    serverSaveHour = 3
    shutdownAtServerSave = "yes"
    cleanMapAtServerSave = "yes"

    -- Server saving
    autoSaveEachMinutes = 15
    saveGlobalStorage = "no"

    -- Spawns
    deSpawnRange = 2
    deSpawnRadius = 50

    -- SqLite
    sqliteDatabase = "forgottenserver.s3db"

    -- SQL
    sqlType = "mysql"
    passwordType = "plain"

    -- Startup
    defaultPriority = "high"

    -- Shutdown
    freeMemoryAtShutdown = "yes"

    -- Status
    ownerName = ""
    ownerEmail = "@otland.net"
    url = "http://otland.net/"
    location = "Europe"

As a side note, I did have to install the NPC system from .2pl20 for the NPCs to load properly into the map.
If all of this is too problematic, perhaps there is an easier means for granting players spells?
 
Last edited:
I mean, if there is any feasible alternative method for granting players spells, I'm all for it. I just can't seem to find much on the topic.
 
Alright, I've figured it out with the help of Arthur. He's a very kind and helpful fellow.

In case anyone has this problem in the future, it's because I wasn't using a .3 or .4 version. Those two automatically give players their spells.
 
Back
Top