Hi there everyone!
I am working on my Warcraft-Source server and I started using this version instead of the SourceMod War3Source mod.
I am not very good at Source-Python but I was wondering if someone maybe could make some commands that will make it possible to make a player unkillable for a few seconds, so the player will only drop down to 1 health, but be impossible to kill, is this something that can be made?
wcs
This code below didn't have cooldown or anything else. Make this for urself. I'm making WCS based on skills (WCSSKills), instead of races.
Syntax: Select all
# SayText2
from messages import SayText2 as ST2
# Commands
from commands.typed import TypedSayCommand
from commands import CommandReturn
# Entities
from entities import TakeDamageInfo
from entities.hooks import EntityPreHook, EntityCondition
from entities.entity import Entity
# Delay
from listeners.tick import Delay
# Set, that contains players with active god
god_set = set()
@EntityPreHook(EntityCondition.is_player, 'on_take_damage')
def O_T_D(args):
""" Take damage hook """
# Getting TameDamageInfo
info = TakeDamageInfo._obj(args[1])
# Getting player from pointer arg
player = Entity._obj(args[0])
# Abort if player not in active god set
if player not in god_set: return
# This hurt kills target?
if info.damage > player.health:
# Making dmg to leave 1 hp
# Change 1, if u want to leave more hp
info.damage = player.health-1
@TypedSayCommand('/god')
def god_activate(comm):
# Getting calling player index
player = Entity(comm.index)
# Adding player to the active god set
god_set.add(player)
# Notifying player
ST2("\4[WCS]\1 You have activated god for \5 3 seconds\1").send(player.index)
# Delay deactivate
Delay(3, god_set.remove, args=(player,))
# Block command from chat (won't appear in chat)
# If u want to show, delete this line
return CommandReturn.BLOCK
Return to “General Discussion”
Who is online
Users browsing this forum: No registered users and 51 guests