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

okay, I want to learn to script!

cake

Banned User
Joined
Jul 24, 2010
Messages
838
Reaction score
58
Location
good or bad,
really ^_^
never thought I would, but I really want to make unique systems in me, collz' & hawars' upcoming server.

First of all, I know absolutely nothing about scripting.
Is there any tutorials explaining the basics?
Also I saw in tutorials something about C/C++, is that what Tibia-scripting uses?

Thanks!
 
OKAY! I've readed most of it. It's SOOOOOO BORING.
Anyway, I played around a little but I cannot test it on my own server since I haven't read about it yet.

I changed mastermind potion a bit:
Code:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000) -- 10 minutes
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -20)

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14)

local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)

<look type="35" corpse="5995"/>

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(not isSorcerer(cid) then
		doCreatureSay(cid, "Your elemental power is too low..", TALKTYPE_ORANGE_1, cid)
		return true
	end

	if(doAddCondition(cid, condition)) then
		doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED)
		doRemoveItem(item.uid)
		doCreatureSay(cid, "You have unleashed the demon inside your soul!", TALKTYPE_ORANGE_1, cid)
	end

	return true
end

Would that make mastermind potions do following:
+10 magic level
-20 shielding
Only useable by sorcerors.
Once used, you will change appearance to a demon.
If you die as while being a demon, your body will be a demon aswell.
Once used, Hell's Core spell will be used AND deal damage.
The effect last for 10 minutes.

I just played around, is it correct? xD I guess not.
 
Code:
local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)

[B][COLOR="red"]<look type="35" corpse="5995"/>[/COLOR][/B]

Trolling! :p

mYRLa.png
 
u cant change corpse this way, but you can change outfit :p
Lua:
local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(outfit, {lookTypeEx = 35})

...

doAddCondition(cid, outfit)
 
u cant change corpse this way, but you can change outfit :p

how? nvm couldn't find outfit file :s

OK; so this would work?

Code:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000) -- 10 minutes
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -20)

local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(condition, {lookTypeEx = 35})

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14)

local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(not isSorcerer(cid) then
		doCreatureSay(cid, "Your elemental power is too low..", TALKTYPE_ORANGE_1, cid)
		return true
	end

	if(doAddCondition(cid, condition)) then
		doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED)
		doRemoveItem(item.uid)
		doCreatureSay(cid, "You have unleashed the demon inside your soul!", TALKTYPE_ORANGE_1, cid)
	end

	return true
end
 
OK, what about this then?

Code:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000) -- 10 minutes
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -20)

local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(outfit, {lookTypeEx = 35})
 
...
 
doAddCondition(cid, outfit)

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14)

local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(not isSorcerer(cid) then
		doCreatureSay(cid, "Your elemental power is too low..", TALKTYPE_ORANGE_1, cid)
		return true
	end

	if(doAddCondition(cid, condition)) then
		doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED)
		doRemoveItem(item.uid)
		doCreatureSay(cid, "You have unleashed the demon inside your soul!", TALKTYPE_ORANGE_1, cid)
	end

	return true
end
 
facepalm.jpg


Lua:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000) -- 10 minutes
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -20)

local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(outfit, {lookType = 35})

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14)

local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(not isSorcerer(cid) then
		doCreatureSay(cid, "Your elemental power is too low..", TALKTYPE_ORANGE_1, cid)
		return true
	end

	if(doAddCondition(cid, condition)) then
		doAddCondition(cid, outfit)
		doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED)
		doRemoveItem(item.uid)
		doCreatureSay(cid, "You have unleashed the demon inside your soul!", TALKTYPE_ORANGE_1, cid)
	end

	return true
end
 
Last edited:
Back
Top