[SCRIPT] ammo
Posted: Wed Jun 05, 2013 3:12 pm
This is a script to change and edit amunition of a player far beyond the usual limitations.
This+rapid=EPIC WIN
CODE:
This+rapid=EPIC WIN
CODE:
Code: Select all
Have fun!from pyspades.server import weapon_reload
from commands import add, admin, get_player
@admin
def reload(connection,*args):
player=connection
ammo=255
clip=255
try:
if len(args)>2: player=get_player(args[2])
if len(args)>0: ammo=int(args[0])
if len(args)>1: clip=int(args[1])
except Exception:
return "Invalid, use /reload [ammo] [clip] [player]"
player.set_ammo(int(ammo),int(clip))
connection.refresh_ammo()
return "Reloaded"
@admin
def ammo(connection):
ammo=connection.ammo
return "You have "+str(ammo[0])+" ammo and a clip of "+str(ammo[1])+"."
@admin
def autoreload(connection):
connection.autoReload= not connection.autoReload
connection.refresh_ammo()
return "Auto reloading is "+["OFF","ON"][connection.autoReload]
add(reload)
add(ammo)
add(autoreload)
def apply_script(protocol, connection, config):
class ammoConnection(connection):
ammo=(0,0)
autoReload=False
def refresh_ammo(self):
if self.autoReload:
self.set_ammo(255,255)
self.ammo=(self.weapon_object.current_ammo,self.weapon_object.current_stock)
def on_reload(self):
self.refresh_ammo()
connection.on_reload(self)
def on_spawn(self,pos):
self.refresh_ammo()
connection.on_spawn(self, pos)
def on_shoot_set(self, fire):
self.refresh_ammo()
connection.on_shoot_set(self, fire)
def on_refill(self):
self.refresh_ammo()
connection.on_refill(self)
def on_input_update(self):
self.refresh_ammo()
connection.on_input_update(self)
def set_ammo(self, new_ammo, new_stock=None):
new_ammo=max(min(255,new_ammo),0)
new_stock=max(min(255,new_stock),0)
weapon=self.weapon_object
weapon_reload.player_id = self.player_id
weapon_reload.clip_ammo = weapon.current_ammo
weapon.current_ammo = new_ammo
if new_stock:
weapon.current_stock = new_stock
weapon_reload.reserve_ammo = weapon.current_stock
self.send_contained(weapon_reload)
self.ammo=(new_ammo,new_stock)
return protocol, ammoConnection