搜索
查看: 9050|回复: 21

[AMXX 带源码] 一些娱乐小插件

[复制链接]
发表于 2012-3-21 17:27:22 | 显示全部楼层 |阅读模式 来自 中国–陕西–咸阳
本帖最后由 726691010 于 2012-3-21 17:31 编辑

不好意思,偶是用手机发的,一不小心发多了。呵呵……具体说明自己下载试看吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
 楼主| 发表于 2012-3-21 18:02:37 | 显示全部楼层 来自 中国–陕西–咸阳
哪个高手能帮我把上面的那个加血包源码修改成只有具备一定权限的玩家才能捡起血包,且捡起时还有那个什么‘滴滴凤次’音效的加血包插件
回复

使用道具 举报

发表于 2012-3-21 19:43:51 | 显示全部楼层 来自 中国–湖南–长沙
{:soso_e178:}好东西  不错 喜欢
回复

使用道具 举报

发表于 2012-3-22 18:14:02 | 显示全部楼层 来自 中国–四川–绵阳
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2012-3-22 18:18:53 | 显示全部楼层 来自 中国–陕西–咸阳
这个代码是在悬赏需求区上看到的CS1.5血包代码 .上面说玩家会卡在血包上导致无法行走。但我复制下来却编译不了这是怎么回事?如果是格式不正确的话,劳烦高人检查修复一下,帮源码格式编排下发上来,代码如下
/*        Copyright ?2009, tuty
Healthkit On Dead Body is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Teleport Destination Angles Editor; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
/* --| Plugin information */
#define PLUGIN                 "Healthkit on dead body"
#define AUTHOR                 "tuty"
#define VERSION         "3.2b"
/* --| Some plugin defines */
#define MEDKIT_MINSZ         Float:{ -23.160000, -13.660000, -0.050000 }
#define MEDKIT_MAXSZ         Float:{ 11.470000, 12.780000, 6.720000 }
#define MODEL_KIT        "models/w_medkit.mdl"
#define MODEL_KITT        "models/w_medkitt.mdl"
#define SOUND_KIT        "items/smallmedkit1.wav"
#define FFADE_IN         0x0000
/* --| Some globals... */
new gToggleKitEnable;
new gToggleGlowShow;
new gGMsgFade;
new gToggleFadeEnable;
new gToggleRemoveAtRstart;
new gKitHealthCvar;
new gLimitHealthCvar;
new gGMsgItemPickup;
/* --| Medkit classname */
new const gMedKitClassname[] ="medkit_entity";
/* --| Let's start the plugin */
public plugin_init()
{
        /* --| Registering the plugin to show it on plugins list */
        register_plugin( PLUGIN, VERSION, AUTHOR );
      
        /* --| Some usefull events */
        register_event( "DeathMsg","drop_kit","a" );
        register_logevent( "logevent_round_start", 2, "1=Round_Start" );
      
        /* --| Register the touch forward */
        register_touch("medkit_entity","player","touched");
      
        /* --| Cvar list */
        gToggleKitEnable = register_cvar( "kit_enable", "1" );
        gToggleGlowShow = register_cvar( "kit_glow", "1" );
        gToggleFadeEnable = register_cvar( "kit_fade", "1" );
        gToggleRemoveAtRstart = register_cvar( "kit_remove", "1" );
        gKitHealthCvar = register_cvar( "kit_health", "10" );
        gLimitHealthCvar = register_cvar( "kit_limit_health", "100");
      
        /* --| Let's catch the user message id's */
        gGMsgFade = get_user_msgid( "ScreenFade" );
        gGMsgItemPickup = get_user_msgid( "ItemPickup" );
}
/* --| Precaching stuff */  
public plugin_precache()
{
        precache_model( MODEL_KIT );
        precache_model( MODEL_KITT );
        precache_sound( SOUND_KIT );
}
/* --| When player dies, let's drop thekit if plugin is elabled */
public drop_kit()
{
        /* --| Check if plugin is enabled/disabled */
        if( get_pcvar_num( gToggleKitEnable ) == 0 )
        {
                return PLUGIN_HANDLED;
        }      
      
        /* --| Get the victim id */
        new victim = read_data( 2 );
      
        /* --| Get the victim origin */
        static Float rigin[ 3 ];
        pev( victim, pev_origin, origin );
      
        /* --| Creating healthkit entity*/
        new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString,"info_target" ) );
      
        /* --| Modify the origin a little bit. This is calculated to be set on floor */
        origin[ 2 ] -= 36;
      
        /* --| Setting the ent origin */
        engfunc( EngFunc_SetOrigin, ent, origin );
      
        /* --| Check if isn't a valid ent */
        if( !pev_valid( ent ) )
        {
                return PLUGIN_HANDLED;
        }
      
        /* --| Now let's set the entity model and some stuff */
        set_pev( ent, pev_classname, gMedKitClassname );
        engfunc( EngFunc_SetModel, ent, MODEL_KIT );
        dllfunc( DLLFunc_Spawn, ent );
        set_pev( ent, pev_solid, SOLID_BBOX );
        set_pev( ent, pev_movetype, MOVETYPE_NONE );
        engfunc( EngFunc_SetSize, ent, MEDKIT_MINSZ, MEDKIT_MAXSZ );
        engfunc( EngFunc_DropToFloor, ent );
      
        /* --| If cvar is set to 1, let's glow the entity */
        if( get_pcvar_num( gToggleGlowShow ) == 1 )
        {
                if (get_user_team(victim)==1)
                {
                        fm_set_rendering( ent, kRenderFxGlowShell, 255, 0, 0, kRenderFxNone, 27 );
                        entity_set_int(ent,EV_INT_team,1);
                }
                else if (get_user_team(victim)==2)
                {
                        fm_set_rendering( ent, kRenderFxGlowShell, 0, 0, 255, kRenderFxNone, 27 );
                        entity_set_int(ent,EV_INT_team,2);
                }
        }
      
        return PLUGIN_HANDLED;
}
/* --| Calling the touch forward from fakemeta to see if player touched the entity */  
public touched( ent, id )
{
        /* --| Check if is a valid entity and is plugin enabled */
        if( !pev_valid( ent ) || get_pcvar_num( gToggleKitEnable )== 0 )
        {
                return FMRES_IGNORED;
        }
      
        new ownerTeam = get_user_team(id);
        new whitchTeam = entity_get_int(ent, EV_INT_team);
        if (whitchTeam==ownerTeam)
        {
                return FMRES_IGNORED;
        }
      
        /* --| Find the ent classname */
        //new classname[ 32 ];
        //pev( ent, pev_classname, classname, charsmax( classname ) );
      
        /* --| Check if isn't our classname */
        //if( !equal( classname, gMedKitClassname ) )
        //{
                //return FMRES_IGNORED;
        //}
        if(get_user_flags(id) & ADMIN_LEVEL_C){
        /* --| Get the user health, and check some cvars */
        new health = get_user_health( id );
        new cvarhealth = get_pcvar_num( gKitHealthCvar );
        new maxhealth = get_pcvar_num( gLimitHealthCvar );
      
        /* --| Check player health */
        if( health >= maxhealth )
        {
                //client_print( id, print_center, "Sorry, your health is%d. You can't take the kit! You must have less then %d to take it.", health,maxhealth );
                return FMRES_IGNORED;
        }
      
        /* --| Show a red hud message to client */
        //set_hudmessage( 255, 0, 0, -1.0, 0.83, 2, 6.0, 3.0 );
        //show_hudmessage( id, "You received %d HP", cvarhealth );
      
        /* Set the health and show some minor things, for fun */
        fm_set_user_health( id, health + cvarhealth );
        emit_sound( id, CHAN_ITEM, SOUND_KIT, VOL_NORM, ATTN_NORM ,0, PITCH_NORM );
      
        /* --| Show the healthkit item on hud */
        message_begin( MSG_ONE_UNRELIABLE, gGMsgItemPickup, _, id );
        write_string( "item_healthkit" );
        message_end();
      
        /* --| If cvar for fade is enabled, let's create the fade */
        if( get_pcvar_num( gToggleFadeEnable ) == 1 )
        {
                message_begin( MSG_ONE_UNRELIABLE, gGMsgFade , _, id );
                write_short( 1<<10 );
                write_short( 1<<10 );
                write_short( FFADE_IN );
                write_byte( 255 );
                write_byte( 0 );
                write_byte( 0 );
                write_byte( 75 );
                message_end();
        }
      
        /* --| Now we need to remove the entity from floor */
        engfunc( EngFunc_RemoveEntity, ent );
}      
        return FMRES_IGNORED;
}
/* --| Round start, we need to check entity and remove it */
public logevent_round_start()
{
        /* --| If cvar to remove ent on round start is enabled, let's remove the ent */
        if( get_pcvar_num( gToggleRemoveAtRstart ) == 1 )
        {
                new hkit = FM_NULLENT;
                while( ( hkit = fm_find_ent_by_class( hkit, gMedKitClassname ) ) )
                {
                        engfunc( EngFunc_RemoveEntity, hkit );
                }
        }      
}
/* --| End of plugin */
回复

使用道具 举报

 楼主| 发表于 2012-3-22 18:25:28 | 显示全部楼层 来自 中国–陕西–咸阳
啥东东啊……晕死
回复

使用道具 举报

 楼主| 发表于 2012-3-22 20:11:42 | 显示全部楼层 来自 中国–陕西–咸阳
帮帮忙喽……各位英雄好汉⊙o⊙
回复

使用道具 举报

发表于 2012-3-23 20:41:42 | 显示全部楼层 来自 中国–广东
pjswr 发表于 2012-3-22 18:14
厦门ONS,厦门一夜情,福州一夜情,泉州ons,漳州一夜情

,莆田ONS,福建一夜情女子学院一夜情,一夜吧交友 ...

广告的真多啊,汗
回复

使用道具 举报

 楼主| 发表于 2012-3-23 21:59:38 | 显示全部楼层 来自 中国–陕西–咸阳
怎么来的人都不理俺丫……
坐等好人出现!
CS1.5的永久热爱者
回复

使用道具 举报

发表于 2012-3-23 22:55:43 | 显示全部楼层 来自 中国–江苏–泰州
3楼的啥玩意?
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表