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

TFS 0.3.6 v7 problem with first items.

Krzkru

New Member
Joined
Jan 10, 2013
Messages
89
Reaction score
1
Location
Poland
Hello,

I got problem with first items when character is loging to game. Eq and bp are on the floor. How to repair this?

config:
PHP:
-- The Forgotten Server Config 

    -- Account manager 
    accountManager = true 
    namelockManager = true 
    newPlayerChooseVoc = true 
    newPlayerSpawnPosX = 1000 
    newPlayerSpawnPosY = 1000 
    newPlayerSpawnPosZ = 7 
    newPlayerTownId = 1 
    newPlayerLevel = 8 
    newPlayerMagicLevel = 0 
    generateAccountNumber = false 

    -- Auto Combo Dedecter 
     comboTime = 100 
        comboMembers = 2 
        comboFriends = 3 
        comboFriendsClearTime = 5 * 60 * 1000 
        comboFriendsClearInterval = 1 * 60 * 1000 
        comboShowAnimation = 1   

    -- Damage Guild/Party -- 
    noDamageToGuildMates = true -- if true then no damage, if false then damage 
    noDamageToPartyMembers = false -- if true then no damage, if false then damage 

    -- Anti-Push Prevention System by Xampy 
    useAntiPush = true --// enabled = true or disabled = false 
    antiPushDelay = 3000 --// default is 3000 (3 seconds) 
    antiPushItems = "2148,2152,2160,3976" --// add as much items as you want separated by comma 

    capacityOverload = 0.75 


    -- Unjustified kills 
    -- NOTE: *Banishment and *BlackSkull variables are >summed up< 
    -- (dailyFragsToRedSkull + dailyFragsToBanishment) with their 
    -- *RedSkull equivalents. 
    -- Auto banishing works only if useBlackSkull set to negative. 
    -- advancedFragList is not advised if you use huge frags 
    -- requirements. 
    redSkullLength = 30 * 24 * 60 * 60 
    blackSkullLength = 45 * 24 * 60 * 60 
    dailyFragsToRedSkull = 3 
    weeklyFragsToRedSkull = 5 
    monthlyFragsToRedSkull = 10 
    dailyFragsToBlackSkull = dailyFragsToRedSkull 
    weeklyFragsToBlackSkull = weeklyFragsToRedSkull 
    monthlyFragsToBlackSkull = monthlyFragsToRedSkull 
    dailyFragsToBanishment = dailyFragsToRedSkull 
    weeklyFragsToBanishment = weeklyFragsToRedSkull 
    monthlyFragsToBanishment = monthlyFragsToRedSkull 
    blackSkulledDeathHealth = 40 
    blackSkulledDeathMana = 0 
    useBlackSkull = true 
    useFragHandler = true 
    advancedFragList = false 

    -- Banishments 
    -- violationNameReportActionType 1 = just a report, 2 = name lock, 3 = player banishment 
    -- killsBanLength works only if useBlackSkull option is disabled. 
    notationsToBan = 3 
    warningsToFinalBan = 4 
    warningsToDeletion = 5 
    banLength = 7 * 24 * 60 * 60 
    killsBanLength = 7 * 24 * 60 * 60 
    finalBanLength = 30 * 24 * 60 * 60 
    ipBanishmentLength = 1 * 24 * 60 * 60 
    broadcastBanishments = true 
    maxViolationCommentSize = 200 
    violationNameReportActionType = 2 
    autoBanishUnknownBytes = false 

    -- Battle 
    -- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage. 
    -- loginProtectionPeriod is the famous Tibia anti-magebomb system. 
    -- deathLostPercent set to nil enables manual mode. 
    worldType = "pvp" 
    protectionLevel = 1 
    pvpTileIgnoreLevelAndVocationProtection = true 
    pzLocked = 60 * 1000 
    huntingDuration = 60 * 1000 
    criticalHitChance = 7 
    criticalHitMultiplier = 1 
    displayCriticalHitNotify = false 
    removeWeaponAmmunition = true 
    removeWeaponCharges = true 
    removeRuneCharges = true 
    whiteSkullTime = 15 * 60 * 1000 
    noDamageToSameLookfeet = false 
    showHealingDamage = false 
    showHealingDamageForMonsters = false 
    fieldOwnershipDuration = 5 * 1000 
    stopAttackingAtExit = false 
    oldConditionAccuracy = false 
    loginProtectionPeriod = 10 * 1000 
    deathLostPercent = 10 
    stairhopDelay = 2 * 1000 
    pushCreatureDelay = 2 * 1000 
    deathContainerId = 1987 
    gainExperienceColor = 215 
    addManaSpentInPvPZone = true 
    squareColor = 0 
    allowFightback = true 

    -- Connection config 
    worldId = 0 
    ip = "ego.sytes.net" 
    bindOnlyConfiguredIpAddress = false 
    loginPort = 7171 
    gamePort = 7172 
    adminPort = 7171 
    statusPort = 7171 
    loginTries = 10 
    retryTimeout = 5 * 1000 
    loginTimeout = 60 * 1000 
    maxPlayers = 1000 
    motd = "Welcome to the Forgotten Server 8.60!" 
    displayOnOrOffAtCharlist = false 
    onePlayerOnlinePerAccount = true 
    allowClones = false 
    serverName = "Forgotten 8.60" 
    loginMessage = "Welcome to the Forgotten Server 8.60!" 
    statusTimeout = 5 * 60 * 1000 
    replaceKickOnLogin = true 
    forceSlowConnectionsToDisconnect = false 
    loginOnlyWithLoginServer = false 
    premiumPlayerSkipWaitList = false 

    -- Database 
    -- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database. 
    -- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value. 
    sqlType = "mysql" 
    sqlHost = "127.0.0.1" 
    sqlPort = 3306 
    sqlUser = "yyy" 
    sqlPass = "xxx" 
    sqlDatabase = "yyy" 
    sqlFile = "forgottenserver" 
    sqlKeepAlive = 0 
    mysqlReadTimeout = 10 
    mysqlWriteTimeout = 10 
    encryptionType = "salt" 

    -- Deathlist 
    deathListEnabled = true 
    deathListRequiredTime = 1 * 60 * 1000 
    deathAssistCount = 19 
    maxDeathRecords = 5 

    -- Guilds 
    ingameGuildManagement = true 
    levelToFormGuild = 8 
    premiumDaysToFormGuild = 0 
    guildNameMinLength = 4 
    guildNameMaxLength = 20 

    -- Highscores 
    highscoreDisplayPlayers = 15 
    updateHighscoresAfterMinutes = 60 

    -- Houses 
    buyableAndSellableHouses = true 
    houseNeedPremium = true 
    bedsRequirePremium = true 
    levelToBuyHouse = 1 
    housesPerAccount = 0 
    houseRentAsPrice = false 
    housePriceAsRent = false 
    housePriceEachSquare = 1000 
    houseRentPeriod = "never" 
    houseCleanOld = 0 
    guildHalls = false 

    -- Item usage 
    timeBetweenActions = 200 
    timeBetweenExActions = 1000 
    hotkeyAimbotEnabled = true 

    -- Map 
    -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning. 
    mapName = "forgotten" 
    mapAuthor = "Komic" 
    randomizeTiles = true 
    storeTrash = true 
    cleanProtectedZones = true 
    mailboxDisabledTowns = "-1" 

    -- Process 
    -- NOTE: defaultPriority works only on Windows and niceLevel on *nix 
    -- coresUsed are seperated by comma cores ids used by server process, 
    -- default is -1, so it stays untouched (automaticaly assigned by OS). 
    defaultPriority = "high" 
    niceLevel = 5 
    coresUsed = "-1" 

    -- Startup 
    optimizeDatabaseAtStartup = true 
    removePremiumOnInit = true 
    confirmOutdatedVersion = false 

    -- Spells 
    formulaLevel = 5.0 
    formulaMagic = 1.0 
    bufferMutedOnSpellFailure = false 
    spellNameInsteadOfWords = false 
    emoteSpells = false 

    -- Outfits 
    allowChangeOutfit = true 
    allowChangeColors = true 
    allowChangeAddons = true 
    disableOutfitsForPrivilegedPlayers = false 
    addonsOnlyPremium = true 

    -- Miscellaneous 
    -- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature, 
    -- called "exception tracer" (__EXCEPTION_TRACER__ flag). 
    dataDirectory = "data/" 
    bankSystem = true 
    displaySkillLevelOnAdvance = false 
    promptExceptionTracerErrorBox = true 
    separateViplistPerCharacter = false 
    maximumDoorLevel = 500 
    maxMessageBuffer = 4 

    -- Saving-related 
    -- useHouseDataStorage usage may be found at README. 
    saveGlobalStorage = true 
    useHouseDataStorage = false 
    storePlayerDirection = false 

    -- Loot 
    -- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's) 
    checkCorpseOwner = true 
    monsterLootMessage = 3 
    monsterLootMessageType = 25 

    -- Ghost mode 
    ghostModeInvisibleEffect = false 
    ghostModeSpellEffects = true 

    -- Limits 
    idleWarningTime = 14 * 60 * 1000 
    idleKickTime = 15 * 60 * 1000 
    expireReportsAfterReads = 1 
    playerQueryDeepness = 2 
    maxItemsPerPZTile = 0 
    maxItemsPerHouseTile = 0 

    -- Premium-related 
    freePremium = false 
    premiumForPromotion = true 

    -- Blessings 
    -- NOTE: blessingReduction* regards items/containers loss. 
    -- eachBlessReduction is how much each bless reduces the experience/magic/skills loss. 
    blessingOnlyPremium = true 
    blessingReductionBase = 30 
    blessingReductionDecreament = 5 
    eachBlessReduction = 8 

    -- Rates 
    -- NOTE: experienceStages configuration is located in data/XML/stages.xml. 
    -- rateExperienceFromPlayers 0 to disable. 
    experienceStages = false 
    rateExperience = 5.0 
    rateExperienceFromPlayers = 0 
    rateSkill = 3.0 
    rateMagic = 3.0 
    rateLoot = 2.0 
    rateSpawn = 1 

    -- Monster rates 
    rateMonsterHealth = 1.0 
    rateMonsterMana = 1.0 
    rateMonsterAttack = 1.0 
    rateMonsterDefense = 1.0 

    -- Experience from players 
    -- NOTE: min~Threshold* set to 0 will disable the minimum threshold: 
    -- player will gain experience from every lower leveled player. 
    -- max~Threshold* set to 0 will disable the maximum threshold: 
    -- player will gain experience from every higher leveled player. 
    minLevelThresholdForKilledPlayer = 0.9 
    maxLevelThresholdForKilledPlayer = 1.1 

    -- Stamina 
    -- NOTE: Stamina is stored in miliseconds, so seconds are multiplied by 1000. 
    -- rateStaminaHits multiplies every hit done a creature, which are later 
    -- multiplied by player attack speed. 
    -- rateStaminaGain is divider of every logged out second, eg: 
    -- 60000 / 3 = 20000 milliseconds, what gives 20 stamina seconds for 1 minute being logged off. 
    -- rateStaminaThresholdGain is divider for the premium stamina. 
    -- staminaRatingLimit* is in minutes. 
    rateStaminaLoss = 1 
    rateStaminaGain = 3 
    rateStaminaThresholdGain = 12 
    staminaRatingLimitTop = 41 * 60 
    staminaRatingLimitBottom = 14 * 60 
    rateStaminaAboveNormal = 1.5 
    rateStaminaUnderNormal = 0.5 
    staminaThresholdOnlyPremium = true 

    -- Party 
    -- NOTE: experienceShareLevelDifference is float number. 
    -- experienceShareLevelDifference is highestLevel * value 
    experienceShareRadiusX = 30 
    experienceShareRadiusY = 30 
    experienceShareRadiusZ = 1 
    experienceShareLevelDifference = 2 / 3 
    extraPartyExperienceLimit = 20 
    extraPartyExperiencePercent = 5 
    experienceShareActivity = 2 * 60 * 1000 

    -- Global save 
    -- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours, 
    -- if you want such a system please check out data/globalevents/globalevents.xml. 
    globalSaveEnabled = false 
    globalSaveHour = 8 
    shutdownAtGlobalSave = true 
    cleanMapAtGlobalSave = false 

    -- Spawns 
    deSpawnRange = 2 
    deSpawnRadius = 50 

    -- Summons 
    maxPlayerSummons = 2 
    teleportAllSummons = false 
    teleportPlayerSummons = false 

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

    -- Logs 
    -- NOTE: This kind of logging does not work in GUI version. 
    -- For such, please compile the software with __GUI_LOGS__ flag. 
    adminLogsEnabled = false 
    displayPlayersLogging = true 
    prefixChannelLogs = "" 
    runFile = "" 
    outLogName = "" 
    errorLogName = "" 
    truncateLogsOnStartup = false
 
why don't use simple script in creaturescripts?
firstitems.lua
Lua:
local firstItems_storage = 30001

local commonItems = {
	{itemid=2554, inContainer = TRUE}, -- shovel
	{itemid=2120, inContainer = TRUE}, -- rope
	{itemid=2152, count=20, inContainer = TRUE}, -- 2 crystal coins
	{itemid=2789, count=20, inContainer = TRUE}, -- brown mushrom
	{itemid=2643} -- leather boots
}
local firstItems = {
	{ -- Sorcerer 
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2175}, -- spellbook
		{itemid=2190}, -- wand of vortex
		{itemid=8819}, -- magician's robe
		{itemid=8820}, -- mage hat
		{itemid=2468} -- studded legs
	},
	{ -- Druid
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2175}, -- spellbook
		{itemid=2182}, -- snakebite rod
		{itemid=8819}, -- magician's robe
		{itemid=8820}, -- mage hat
		{itemid=2468} -- studded legs
	},
	{ -- Paladin
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2456}, -- bow
		{itemid=2544, count = 100}, -- 100 arrows
		{itemid=2660}, -- ranger's cloak
		{itemid=2480}, -- legion helmet
		{itemid=8923} -- ranger legs
	},
	{ -- Knight
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2439, inContainer = TRUE}, -- daramanian mace
		{itemid=8601, inContainer = TRUE}, -- steel axe
		{itemid=2509}, -- steel shield
		{itemid=8602}, -- jagged sword
		{itemid=2465}, -- brass armor
		{itemid=2481}, -- soldier helmet
		{itemid=2478} -- brass legs
	}
}

