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

Repair Combat and Attack on Event

Ghazer

Member
Joined
Mar 13, 2009
Messages
350
Reaction score
6
Hello...

Anyone can repair combat and attack on this event because doesn't work... all event work good but I need this feature for players from the same team can not attack each other

I could fix a lots error of events but I cant fix this please help!
LUA:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Team War" version="1.0" author="Bogart" contact="otland.net" enabled="yes">
   <description>
        This should teleport all players to a new random town in intervals and add them into a team.
   </description>
	<config name="t"><![CDATA[
		t = {
			a = {
				[-1] = {
					a = "fagarians",
					b = 1000,
					c = "conditionRed"
				},
				[1] = {
					a = "homosexualsins",
					b = 1001,
					c = "conditionBlue"	
				},
			},
			b = 1000,
			c = 3,
			d = {1,3}
		}
		fromPosition = {x = 1444, y = 375, z = 0} -- north west corner (remember using z= 0 coz players might be on a higher floor)
		toPosition = {x = 1720, y = 620, z = 15} -- south east corner (remember using z= 15 coz players might be on a lower floor)
 ]]></config>
   <movevent type="StepIn" actionid ="8271" event="script"><![CDATA[
domodlib('t')
local conditionBlue = createConditionObject(CONDITION_OUTFIT)
        setConditionParam(conditionBlue, CONDITION_PARAM_TICKS, 1800 * 1000)
        addOutfitCondition(conditionBlue, {lookType = 152, lookHead = 87, lookBody = 87, lookLegs = 87, lookFeet = 87})
local conditionRed = createConditionObject(CONDITION_OUTFIT)
        setConditionParam(conditionRed, CONDITION_PARAM_TICKS, 1800 * 1000)
        addOutfitCondition(conditionRed, {lookType = 143, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94})
function onStepIn(cid, item, pos)
    if getPlayerGroupId(cid) < 3 then
       if getGlobalStorageValue(t.b) == 1 then
			doPlayerSetTown(cid, getGlobalStorageValue(3454))
			doTeleportThing(cid, getPlayerMasterPos(cid))
			setPlayerStorageValue(cid, t.a[-1], 1)
			doAddCondition(cid, conditionRed)
			setGlobalStorageValue(t.b, -1)
          			else
					doPlayerSetTown(cid, getGlobalStorageValue(3454)+2)
					doTeleportThing(cid, getPlayerMasterPos(cid))
					setPlayerStorageValue(cid, t.a[1], 1)
					doAddCondition(cid, conditionBlue)
					setGlobalStorageValue(t.b, 1)
				end
			end
	return TRUE
end
]]></movevent>
<event type="logout" name="tout" event="script"><![CDATA[
domodlib('t')
function onLogout(cid)
    if getPlayerStorageValue(cid, t.a[-1].b) == 1 then
		setPlayerStorageValue(cid, t.a[-1].b, -1)
    	setGlobalStorageValue(t.b, 1)
             elseif getPlayerStorageValue(cid, t.a[1].b) == 1 then
		setPlayerStorageValue(cid, t.a[1].b, -1)
    	setGlobalStorageValue(t.b, -1)
    end
return true
end
]]></event>
   <event type="login" name="register" event="script"><![CDATA[
domodlib('t')
function onLogin(cid)
	registerCreatureEvent(cid, "tded")
	registerCreatureEvent(cid, "tout")	
	registerCreatureEvent(cid, "tcom")
	registerCreatureEvent(cid, "tattack")
return true
end
]]></event>
<movevent type="StepIn" actionid ="8272" event="script"><![CDATA[
domodlib('t')
function onStepIn(cid, item, pos)
    if getPlayerStorageValue(cid, t.a[-1]) == 1 then
	setPlayerStorageValue(cid, t.a[-1], 0)
    	setGlobalStorageValue(t.b, 1)
             elseif getPlayerStorageValue(cid, t.a[1]) == 1 then
			setPlayerStorageValue(cid, t.a[-1], 0)
			setGlobalStorageValue(t.b, -1)
		end
	return true
end
]]></movevent>
   <event type="prepareDeath" name="tded" event="script"><![CDATA[
domodlib('t')
function onPrepareDeath(cid)
    if getPlayerStorageValue(cid, t.a[-1].b) == 1 then
		setPlayerStorageValue(cid, t.a[-1].b, -1)
    	setGlobalStorageValue(t.b, 1)
             elseif getPlayerStorageValue(cid, t.a[1].b) == 1 then
		setPlayerStorageValue(cid, t.a[1].b, -1)
    	setGlobalStorageValue(t.b, -1)
    end
return true
end
 
]]></event>
   <event type="combat" name="tcom" event="script"><![CDATA[
		domodlib('t')
	function onCombat(cid, target)
		if(getGlobalStorageValue(t.a) == 1) then
			if isPlayer(cid) and isPlayer(target) then
				if getPlayerStorageValue(cid, t.a[-1]) == 1 and getPlayerStorageValue(target, t.a[-1]) == 1 then
					if getPlayerStorageValue(cid, t.a[1]) == getPlayerStorageValue(target, t.a[1]) then
						return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false
					end
				end
			end
		end
		return true
	end
]]>></event>
   <event type="attack" name="tattack" event="script"><![CDATA[
		domodlib('t')
	function onAttack(cid, target)
		if(getGlobalStorageValue(t.a) == 1) then
			if isPlayer(cid) and isPlayer(target) then
				if getPlayerStorageValue(cid, t.a[-1]) == 1 and getPlayerStorageValue(target, t.a[-1]) == 1 then
					if getPlayerStorageValue(cid, t.a[1]) == getPlayerStorageValue(target, t.a[1]) then
						return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false
					end
				end
			end
		end
		return true
	end
]]>></event>
<globalevent name="Map Change" interval="1200000" event="script"><![CDATA[
domodlib('t')
function onThink(interval, lastExecution, thinkInterval)
repeat
	RDM = math.random(1,#config.temples)
until RDM ~= getGlobalStorageValue(3454) and isInArray(config.temples, RDM)
	for _, pid in ipairs(getPlayersOnline()) do
		if getPlayerAccess(pid) < config.access and isInRange(getThingPosition(pid), fromPosition, toPosition) then
			doPlayerSetTown(pid, config.temples[RDM])
			doTeleportThing(pid, (getTownTemplePosition(config.temples[RDM])), false)				doRemoveCondition(pid, CONDITION_INFIGHT)
			doCreatureAddHealth(pid, getCreatureMaxHealth(pid))
			doCreatureAddMana(pid, (getCreatureMaxMana(pid) - getCreatureMana(pid)))
    			doBroadcastMessage("Map has been changed to "..getTownName(config.temples[RDM]).."! next map change will be in 20 minutes! have a nice fight!", MESSAGE_STATUS_WARNING)
			setGlobalStorageValue(3454, config.temples[RDM])
		end
	end
	return true	
end
]]></globalevent>	
</mod>

That part doesn't work, idk why =/
LUA:
   <event type="combat" name="tcom" event="script"><![CDATA[
		domodlib('t')
	function onCombat(cid, target)
		if(getGlobalStorageValue(t.a) == 1) then
			if isPlayer(cid) and isPlayer(target) then
				if getPlayerStorageValue(cid, t.a[-1]) == 1 and getPlayerStorageValue(target, t.a[-1]) == 1 then
					if getPlayerStorageValue(cid, t.a[1]) == getPlayerStorageValue(target, t.a[1]) then
						return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false
					end
				end
			end
		end
		return true
	end
 
Last edited:
Back
Top