fangxikai 发表于 2009-7-23 20:38:41

【以解决】imessage.sma 插件问题

本帖最后由 fangxikai 于 2009-7-24 09:25 编辑

各位大大   
小弟想知道这样的


imessage 插件怎么改#include <amxmodx>
#include <amxmisc>

#define MAX_MESSAGES6
#define X_POS         -1.0
#define Y_POS         0.20
#define HOLD_TIME   12.0

new g_Values
new g_Messages
new g_MessagesNum
new g_Current

public plugin_init()
{
        register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team")
        register_dictionary("imessage.txt")
        register_dictionary("common.txt")
        register_srvcmd("amx_imessage", "setMessage")
        register_cvar("amx_freq_imessage", "10")
       
        new lastinfo
        get_localinfo("lastinfomsg", lastinfo, 7)
        g_Current = str_to_num(lastinfo)
        set_localinfo("lastinfomsg", "")
}

public infoMessage()
{
        if (g_Current >= g_MessagesNum)
                g_Current = 0
               
        new hostname
       
        get_cvar_string("hostname", hostname, 63)
        replace(g_Messages, 380, "%hostname%", hostname)
       
        set_hudmessage(g_Values, g_Values, g_Values, X_POS, Y_POS, 0, 0.5, HOLD_TIME, 2.0, 2.0, -1)
        show_hudmessage(0, "%s", g_Messages)
        client_print(0, print_console, "%s", g_Messages)
        ++g_Current
       
        new Float:freq_im = get_cvar_float("amx_freq_imessage")
       
        if (freq_im > 0.0)
                set_task(freq_im, "infoMessage", 12345)
}

public setMessage()
{
        if (g_MessagesNum >= MAX_MESSAGES)
        {
                server_print("%L", LANG_SERVER, "INF_REACH")
                return PLUGIN_HANDLED
        }

        remove_task(12345)
        read_argv(1, g_Messages, 380)
       
        while (replace(g_Messages, 380, "\n", "^n")) {}
       
        new mycol
       
        read_argv(2, mycol, 11)                // RRRGGGBBB
        g_Values = str_to_num(mycol)
       
        mycol = 0
        g_Values = str_to_num(mycol)
       
        mycol = 0
        g_Values = str_to_num(mycol)
       
        g_MessagesNum++
       
        new Float:freq_im = get_cvar_float("amx_freq_imessage")
       
        if (freq_im > 0.0)
                set_task(freq_im, "infoMessage", 12345)
       
        return PLUGIN_HANDLED
}

public plugin_end()
{
        new lastinfo

        num_to_str(g_Current, lastinfo, 7)
        set_localinfo("lastinfomsg", lastinfo)
}

那小子真帅 发表于 2009-7-23 23:23:18

没看懂...

colaawp 发表于 2009-7-24 04:56:55

修改如下:引用:
set_hudmessage(g_Values, g_Values, g_Values, X_POS, Y_POS, 2, 0.5, HOLD_TIME , 0.2, 1.0, 1)




红色2 表示:打字效果;
蓝色0.2,1.0分别表示:进来速度,出去速度。用来控制打字的速度,修改到你满意为止。


貌似是这个吧```

colaawp 发表于 2009-7-24 04:57:19

不过我改过无法编译了 真郁闷啊..!!!

fangxikai 发表于 2009-7-24 09:25:03

谢谢了   我编辑成功了。。。

fangxikai 发表于 2009-7-24 09:26:12

还是把编辑好的源码上上来咯!#include <amxmodx>
#include <amxmisc>

#define MAX_MESSAGES6
#define X_POS         -1.0
#define Y_POS         0.20
#define HOLD_TIME   12.0

new g_Values
new g_Messages
new g_MessagesNum
new g_Current

public plugin_init()
{
        register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team")
        register_dictionary("imessage.txt")
        register_dictionary("common.txt")
        register_srvcmd("amx_imessage", "setMessage")
        register_cvar("amx_freq_imessage", "10")
       
        new lastinfo
        get_localinfo("lastinfomsg", lastinfo, 7)
        g_Current = str_to_num(lastinfo)
        set_localinfo("lastinfomsg", "")
}

public infoMessage()
{
        if (g_Current >= g_MessagesNum)
                g_Current = 0
               
        new hostname
       
        get_cvar_string("hostname", hostname, 63)
        replace(g_Messages, 380, "%hostname%", hostname)
       
        set_hudmessage(g_Values, g_Values, g_Values, X_POS, Y_POS, 2, 0.5, HOLD_TIME, 0.2, 1.0, 1)
        show_hudmessage(0, "%s", g_Messages)
        client_print(0, print_console, "%s", g_Messages)
        ++g_Current
       
        new Float:freq_im = get_cvar_float("amx_freq_imessage")
       
        if (freq_im > 0.0)
                set_task(freq_im, "infoMessage", 12345)
}

public setMessage()
{
        if (g_MessagesNum >= MAX_MESSAGES)
        {
                server_print("%L", LANG_SERVER, "INF_REACH")
                return PLUGIN_HANDLED
        }

        remove_task(12345)
        read_argv(1, g_Messages, 380)
       
        while (replace(g_Messages, 380, "\n", "^n")) {}
       
        new mycol
       
        read_argv(2, mycol, 11)                // RRRGGGBBB
        g_Values = str_to_num(mycol)
       
        mycol = 0
        g_Values = str_to_num(mycol)
       
        mycol = 0
        g_Values = str_to_num(mycol)
       
        g_MessagesNum++
       
        new Float:freq_im = get_cvar_float("amx_freq_imessage")
       
        if (freq_im > 0.0)
                set_task(freq_im, "infoMessage", 12345)
       
        return PLUGIN_HANDLED
}

public plugin_end()
{
        new lastinfo

        num_to_str(g_Current, lastinfo, 7)
        set_localinfo("lastinfomsg", lastinfo)
}

colaawp 发表于 2009-7-24 17:49:42

成功就好了...哈哈``

cskyo 发表于 2009-8-27 10:56:48

xp200798 发表于 2009-10-4 17:43:38

很好啊!支持一下!

ty00dy00 发表于 2011-12-19 11:44:47

谢谢 看看下来
页: [1] 2
查看完整版本: 【以解决】imessage.sma 插件问题