for _, items in ipairs(firstItems) do
	for _, item in ipairs(commonItems) do
		table.insert(items, item)
	end
end

function onLogin(cid)
	if getPlayerGroupId(cid) < 2 and getPlayerStorageValue(cid, firstItems_storage) <= 0 then
		local currvoc = getPlayerVocation(cid)
		local vocation = 5 > currvoc and currvoc or currvoc - 4
		local giveItems = firstItems[vocation]
	if giveItems then
		for _, v in ipairs(giveItems) do
	if v.container == TRUE then
		backpack = doPlayerAddItem(cid, v.itemid, 1)
	elseif v.inContainer == TRUE then
		doAddContainerItem(backpack, v.itemid, v.count or 1)
	else
		doPlayerAddItem(cid, v.itemid, v.count or 1)
		end
	end
end
setPlayerStorageValue(cid, firstItems_storage, 1)
end
return TRUE
end
creaturescripts.xml - firstitems.lua
Lua:
<event type="login" name="firstitems" event="script" value="firstitems.lua"/>
login.lua
Lua:
registerCreatureEvent(cid, "Firstitems")

are for vocation and have oncontainer ,is same where u create you character set are added inlogin 1 time why is creaturescripts
 
It's a problem with that server, not with the script. Better use samples in your database instead of a firstitems script, because unless you solve it in the source, they will always drop on the ground.
 
