搜索
楼主: LittleKu

[AMXX 带源码] 这个插件可能很多人都在找源码!

[复制链接]
 楼主| 发表于 2009-5-18 10:24:40 | 显示全部楼层 来自 中国–广东–广州
9# yangxi2008


如果不行加我QQ,我发给你,QQ在个性签名有!
回复

使用道具 举报

发表于 2009-5-18 12:21:19 | 显示全部楼层 来自 中国–吉林–长春
这个插件有简单写法
回复

使用道具 举报

发表于 2009-5-18 12:22:07 | 显示全部楼层 来自 中国–吉林–长春
我写一个上传吧 支持KK阿朗
回复

使用道具 举报

 楼主| 发表于 2009-5-18 12:52:45 | 显示全部楼层 来自 中国–广东–广州
13# landyhmm


期待你的赐教!!
回复

使用道具 举报

发表于 2009-5-18 12:55:48 | 显示全部楼层 来自 中国–安徽–合肥
哈哈哈····
有个错误判断!
IP 和 玩家来源显示错误!
全部显示本机IP
所有玩家显示为查看者的IP地址及所在城市····
LZ测试了没啊???
回复

使用道具 举报

 楼主| 发表于 2009-5-18 13:03:46 | 显示全部楼层 来自 中国–广东–广州
15# Hebe


谢谢测试,很不好意思,由于我的疏忽,我已经把源码改正了,可以的话请您再帮我测试一下吧!
回复

使用道具 举报

发表于 2009-5-18 13:12:06 | 显示全部楼层 来自 中国–安徽–合肥
上班去咯!下午来测试····
回复

使用道具 举报

发表于 2009-5-18 15:37:13 | 显示全部楼层 来自 中国–安徽–合肥
#include <amxmodx>
#include <csstats>
#include "li_geoip"
#include "signs"

#define PLUGIN_NAME "DT-EnterLeave"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "ahcat"

#define STATS_KILLS 0
#define STATS_DEATHS 1
#define STATS_HS 2
#define STATS_TKS 3
#define STATS_SHOTS 4
#define STATS_HITS 5
#define STATS_DAMAGE 6

new g_JoinedTeam[33]
new g_SpecMode[33]
new szName[32]
new g_msgid

new rank[8]
new iRankPos

public plugin_init(){
       
        register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
       
        register_event( "TeamInfo", "EventJoinedTeam", "a", "2!UNASSIGNED");
       
        register_event( "StatusValue", "DisplayInfo", "bd", "1=2");
       
        register_event( "TextMsg", "SetSpecMode", "bd", "2&ec_Mod");
       
        g_msgid = get_user_msgid("SayText");
}

public client_connect(id){       
        g_JoinedTeam[id] = 0;
}

public EventJoinedTeam(){
       
        new id=read_data(1);
        if( g_JoinedTeam[id] == 0){
                g_JoinedTeam[id]=1;
                get_user_name( id, szName, 31);

                new szIP[16], szCountry[40], szArea[64];
                get_user_ip( id, szIP, 15, 1);
                get_ipinfo( szIP, szCountry, szArea, 39, 63);
               
                new izStats[8], izBody[8];
                new iRankMax;
                new szMessage[192];
                iRankPos = get_user_stats( id, izStats, izBody);
                iRankMax = get_statsnum();
       
                format( szMessage, 191, "^x01* 欢迎【^x04%s^x01】^x03%s^x01 -->>【排名】^x04%d^x01(共^x04%d^x01)【来自】^x04%s^x01 - ^x04%s",iRank(), szName, iRankPos, iRankMax, szCountry, szArea);
                display_chat( szMessage);               
                new szSignature[96];

                if( dt_getsign( szName, szSignature, 95)){       
                        format( szMessage, 191, "^x01* 【^x04个性签名^x01】^x04%s", szSignature);
                        display_chat( szMessage);
                }
               
        }
}

public client_disconnect(id){
        get_user_name( id, szName, 31);       
        new szMessage[128];
        format( szMessage, 128,"^x01* 【^x04%s^x01】^x03%s^x01 离开了游戏", iRank(), szName);       
        display_chat( szMessage);
}

public SetSpecMode(id){       
        new arg[12];
        read_data( 2, arg, 11);
        g_SpecMode[id] = ( arg[10] == '4' );
}

public DisplayInfo(id){

        if ( g_SpecMode[id]){
               
                new player = read_data(2);
                if ( is_user_connected( player)){
                       
                        new szName[32];
                        get_user_name( player, szName, 31);
                       
                        new szIP[16], szCountry[40], szArea[64];
                        get_user_ip( player, szIP, 15, 1);
                        get_ipinfo( szIP, szCountry, szArea, 39, 63);
                       
                        new izStats[8], izBody[8];
                        new iRankMax;
                        iRankPos = get_user_stats( player, izStats, izBody);
                        iRankMax = get_statsnum();
                       
                        new szSignature[96], HasSignature;
                        HasSignature = dt_getsign( szName, szSignature, 95);
                       
                        new szMessage[256];
                        format( szMessage, 255, "【%s】%s 排名: %d/%d^n爆头(率): %d(%0.2f)        杀敌: %d 死亡: %d^n命中(率): %d(%0.2f)/子弹: %d^n来自: %s - %s^n【个性签名】%s",
                                iRank(),
                                szName,
                                iRankPos,
                                iRankMax,
                                izStats[STATS_HS],
                                100.0 * float( izStats[STATS_HS])/float( izStats[STATS_KILLS]),
                                izStats[STATS_KILLS],
                                izStats[STATS_DEATHS],
                                izStats[STATS_HITS],
                                100.0 * float( izStats[STATS_HITS])/float( izStats[STATS_SHOTS]),
                                izStats[STATS_SHOTS],
                                szCountry,
                                szArea,
                                (HasSignature == 0)?"无(say $***)":szSignature);
                       
                        set_hudmessage( 0, 103, 0, -1.0, 0.64, 0, 6.0, 8.0, 0.5, 0.15, 1) ;                       
                        show_hudmessage( id, szMessage);

                }
        }
}

get_ipinfo( szIP[], szCountry[], szArea[], clen, alen){
       
        //可能 li_geoip 模块将 192.168.*.* 网段固定为"内网用户", 这里提供修改的办法.
        if( strfind( szIP, "192.168.") == 1){
               
                /*修改成你自己的网吧的地区名*/
                copy( szCountry, clen, "***本地***");
               
                /*修改成你自己的网吧的名称*/
                copy( szArea, alen, "“伊四”CS服务器");
        }
        else
                geoip_info( szIP, szCountry, szArea, clen, alen);
}

display_chat( szMessage[]){
       
        message_begin( MSG_ALL, g_msgid);
        write_byte(1);
        write_string( szMessage);
        message_end();
}

//进出服务器级别定义开始
public iRank(){       

                if(iRankPos<=10)
                        rank = "上将"
                else
                        {
                                if(iRankPos<=20)
                                        rank = "中将"
                                else
                                        {
                                                if(iRankPos<=40)
                                                        rank = "少将"
                                                else
                                                        {
                                                                if(iRankPos<=70)
                                                                        rank = "大校"
                                                                else
                                                                        {
                                                                                if(iRankPos<=110)
                                                                                        rank = "上校"
                                                                                else
                                                                                        {
                                                                                        if(iRankPos<=160)
                                                                                                rank = "中校"
                                                                                        else
                                                                                                {
                                                                                                        if(iRankPos<=220)
                                                                                                                rank = "少校"
                                                                                                        else
                                                                                                                {
                                                                                                                        if(iRankPos<=290)
                                                                                                                                rank = "上尉"
                                                                                                                        else
                                                                                                                                {
                                                                                                                                        if(iRankPos<=370)
                                                                                                                                                rank = "中尉"
                                                                                                                                        else
                                                                                                                                                {
                                                                                                                                                        if(iRankPos<=460)
                                                                                                                                                                rank = "少尉"
                                                                                                                                                        else
                                                                                                                                                                rank = "列兵"                               
                        }        }                }                }                }        }                }                }                }
                return        rank
}

加个【在线总时间】的代码!LZ会搞吗???
回复

使用道具 举报

发表于 2009-5-18 17:54:12 | 显示全部楼层 来自 中国–广西–百色
本帖最后由 野*人 于 2009-5-18 17:58 编辑
  1. "K.K.Lv"
复制代码
看作者名字,应该是你自己吧
看看传说中的原创作品 ~

纯路过~~~~~~~捞份,走人~~~
回复

使用道具 举报

发表于 2009-5-18 18:40:31 | 显示全部楼层 来自 中国–安徽–合肥
        register_clcmd("say", "checksay")

        register_clcmd("say_team", "checksay")



public checksay(id, pos)

{

        new said[32]

        read_args(said, 31)

        

        if (equali(said, "^"/info1^"") || equali(said, "^"info1^""))

                showinfoa(id, pos)

        else if (equali(said, "^"/info2^"") || equali(said, "^"info2^""))

                cmdShowInfocheck(id, pos)

        return PLUGIN_CONTINUE

}


刚才测试只可以玩家按Y 输入info1 info2才显示
服务器绑定按键无效!“【玩家来源】”     “say /info1"
回复

使用道具 举报

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

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