• 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 1.X+ TFS 1.5 Nekiro monster

bpm91

Intermediate OT User
Joined
May 23, 2019
Messages
928
Solutions
7
Reaction score
127
Location
Brazil
YouTube
caruniawikibr
hello could someone tell me how do i convert this to tfs 1.5 monsters?


<targetstrategy nearest="80" weakest="10" mostdamage="10" random="0"/>

my monsters are like this

<strategy attack="100" defense="0"/>
 
Solution
E
I want to know the meaning of each one

<targetstrategy nearest="80" weakest="10" mostdamage="10" random="0"/>

nearest: chance to attack the closest player
weakest: chance to attack the lowest lvl (health?) player
mostdamage: chance to attack the player who is dealing the highest damage to it
random: self explanatory
use these i have converted them from cipsoft leaked files they are not 100% but are close to
 
actually i would just like to know what each one means for me to change my monsters
I want to know the meaning of each one

<targetstrategy nearest="80" weakest="10" mostdamage="10" random="0"/>
 
hello could someone tell me how do i convert this to tfs 1.5 monsters?


<targetstrategy nearest="80" weakest="10" mostdamage="10" random="0"/>

my monsters are like this

<strategy attack="100" defense="0"/>

these are not present in any tfs, but you might try to convert the code from othire to tfs:
 
these are not present in any tfs, but you might try to convert the code from othire to tfs:
really tfs does not have this added , nor anything similar?
 
I bought his pack of monsters, it's already working, so I have monsters 8.6 that have this different code, I just need to fix them to be like the ezz version
 
I want to know the meaning of each one

<targetstrategy nearest="80" weakest="10" mostdamage="10" random="0"/>

nearest: chance to attack the closest player
weakest: chance to attack the lowest lvl (health?) player
mostdamage: chance to attack the player who is dealing the highest damage to it
random: self explanatory
 
Solution
have added the code into tfs, does anybody knows how to have monsters strategies, into monster cipsoft monster converters? because at the momment the conversor does not support the strategies conversions to lua script or xml files
it just add the code in this way
Lua:
    <targetchange interval="2000" chance="50" />
but this is missing for example
Code:
<targetstrategy nearest="100" weakest="0" mostdamage="0" random="0" />

this is the tool to convert mon monsters files to revscripts
 
Last edited:
TFS doesn't support target strategies, at least not natively with the lua and xml monster declaration format. It's should be possible to do with a onThink script.
 
TFS doesn't support target strategies, at least not natively with the lua and xml monster declaration format. It's should be possible to do with a onThink script.
i have added the code converted from othire, but i need to add it to the converter and don't know how to adapt it so it will convert the values i have think in add manually with grep but will be easier to add it to the converter
 
i have added the code converted from othire, but i need to add it to the converter and don't know how to adapt it so it will convert the values i have think in add manually with grep but will be easier to add it to the converter
In that case, the converter reads in the data from the cip monsters, you need to change the logic so the data is written out to the files. The data is in the object monster.TargetStrategy


