filly 发表于 2009-3-9 01:23:25

enterleave.sma 编译不了。

为什么不编译会出错?内容:fatal error 100: cannot read from file:"Li_geoip"
用过几个编译工具了。附上源码:/*此插件和 li_geoip 模块和 点通签名插件以及 Statx 插件配套使用.
*如有问题请到点通论坛提问.*/

#include <amxmodx>
#include <csstats>
#include <unlimited_money>
#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
new g_SpecMode
new szName
new g_msgid

new rank
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 = 0;
}

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

                new szIP, szCountry, szArea;
                get_user_ip( id, szIP, 15, 1);
                get_ipinfo( szIP, szCountry, szArea, 39, 63);
               
                new izStats, izBody;
                new iRankMax;
                new szMessage;
                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",iRank(), szName, iRankPos, iRankMax, szCountry, szArea);
                display_chat( szMessage);               
                new szSignature;

                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;
        format( szMessage, 128,"^x01* 【^x04%s^x01】^x03%s^x01 离开了游戏", iRank(), szName);       
        display_chat( szMessage);
}
*/

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

public DisplayInfo(id){

        if ( g_SpecMode){
               
                new player = read_data(2);
                if ( is_user_connected( player)){
                       
                        new szName;
                        get_user_name( player, szName, 31);
                       
                        new szIP, szCountry, szArea;
                        get_user_ip( player, szIP, 15, 1);
                        get_ipinfo( szIP, szCountry, szArea, 39, 63);
                       
                        new izStats, izBody;
//                        new iRankMax;
                        iRankPos = get_user_stats( player, izStats, izBody);
//                        iRankMax = get_statsnum();
                       
//                        new szSignature, HasSignature;
//                        HasSignature = dt_getsign( szName, szSignature, 95);
                       
                        new Money
                        Money = cs_get_user_money2(player)
                       
                        new szMessage;
                        format( szMessage, 255, "【%s】%s ^n排名:%d杀敌:%d爆头:%d金钱:%d^n来自: %s%s",
                                iRank(),
                                szName,
                                iRankPos,
                                izStats,
                                izStats,
                                Money,
                                szCountry,
                                szArea);
                       
                        set_hudmessage( 255, 250, 250, -1.0, 0.80, 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
}

INSUN 发表于 2009-3-9 02:34:28

fatal error 100: cannot read from file:"Li_geoip"
加载Li_geoip模块就可以了

filly 发表于 2009-3-9 13:33:44

本帖最后由 filly 于 2009-3-9 14:24 编辑

fatal error 100: cannot read from file:"Li_geoip"
加载Li_geoip模块就可以了

我已经把Li_geoip_amxx.dll放在modules里面,然后在lodules.ini里面添加了加载,不过加载会提示不成功,不知道怎么解决。
请问如何加载????

8874323 发表于 2009-3-11 13:42:48

缺少模块,我帮你编译上来了

filly 发表于 2009-3-12 12:49:00

是缺少了ins文件,我已经解决了,还是谢谢8874323
版主

css 发表于 2011-9-16 16:47:35

我来看看吧 哈

31199seven 发表于 2014-1-23 10:46:36

 不错!下载来用一用!
页: [1]
查看完整版本: enterleave.sma 编译不了。