Advertisement
Cavitt

Untitled

Apr 25th, 2014
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 1.95 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <mod name="Kick Protection" version="1.3" author="Cavitt Glover" contact="cavitt.glover@gmail.com" enabled="yes">
  3.     <config name="KP_LIB"><![CDATA[
  4.         KP_GROUP = 7
  5.     ]]></config>
  6.     <group id="7" name="Disconnected Player" flags="83565534535943" customFlags="16777216" override="yes"/>
  7.     <event type="think" name="KP_THINK" event="script"><![CDATA[
  8.         domodlib('KP_LIB')
  9.         function onThink(cid)
  10.             if(not hasClient(cid))then
  11.                 doSendCreatureSquare(cid, COLOR_DARKRED)
  12.                 if(not getPlayerFlagValue(cid, PLAYERFLAG_IGNOREDBYMONSTERS))then
  13.                     doCreatureSetStorage(cid, "KP_GROUP", getPlayerGroupId(cid))
  14.                     doPlayerSetGroupId(cid, KP_GROUP)
  15.                     registerCreatureEvent(cid, "KP_DMG")
  16.                 end
  17.             elseif(getPlayerGroupId(cid) == KP_GROUP)then
  18.                 local storedGroup = getCreatureStorage(cid, "KP_GROUP")
  19.                 local newGroup = storedGroup > 0 and storedGroup or 1
  20.                 doPlayerSetGroupId(cid, newGroup)
  21.                 unregisterCreatureEvent(cid, "KP_DMG")
  22.                 local dmg = tonumber(getCreatureStorage(cid, "KP_DMG")) or 0
  23.                 if(dmg > 0)then
  24.                     doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, string.format("You blocked %d damage while disconnected.", dmg))
  25.                 end
  26.                 doCreatureSetStorage(cid, "KP_DMG", 0)
  27.             end
  28.             return true
  29.         end
  30. ]]></event>
  31.     <event type="login" name="KP_LOGIN" event="buffer"><![CDATA[
  32.         registerCreatureEvent(cid, "KP_THINK")
  33.     ]]></event>
  34.     <event type="statschange" name="KP_DMG" event="script"><![CDATA[
  35.         domodlib('KP_LIB')
  36.         function onStatsChange(cid, attacker, type, combat, value)
  37.             if(isPlayer(cid))then
  38.                 if((type == STATSCHANGE_HEALTHLOSS) and (getPlayerGroupId(cid) == KP_GROUP) and (isMonster(attacker)) and (not isSummon(attacker)))then
  39.                     doSendMagicEffect(getThingPosition(cid), CONST_ME_BLOCKHIT)
  40.                     doCreatureSetStorage(cid, "KP_DMG", math.max(tonumber(getCreatureStorage(cid, "KP_DMG")), 0) + value)      
  41.                     return false
  42.                 end
  43.             end
  44.             return true
  45.         end
  46. ]]></event>
  47. </mod>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement