data/lang help

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

data/lang help

Post by laimiukas3 »

turiu toki plugina labai butu saunu kad krautu text zinutes is txt failo ne is cfg gal kas galetu pagelbeti :)

pvz data/lang/tekstas.txt
[en]
text_chat_1 testas
text_chat_2 testas
text_chat_3 testas
text_chat_4 testas
text_chat_5 testas

Code: Select all

#include <amxmodx>#include <amxmisc> #define PLUGIN "text in chat"#define VERSION "1.0"#define AUTHOR "patr1g / Pr4yer"  enum ChatColor{    CHATCOLOR_YELLOW = 1,     CHATCOLOR_GREEN,       CHATCOLOR_TEAM_COLOR,       CHATCOLOR_GREY,         CHATCOLOR_RED,          CHATCOLOR_BLUE,    } new g_TeamName[][] ={    "",    "TERRORIST",    "CT",    "SPECTATOR"} new g_msgSayTextnew g_msgTeamInfo  public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)       register_cvar("text_chat", "1")    register_dictionary("tekstas.txt")    register_cvar("text_chat_1", "PETYX 1")    register_cvar("text_chat_2", "PETYX 2")    register_cvar("text_chat_3", "PETYX 3")    register_cvar("text_chat_4", "PETYX 4")    register_cvar("text_chat_5", "PETYX 5")    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")    g_msgSayText = get_user_msgid("SayText")    g_msgTeamInfo = get_user_msgid("TeamInfo")} public event_round_start(){  if(get_cvar_num("text_chat") == 1)  {    static            msg1[128],            msg2[128],            msg3[128],            msg4[128],            msg5[128]       get_cvar_string("text_chat_1", msg1, 127)    get_cvar_string("text_chat_2", msg2, 127)    get_cvar_string("text_chat_3", msg3, 127)    get_cvar_string("text_chat_4", msg4, 127)    get_cvar_string("text_chat_5", msg5, 127)       colorChat(0, CHATCOLOR_YELLOW, "%s", msg1)    colorChat(0, CHATCOLOR_RED, "%s", msg2)    colorChat(0, CHATCOLOR_GREEN, "%s", msg3)    colorChat(0, CHATCOLOR_GREY, "%s", msg4)    colorChat(0, CHATCOLOR_BLUE, "%s", msg5)  }} colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...){    new team, index, MSG_Type    new bool:teamChanged = false    new message[192]       switch(color)    {        case CHATCOLOR_YELLOW:        {            message[0] = 0x01;        }        case CHATCOLOR_GREEN:        {            message[0] = 0x04;        }        default:        {            message[0] = 0x03;        }    }       vformat(message[1], 190, msg, 4);       if (id == 0)    {        index = findAnyPlayer();        MSG_Type = MSG_ALL;    }    else    {        index = id;        MSG_Type = MSG_ONE;    }    if (index != 0)    {        team = get_user_team(index);          if (color == CHATCOLOR_RED && team != 1)        {            messageTeamInfo(index, MSG_Type, g_TeamName[1])            teamChanged = true        }        else        if (color == CHATCOLOR_BLUE && team != 2)        {            messageTeamInfo(index, MSG_Type, g_TeamName[2])            teamChanged = true        }        else        if (color == CHATCOLOR_GREY && team != 0)        {            messageTeamInfo(index, MSG_Type, g_TeamName[0])            teamChanged = true        }        messageSayText(index, MSG_Type, message);        if (teamChanged)        {            messageTeamInfo(index, MSG_Type, g_TeamName[team]);        }    }} messageSayText(id, type, message[]){    message_begin(type, g_msgSayText, _, id)    write_byte(id)        write_string(message)    message_end()}   messageTeamInfo(id, type, team[]){    message_begin(type, g_msgTeamInfo, _, id)    write_byte(id)    write_string(team)    message_end()}   findAnyPlayer(){    new players[32], inum       get_players(players, inum)       for (new a = 0; a < inum; ++a)    {        if(is_user_connected(players[a]))        {            return players[a]        }    }    return 0}
Image
Image
Image

User avatar
Trickas
Flooderis arba specialistas
Posts: 889
Joined: 2012 Jan 25 18:20
Skype: ner.e5

Re: data/lang help

Post by Trickas »

pridedi lang failą

Code: Select all

register_dictionary( "tekstas.txt" );
o tada round start funkcijoj, vietoj tų žinučių iš cfg, prasuki ciklą, kuris patikrina kiekvieno kalbą ir ja atspausdina žinutes

Code: Select all

    for(new i=0;i<33;i++){            colorChat(i, CHATCOLOR_YELLOW, "%L", LANG_PLAYER, "text_chat_1")            colorChat(i, CHATCOLOR_RED, "%L", LANG_PLAYER, "text_chat_2")    }
Nu ir aišku ištrini viską, kas su cfg susiję, jeigu nepavyks, pažiūrėt galėsiu savaitgalį, dabar tiesiog pirmą šovusį į galvą variantą parašiau, nes nelabai turiu laiko.
- Skype: ner.e5
- Steam: Tr1ckas

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: data/lang help

Post by laimiukas3 »

Trickas bandziau bet nepavyksta paciam gal jai atrasi laisvesnio laiko pamegin padaryti dekingas is anksto :)
Image
Image
Image

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 12 guests