CSGO: default weapon
Posted: Sun Sep 06, 2015 10:23 am
Please help me to resolve problem with Source.Python. I need to set default weapon like game is starting. How can I do it?
satoon101 wrote:I am not 100% sure what you are looking for. I will say that we already have the ability to drop/remove weapons and give new ones, if that will suffice.
Syntax: Select all
from events import Event
from entities.entity import Entity
from filters.players import PlayerIter
from listeners import LevelInit
from listeners.tick import tick_delays
last_winner = 0
default_weapons = {
't': ['weapon_glock', 'weapon_knife'],
'ct': ['weapon_hkp2000', 'weapon_knife']
}
@LevelInit
def map_start(mapname):
global last_winner
last_winner = 0
@Event('round_end')
def round_end(game_event):
global last_winner
if game_event.get_int('reason') in (9,15):
last_winner = 0
return
last_winner = game_event.get_int('winner')
@Event('round_start')
def round_start(game_event):
global last_winner
if not last_winner:
return
team = 't' if last_winner == 2 else 'ct'
for player in PlayerIter(team, return_types='player'):
tick_delays.delay(0.1, remove_weapons, player)
tick_delays.delay(0.2, give_weapons, player, team)
def remove_weapons(player):
for index in player.weapon_indexes():
entity = Entity(index)
player.drop_weapon(entity.pointer, None, None)
entity.remove()
def give_weapons(player, team):
for weapon in default_weapons[team]:
player.give_named_item(weapon, 0, None, False)
Syntax: Select all
@Event('player_activate')
def player_activate(game_event):
player = PlayerEntity(index_from_userid(game_event.get_int('userid')))
player.give_named_item('weapon_shotgun', 0, None, False)
Syntax: Select all
from events import Event
from entities.entity import Entity
from filters.players import PlayerIter
from listeners import LevelInit
from listeners.tick import tick_delays
last_winner = 0
default_weapons = {
't': ['weapon_glock', 'weapon_knife'],
'ct': ['weapon_hkp2000', 'weapon_knife']
}
@LevelInit
def map_start(mapname):
global last_winner
last_winner = 0
@Event('round_end')
def round_end(game_event):
global last_winner
if game_event.get_int('reason') in (9,15):
last_winner = 0
return
last_winner = game_event.get_int('winner')
@Event('round_start')
def round_start(game_event):
global last_winner
if not last_winner:
return
team = 't' if last_winner == 2 else 'ct'
for player in PlayerIter(team, return_types='player'):
tick_delays.delay(0.1, remove_weapons, player)
tick_delays.delay(0.2, give_weapons, player, team)
def remove_weapons(player):
for index in player.weapon_indexes():
entity = Entity(index)
player.drop_weapon(entity.pointer, None, None)
entity.remove()
def give_weapons(player, team):
for weapon in default_weapons[team]:
player.give_named_item(weapon, 0, None, False)