Thread: Knives Only
View Single Post
Malungo
New Member
Join Date: Mar 2021
Old 03-02-2021 , 07:57   Re: Knives Only
Reply With Quote #33

Quote:
Originally Posted by Napoleon_be View Post
I could make you this, but fully updated with the current amx version 1.8.3+, just let me know if you're still interested.

pls do this. I tried but the game is crashing


Code:
/****************************************************
 * AMX Mod X Script for Counter-Strike 1.6			*
 * by "SilverTide"									*
 * Knives Only										*
 * Version 0.1a										*
 * Email = [email protected]					*
 * http://warcraft3server.com						*
 * 													*
 * Credits:											*
 *  Billythekid - I had to use his knifes only      *
 *                plugin as a reference.			*
 *													*
 * Admin Commands -									*
 * amx_knivesonly <1|0> (Default: 0)				*
 *  [ Enables or Disables knives only mode ]		*
 * 													*
 * Client Commands-									*
 * say /voteknivesonly								*
 *  [ Starts a vote for knives only mode ]			*
 * 													*
 * 													*
 * PLUGIN DESCRIPTION : -----------------			*
 * Users will be forced to use knives				*
 * only, any other weapons will be					*
 * removed.											*
 *													*
 ****************************************************/

#include <amxmodx>
#include <amxmisc>
#include <fun>

new knifeonly = 0;
new choice[2];
new voteknivesonly[] = "\yKnives Only?\w^n^n1. On^n2. Off";

public plugin_init () {
	register_plugin ( "Knives Only", "0.1a", "SilverTide" );
	register_concmd ( "amx_knivesonly", "cmdknives_only", ADMIN_LEVEL_A, "- Turns on or off Knives Only." );
	register_concmd ( "amx_voteknivesonly", "cmdvoteknives_only", ADMIN_VOTE, "- Begins a vote to enable Knives Only." );
	register_concmd ( "say /voteknivesonly", "cmdvote", ADMIN_VOTE, "- Begins a vote to enable Knives Only." );
	register_menucmd ( register_menuid("\yKnives Only?"), (1<<0)|(1<<1), "count_votes" );
	register_event ( "CurWeapon", "knife", "b" );
}

public cmdknives_only ( id ) {
	new arg[2];
	read_argv ( 1, arg, 1 );
	set_hudmessage ( 200, 100, 0, -1.0, 0.25, 0, 1.0, 5.0, 0.1, 0.2, 2 );
	
	if ( equal ( arg, "1" ) ) {
		knifeonly = 1;
		client_cmd ( id, "weapon_knife" );
		console_print ( id, "Knives Only has been turned on." );
		show_hudmessage ( 0, "Knives Only has been turned on." );
	} else if ( equal ( arg, "0" ) ) {
		knifeonly = 0
		console_print ( id, "Knives Only has been turned off." );
		show_hudmessage ( 0, "Knives Only has been turned off." );
	} else {
		if ( knifeonly == 0 ){
			console_print ( id, "Usage: amx_knivesonly 1 = 0n 0 = off Currently: OFF" );
		}
		if ( knifeonly == 1 ){
			console_print ( id, "Usage: amx_knivesonly 1 = 0n 0 = off Currently: ON" );
		}
	}
	
	return PLUGIN_CONTINUE;
}

public knife ( id ) {
        if ( knifeonly == 0 ) {
            // Do Nothing;
        }
        if ( knifeonly == 1 ) {
            new clip, ammo;
            new usersweapon = get_user_weapon ( id, clip, ammo );
            
				
			 
			
			
			
            if ( usersweapon == CSW_KNIFE) {
                // Do Nothing
				
				
				
			} else {
				if ( usersweapon == CSW_HEGRENADE) {
                // Do Nothing
				
				
			} else {	
				if ( usersweapon == CSW_FLASHBANG) {
                // Do Nothing
				
			} else {
				if ( usersweapon == CSW_SMOKEGRENADE ) {
                // Do Nothing	
				
				
				
				
				
				
				
				
				
            } else {
				// Bury player and strip of weapons, then return to starting position
				new origin[3];
				get_user_origin ( id, origin );
				origin[2] -= 500;
				set_user_origin ( id, origin );
				new iwpn, iwpns[32], nwpn[32];
				get_user_weapons ( id, iwpns, iwpn );
				for ( new a = 0; a < iwpn; ++a ) {
					get_weaponname ( iwpns[a], nwpn, 31 );
					engclient_cmd ( id, "drop", nwpn );
				}
				new origin2[3];
				get_user_origin ( id, origin2 );
				origin2[2] += 500;
				set_user_origin ( id, origin2 );
				// Select the knife
				client_cmd ( id, "weapon_knife" );
            }
			}
			}
			}
        }
        return PLUGIN_CONTINUE;
}

