Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <mod name="Kick Protection" version="1.3" author="Cavitt Glover" contact="cavitt.glover@gmail.com" enabled="yes">
- <config name="KP_LIB"><![CDATA[
- KP_GROUP = 7
- ]]></config>
- <group id="7" name="Disconnected Player" flags="83565534535943" customFlags="16777216" override="yes"/>
- <event type="think" name="KP_THINK" event="script"><![CDATA[
- domodlib('KP_LIB')
- function onThink(cid)
- if(not hasClient(cid))then
- doSendCreatureSquare(cid, COLOR_DARKRED)
- if(not getPlayerFlagValue(cid, PLAYERFLAG_IGNOREDBYMONSTERS))then
- doCreatureSetStorage(cid, "KP_GROUP", getPlayerGroupId(cid))
- doPlayerSetGroupId(cid, KP_GROUP)
- registerCreatureEvent(cid, "KP_DMG")
- end
- elseif(getPlayerGroupId(cid) == KP_GROUP)then
- local storedGroup = getCreatureStorage(cid, "KP_GROUP")
- local newGroup = storedGroup > 0 and storedGroup or 1
- doPlayerSetGroupId(cid, newGroup)
- unregisterCreatureEvent(cid, "KP_DMG")
- local dmg = tonumber(getCreatureStorage(cid, "KP_DMG")) or 0
- if(dmg > 0)then
- doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, string.format("You blocked %d damage while disconnected.", dmg))
- end
- doCreatureSetStorage(cid, "KP_DMG", 0)
- end
- return true
- end
- ]]></event>
- <event type="login" name="KP_LOGIN" event="buffer"><![CDATA[
- registerCreatureEvent(cid, "KP_THINK")
- ]]></event>
- <event type="statschange" name="KP_DMG" event="script"><![CDATA[
- domodlib('KP_LIB')
- function onStatsChange(cid, attacker, type, combat, value)
- if(isPlayer(cid))then
- if((type == STATSCHANGE_HEALTHLOSS) and (getPlayerGroupId(cid) == KP_GROUP) and (isMonster(attacker)) and (not isSummon(attacker)))then
- doSendMagicEffect(getThingPosition(cid), CONST_ME_BLOCKHIT)
- doCreatureSetStorage(cid, "KP_DMG", math.max(tonumber(getCreatureStorage(cid, "KP_DMG")), 0) + value)
- return false
- end
- end
- return true
- end
- ]]></event>
- </mod>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement