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

Free Rep++ for help

Lava Titan

Developer
Joined
Jul 25, 2009
Messages
1,529
Solutions
1
Reaction score
85
Location
Portugal
Hello Otland.
How's it going?

Today i wanted help in a rune that will paralyze players for one minute.
When i use the rune on the player he will get paralyzed one minute.

The rune would shoot 4 distance effects.


Earth Arrow-> \.../ <- Flash Arrow
......................\ /
..................Player
....................../ \
Shiver Arrow->/...\ <-Flamming Arrow

It would come from 4 directions.
After one minute he will be able to move again.

Using 0.3.5pl1
Regards and thanks if you help!
Lava Titan:p

EDIT:
added pic =p

29wqxpx.jpg
 
Last edited:
This is not Omar's Idea.
I just want the basic script then i will change it my self and turn it better.
It wont just make the player unable to move.
It will have many more functions that i already tested.
Just need the way to unable players to move.
 
oh c'mon, what about me
->edit: scripting, wait...hmm I'm sleepy someone must finish it, it just need to add the de-paralyze event and the rune codes
ripped from my old good friend mindrage's script:
Lua:
function onCastSpell(cid, var)

    local condition1 = createConditionObject(CONDITION_INFIGHT)
    local condition2 = createConditionObject(CONDITION_EXHAUST)
    setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
    setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
    
    local player = getCreatureTarget(cid)
    local pos = getCreaturePosition(player)
 
        local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
        local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
        local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
        local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
        local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}

if getPlayerStorageValue(player, 12346) < 0 then
    if((doCreatureSetNoMove(player, 1))== LUA_ERROR) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Error.")
    end
        setPlayerStorageValue(player, 12346, 1)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player paralyzed for 1 minute!.")
        doSendAnimatedText(getCreaturePosition(player), "Frozen", 64)
            doSendDistanceShoot(nha, pos, 28)
            doSendDistanceShoot(sha, pos, 28)
            doSendDistanceShoot(wha, pos, 28)
            doSendDistanceShoot(eha, pos, 28)
            doSendDistanceShoot(nwa, pos, 28)
            doSendDistanceShoot(nea, pos, 28)
            doSendDistanceShoot(sea, pos, 28)
            doSendDistanceShoot(swa, pos, 28)
                doSendMagicEffect(pos, 52)
        doAddCondition(player, condition1)
        doAddCondition(player, condition2)
        
elseif getPlayerStorageValue(player, 12346) >= 0 then
    if((doCreatureSetNoMove(player, 0))== LUA_ERROR) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Error.")
    end
        setPlayerStorageValue(player, 12346, -1)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player can now move again.")
        doSendAnimatedText(getCreaturePosition(player), "Can Move", 168)
            doSendDistanceShoot(pos, nha, 37)
            doSendDistanceShoot(pos, sha, 37)
            doSendDistanceShoot(pos, wha, 37)
            doSendDistanceShoot(pos, eha, 37)
            doSendDistanceShoot(pos, nwa, 37)
            doSendDistanceShoot(pos, nea, 37)
            doSendDistanceShoot(pos, sea, 37)
            doSendDistanceShoot(pos, swa, 37)
                doSendMagicEffect(pos, 49)
        doRemoveCondition(cid, CONDITION_INFIGHT)
        doRemoveCondition(cid, CONDITION_EXHAUST)
        doRemoveCondition(cid, CONDITION_MUTED)
end
end
 
Last edited:
Lua:
local event = {}

local combat = createCombatObject()

local condition1 = createConditionObject(CONDITION_INFIGHT)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setCombatCondition(combat, condition1)

local condition2 = createConditionObject(CONDITION_EXHAUST)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setCombatCondition(combat, condition2)

function onTargetCreature(cid, target)
	local pos = getCreaturePosition(target)
	local shoots = {
		{x=pos.x, y=pos.y - 3, z=pos.z},
		{x=pos.x, y=pos.y + 3, z=pos.z},
		{x=pos.x - 3, y=pos.y, z=pos.z},
		{x=pos.x + 3, y=pos.y, z=pos.z},
		{x=pos.x - 2, y=pos.y - 2, z=pos.z},
		{x=pos.x + 2, y=pos.y - 2, z=pos.z},
		{x=pos.x + 2, y=pos.y + 2, z=pos.z},
		{x=pos.x - 2, y=pos.y + 2, z=pos.z}
	}
	local sv = getPlayerStorageValue(target, 12346)
	if sv < 1 then
		setPlayerStorageValue(target, 12346, 1)
		event[target] = addEvent(mayNotMove, 60 * 1000, target, false)
	elseif sv > 0 then
		stopEvent(event[target])
		doRemoveCondition(cid, CONDITION_INFIGHT)
		doRemoveCondition(cid, CONDITION_EXHAUST)
		doRemoveCondition(cid, CONDITION_MUTED)
	end
	mayNotMove(target, sv < 1 and true or false)
	setPlayerStorageValue(target, 12346, sv < 1 and 1 or -1)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, sv < 1 and "Player paralyzed for 1 minute!" or "Player can now move again.")
	doSendAnimatedText(getCreaturePosition(target), sv <1 and "Frozen" or "Can Move", sv < 1 and 64 or 168)
	for i = 1, #shoots do
		doSendDistanceShoot(shoots[i], pos, 28)
	end
	doSendMagicEffect(pos, sv < 1 and 52 or 49)
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end
:D tested
 
Last edited:
My server is fixed now =p
Tested it and it works but:

If someone is folowing you, you cant paralyze him to dont let him move.

Rep++ for you anyway =p
 
Back
Top