public cmdvote ( id ) {
    new Float:voting = get_cvar_float ( "amx_last_voting" );
    if ( voting > get_gametime () ) {
        client_print ( id, print_chat, "*A vote has already been cast.*" );
        return PLUGIN_HANDLED;
    }
    if ( voting && voting + get_cvar_float ( "amx_vote_delay" ) > get_gametime() ) {
        client_print ( id, print_chat, "*Please wait for a short while before you are able to vote again.*" );
        return PLUGIN_HANDLED;
    }
    new menu_msg[256];
    new name[32];
    format ( menu_msg, 255, voteknivesonly );
    new Float:votetime = get_cvar_float("amx_vote_time") + 10.0;
    get_user_info ( id, "name", name, 31 );
    set_cvar_float ( "amx_last_voting", get_gametime() + votetime );
    show_menu ( 0, (1<<0)|(1<<1), menu_msg, floatround ( votetime ) );
    set_hudmessage ( 200, 0, 0, 0.05, 0.65, 2, 0.02, 30.0, 0.03, 0.3, 2 );
		
    show_hudmessage ( 0, "%s has started the Vote for knivesonly", name );
    set_task ( votetime, "check_the_votes" );
    choice[0] = choice[1] = 0;
    return PLUGIN_HANDLED; 
}

public cmdvoteknives_only ( id ) {
    new Float:voting = get_cvar_float ( "amx_last_voting" );
    if ( voting > get_gametime () ) {
        client_print ( id, print_chat, "*A vote has already been cast.*" );
        return PLUGIN_HANDLED;
    }
    if ( voting && voting + get_cvar_float( "amx_vote_delay" ) > get_gametime () ) {
        client_print ( id, print_chat, "*Please wait for a short while before you are able to vote again.*" );
        return PLUGIN_HANDLED;
    }
    new menu_msg[256];
    format ( menu_msg, 255, voteknivesonly );
    new Float:votetime = get_cvar_float ( "amx_vote_time" ) + 10.0;
    set_cvar_float ( "amx_last_voting", get_gametime() + votetime );
    show_menu ( 0, (1<<0)|(1<<1), menu_msg, floatround ( votetime ) );
    set_task ( votetime, "check_the_votes" );
    client_print ( 0, print_chat, "*Voting has started.*" );
    choice[0] = choice[1] = 0;
    return PLUGIN_HANDLED; 
}

public count_votes ( id, key ) {
    if ( get_cvar_float ( "amx_vote_answers" ) ) {
        new name[32];
        get_user_name ( id, name, 31 );
        client_print ( 0, print_chat, "* %s voted %s", name, key ? "against knives only" : "for knives only" );
    }
    ++choice[key];
    return PLUGIN_HANDLED;
}

public check_the_votes ( id ) {
    if ( choice[0] > choice[1] ) {
        server_cmd ( "amx_knivesonly 1" );
        client_print ( 0, print_chat, "* Knives Only Mode has been voted on. (On ^"%d^") (Off ^"%d^"). *", choice[0], choice[1] );
    } else {
        server_cmd ( "amx_knivesonly 0" );
        client_print ( 0, print_chat, "* Knives Only Mode has been voted off. (On ^"%d^") (Off ^"%d^"). *", choice[0], choice[1] );
    }
    return PLUGIN_CONTINUE;
}
Malungo is offline