广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 1472 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
Alan.
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x41 鲜花 x31
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] 修改sma问题~(本人新手)
本人是sma新手(努力中),大大如果要把这个只可以用刀的插件,改为用刀也可用手雷,烟雾弹和闪光弹,应该如何修改。


/****************************************************
 * AMX Mod X Script for Counter-Strike 1.6   *
 * by "SilverTide"         *
 * Knives Only          *
 * Version 0.1a          *
 * Email = miketomasello@gmail.com     *
 * http://warcraft...r.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 {
    // 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;
}


[ 此文章被☆孤独x朱在2011-02-01 21:28重新编辑 ]



献花 x0 回到顶端 [楼 主] From:香港城市电讯 | Posted:2011-02-01 21:09 |
andyt0621
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x24 鲜花 x167
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

新手+1
为什么我看不到有相关的内容是写限用小刀的..
我看只有写玩家每回合的血量改变
(还是我没有看得懂= =
表情 表情


献花 x0 回到顶端 [1 楼] From:没有资料 | Posted:2011-02-01 21:18 |
Alan.
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x41 鲜花 x31
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

sorry~我放错了sma= =


献花 x0 回到顶端 [2 楼] From:香港城市电讯 | Posted:2011-02-01 21:27 |
Alan.
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x41 鲜花 x31
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

我而放回正确的sma了,sorry 放错


献花 x0 回到顶端 [3 楼] From:香港城市电讯 | Posted:2011-02-01 21:29 |
andyt0621
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x24 鲜花 x167
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

先用新手的手法试试..
把if ( usersweapon == CSW_KNIFE )下面的else改成
else if (usersweapon != CSW_FLASHBANG || usersweapon != CSW_HEGRENADE || usersweapon != CSW_SMOKEGRENADE)
测试还有没有限制用刀子..
和能否用手雷那些
表情 表情


献花 x0 回到顶端 [4 楼] From:没有资料 | Posted:2011-02-01 21:49 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.058497 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言