why don't use simple script in creaturescripts?
firstitems.lua
Lua:
local firstItems_storage = 30001

local commonItems = {
	{itemid=2554, inContainer = TRUE}, -- shovel
	{itemid=2120, inContainer = TRUE}, -- rope
	{itemid=2152, count=20, inContainer = TRUE}, -- 2 crystal coins
	{itemid=2789, count=20, inContainer = TRUE}, -- brown mushrom
	{itemid=2643} -- leather boots
}
local firstItems = {
	{ -- Sorcerer 
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2175}, -- spellbook
		{itemid=2190}, -- wand of vortex
		{itemid=8819}, -- magician's robe
		{itemid=8820}, -- mage hat
		{itemid=2468} -- studded legs
	},
	{ -- Druid
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2175}, -- spellbook
		{itemid=2182}, -- snakebite rod
		{itemid=8819}, -- magician's robe
		{itemid=8820}, -- mage hat
		{itemid=2468} -- studded legs
	},
	{ -- Paladin
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2456}, -- bow
		{itemid=2544, count = 100}, -- 100 arrows
		{itemid=2660}, -- ranger's cloak
		{itemid=2480}, -- legion helmet
		{itemid=8923} -- ranger legs
	},
	{ -- Knight
		{itemid=1988, container = TRUE}, -- backpack
		{itemid=2439, inContainer = TRUE}, -- daramanian mace
		{itemid=8601, inContainer = TRUE}, -- steel axe
		{itemid=2509}, -- steel shield
		{itemid=8602}, -- jagged sword
		{itemid=2465}, -- brass armor
		{itemid=2481}, -- soldier helmet
		{itemid=2478} -- brass legs
	}
}

for _, items in ipairs(firstItems) do
	for _, item in ipairs(commonItems) do
		table.insert(items, item)
	end
end

function onLogin(cid)
	if getPlayerGroupId(cid) < 2 and getPlayerStorageValue(cid, firstItems_storage) <= 0 then
		local currvoc = getPlayerVocation(cid)
		local vocation = 5 > currvoc and currvoc or currvoc - 4
		local giveItems = firstItems[vocation]
	if giveItems then
		for _, v in ipairs(giveItems) do
	if v.container == TRUE then
		backpack = doPlayerAddItem(cid, v.itemid, 1)
	elseif v.inContainer == TRUE then
		doAddContainerItem(backpack, v.itemid, v.count or 1)
	else
		doPlayerAddItem(cid, v.itemid, v.count or 1)
		end
	end
end
setPlayerStorageValue(cid, firstItems_storage, 1)
end
return TRUE
end
creaturescripts.xml - firstitems.lua
Lua:
<event type="login" name="firstitems" event="script" value="firstitems.lua"/>
login.lua
Lua:
registerCreatureEvent(cid, "Firstitems")

are for vocation and have oncontainer ,is same where u create you character set are added inlogin 1 time why is creaturescripts

I tried using this script but it doesnt give the players the items, just puts it underneath them when they login!
 
Back
Top