For XML format change it at ot-monster-converter/TfsXmlConverter.cs at master · soul4soul/ot-monster-converter (https://github.com/soul4soul/ot-monster-converter/blob/master/app/MonsterConverterTfsXml/TfsXmlConverter.cs#L312-L314)

For lua change it at ot-monster-converter/TfsRevScriptSysConverter.cs at master · soul4soul/ot-monster-converter (https://github.com/soul4soul/ot-monster-converter/blob/master/app/MonsterConverterTfsRevScriptSys/TfsRevScriptSysConverter.cs#L270-L274)
 
REALLY!? thank you man! i was thinking to add target strategies values using grep, gonna test and compile this right away, thanks!

hey also have found an issue related to the conversor, could you point me out hwo to solve this?
OpenTibia - OT Monster Converter (https://otland.net/threads/ot-monster-converter.277546/page-2#post-2692753) is trelated to get damage fields, i have to add them manually
THANKS TO @soul4soul by point me out where to look
Lua:
local mType = Game.createMonsterType("demon")
local monster = {}

monster.name = "demon"
monster.description = "a demon"
monster.experience = 6000
monster.outfit = {
    lookType = 35,
    lookHead = 0,
    lookBody = 0,
    lookLegs = 0,
    lookFeet = 0,
    lookAddons = 0,
    lookMount = 0
}

monster.health = 8200
monster.maxHealth = 8200
monster.runHealth = 0
monster.race = "fire"
monster.corpse = 2916
monster.speed = 200
monster.summonCost = 0

monster.changeTarget = {
    interval = 2000,
    chance = 10
}

monster.TargetStrategy = {
    nearest = 70,
    health = 10,
    damage = 10,
    random = 10,
}

monster.flags = {
    attackable = true,
    hostile = true,
    summonable = false,
    convinceable = false,
    illusionable = false,
    boss = false,
    ignoreSpawnBlock = false,
    pushable = false,
    canPushItems = true,
    canPushCreatures = true,
    staticAttackChance = 90,
    targetDistance = 1,
    healthHidden = false,
    canWalkOnEnergy = false,
    canWalkOnFire = false,
    canWalkOnPoison = false
}

monster.light = {
    level = 0,
    color = 0
}

monster.voices = {
    interval = 5000,
    chance = 10,
    {text = "MUHAHAHAHA!", yell = true},
    {text = "I SMELL FEEEEEAAAR!", yell = true},
    {text = "CHAMEK ATH UTHUL ARAK!", yell = true},
    {text = "Your resistance is futile!", yell = false},
    {text = "Your soul will be mine!", yell = true}
}

monster.immunities = {
    {type = "paralyze", condition = true},
    {type = "outfit", condition = false},
    {type = "invisible", condition = true},
    {type = "drunk", condition = true},
    {type = "bleed", condition = false}
}

monster.elements = {
    {type = COMBAT_PHYSICALDAMAGE, percent = 0},
    {type = COMBAT_ENERGYDAMAGE, percent = 100},
    {type = COMBAT_EARTHDAMAGE, percent = 100},
    {type = COMBAT_FIREDAMAGE, percent = 100},
    {type = COMBAT_LIFEDRAIN, percent = 100},
    {type = COMBAT_MANADRAIN, percent = 0},
    {type = COMBAT_DROWNDAMAGE, percent = 0},
    {type = COMBAT_ICEDAMAGE, percent = 0},
    {type = COMBAT_HOLYDAMAGE , percent = 0},
    {type = COMBAT_DEATHDAMAGE , percent = 0}
}

monster.attacks = {
    {name ="melee", interval = 2000, chance = 100, skill = 120, attack = 80},
    {name ="combat", interval = 2000, chance = 13, type = COMBAT_MANADRAIN, minDamage = -40, maxDamage = -100, range = 7},
    {name ="combat", interval = 2000, chance = 33, type = COMBAT_FIREDAMAGE, minDamage = -110, maxDamage = -200, range = 7, radius = 7, target = true, shootEffect = CONST_ANI_FIRE, effect = CONST_ME_FIREAREA},
    {name ="firefield", interval = 2000, chance = 14, range = 7, radius = 1, target = true, shootEffect = CONST_ANI_FIRE},
    {name ="combat", interval = 2000, chance = 10, type = COMBAT_ENERGYDAMAGE, minDamage = -300, maxDamage = -420, length = 8, spread = 0, effect = CONST_ME_ENERGYHIT}
}

monster.defenses = {
    defense = 65,
    armor = 40,
    {name ="combat", interval = 2000, chance = 14, type = COMBAT_HEALING, minDamage = 90, maxDamage = 150, effect = CONST_ME_MAGIC_BLUE}
}

monster.maxSummons = 1
monster.summons = {
    {name = "fireelemental", chance = 8, interval = 2000, max = 1}
}

monster.loot = {
    {id = 2520, chance = 700},
    {id = 2462, chance = 1200},
    {id = 2387, chance = 20000},
    {id = 2432, chance = 4000},
    {id = 2795, chance = 20000, maxCount = 6},
    {id = 2393, chance = 2000},
    {id = 2148, chance = 70000, maxCount = 100},
    {id = 2148, chance = 60000, maxCount = 100},
    {id = 2148, chance = 50000, maxCount = 100},
    {id = 2148, chance = 40000, maxCount = 100},
    {id = 2179, chance = 1100},
    {id = 2470, chance = 400},
    {id = 2418, chance = 1500},
    {id = 2396, chance = 600},
    {id = 2472, chance = 100},
    {id = 2514, chance = 500},
    {id = 2164, chance = 200},
    {id = 2176, chance = 3000},
    {id = 2171, chance = 700},
    {id = 1982, chance = 1300},
    {id = 2214, chance = 500},
    {id = 2149, chance = 11000},
    {id = 2165, chance = 1400},
    {id = 2151, chance = 3500}
}

mType:register(monster)

file, energy poison fields are not being properly converted, and get damage neither, where should i look to solve this? i can do manually in files but would be better to fix this @soul4soul
 
Last edited:

Similar threads

Back
Top