Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
#1

Найти строку - C++

16.08.2010, 16:53. Просмотров 453. Ответов 5
Метки нет (Все метки)

Помогите с кодом,мне нужна строка которая отправляет на сервер (чат,голосование и т.п.)сам код от исходника quake3,подскажите где она здесь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Cmd_CallVote_f
==================
*/
void Cmd_CallVote_f( gentity_t *ent ) {
    int     i;
    char    arg1[MAX_STRING_TOKENS];
    char    arg2[MAX_STRING_TOKENS];
 
    if ( !g_allowVote.integer ) {
        trap_SendServerCommand( ent-g_entities, "print \"Voting not allowed here.\n\"" );
        return;
    }
 
    if ( level.voteTime ) {
        trap_SendServerCommand( ent-g_entities, "print \"A vote is already in progress.\n\"" );
        return;
    }
    if ( ent->client->pers.voteCount >= MAX_VOTE_COUNT ) {
        trap_SendServerCommand( ent-g_entities, "print \"You have called the maximum number of votes.\n\"" );
        return;
    }
    if ( ent->client->sess.sessionTeam == TEAM_SPECTATOR ) {
        trap_SendServerCommand( ent-g_entities, "print \"Not allowed to call a vote as spectator.\n\"" );
        return;
    }
 
    // make sure it is a valid command to vote on
    trap_Argv( 1, arg1, sizeof( arg1 ) );
    trap_Argv( 2, arg2, sizeof( arg2 ) );
 
    if( strchr( arg1, ';' ) || strchr( arg2, ';' ) ) {
        trap_SendServerCommand( ent-g_entities, "print \"Invalid vote string.\n\"" );
        return;
    }
 
    if ( !Q_stricmp( arg1, "map_restart" ) ) {
    } else if ( !Q_stricmp( arg1, "nextmap" ) ) {
    } else if ( !Q_stricmp( arg1, "map" ) ) {
    } else if ( !Q_stricmp( arg1, "g_gametype" ) ) {
    } else if ( !Q_stricmp( arg1, "kick" ) ) {
    } else if ( !Q_stricmp( arg1, "clientkick" ) ) {
    } else if ( !Q_stricmp( arg1, "g_doWarmup" ) ) {
    } else if ( !Q_stricmp( arg1, "timelimit" ) ) {
    } else if ( !Q_stricmp( arg1, "fraglimit" ) ) {
    } else {
        trap_SendServerCommand( ent-g_entities, "print \"Invalid vote string.\n\"" );
        trap_SendServerCommand( ent-g_entities, "print \"Vote commands are: map_restart, nextmap, map <mapname>, g_gametype <n>, kick <player>, clientkick <clientnum>, g_doWarmup, timelimit <time>, fraglimit <frags>.\n\"" );
        return;
    }
 
    // if there is still a vote to be executed
    if ( level.voteExecuteTime ) {
        level.voteExecuteTime = 0;
        trap_SendConsoleCommand( EXEC_APPEND, va("%s\n", level.voteString ) );
    }
 
    // special case for g_gametype, check for bad values
    if ( !Q_stricmp( arg1, "g_gametype" ) ) {
        i = atoi( arg2 );
        if( i == GT_SINGLE_PLAYER || i < GT_FFA || i >= GT_MAX_GAME_TYPE) {
            trap_SendServerCommand( ent-g_entities, "print \"Invalid gametype.\n\"" );
            return;
        }
 
        Com_sprintf( level.voteString, sizeof( level.voteString ), "%s %d", arg1, i );
        Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ), "%s %s", arg1, gameNames[i] );
    } else if ( !Q_stricmp( arg1, "map" ) ) {
        // special case for map changes, we want to reset the nextmap setting
        // this allows a player to change maps, but not upset the map rotation
        char    s[MAX_STRING_CHARS];
 
        trap_Cvar_VariableStringBuffer( "nextmap", s, sizeof(s) );
        if (*s) {
            Com_sprintf( level.voteString, sizeof( level.voteString ), "%s %s; set nextmap \"%s\"", arg1, arg2, s );
        } else {
            Com_sprintf( level.voteString, sizeof( level.voteString ), "%s %s", arg1, arg2 );
        }
        Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ), "%s", level.voteString );
    } else if ( !Q_stricmp( arg1, "nextmap" ) ) {
        char    s[MAX_STRING_CHARS];
 
        trap_Cvar_VariableStringBuffer( "nextmap", s, sizeof(s) );
        if (!*s) {
            trap_SendServerCommand( ent-g_entities, "print \"nextmap not set.\n\"" );
            return;
        }
        Com_sprintf( level.voteString, sizeof( level.voteString ), "vstr nextmap");
        Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ), "%s", level.voteString );
    } else {
        Com_sprintf( level.voteString, sizeof( level.voteString ), "%s \"%s\"", arg1, arg2 );
        Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ), "%s", level.voteString );
    }
 
    trap_SendServerCommand( -1, va("print \"%s called a vote.\n\"", ent->client->pers.netname ) );
 
    // start the voting, the caller autoamtically votes yes
    level.voteTime = level.time;
    level.voteYes = 1;
    level.voteNo = 0;
 
    for ( i = 0 ; i < level.maxclients ; i++ ) {
        level.clients[i].ps.eFlags &= ~EF_VOTED;
    }
    ent->client->ps.eFlags |= EF_VOTED;
 
    trap_SetConfigstring( CS_VOTE_TIME, va("%i", level.voteTime ) );
    trap_SetConfigstring( CS_VOTE_STRING, level.voteDisplayString );    
    trap_SetConfigstring( CS_VOTE_YES, va("%i", level.voteYes ) );
    trap_SetConfigstring( CS_VOTE_NO, va("%i", level.voteNo ) );
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2010, 16:53     Найти строку
Посмотрите здесь:

Найти в матрице строку где сумма элементов минимальна и удалить эту строку - C++
Написать программу, что бы она находила в матрице строку где сумма элементов минимальна и удаляла эту строку, я написал чтобы программа...

Найти в матрице строку с наименьшим числом на главной диагонали, и исключить всю строку - C++
Условие задачи : матрицу заполнить случайными значениями , найти в ней строку с наименьшим числом в главной диагонали и исключить всю...

Как найти строку ? - C++
Привет. Есть файл типа: TEXT = Привет TEXT = Hellow Есть массив,в котором храниться язык пользователя ru или en Как...

Найти в матрице первую строку - C++
Найти в матрице первую строку, все элементы которой положительны.

Найти вторую строку в первой - C++
Даны две строки. Написать и проверить функцию, которая ищет вторую строку в первой, возвращая −1, если вторая строка не найдена в первой...

Найти максимально длинную строку - C++
такая проблема, я ввожу имя, фамилию, и отчество, после высчитывается где сколько символов, и выводит мне их, а мне нужно вытащить большее...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
16.08.2010, 17:10     Найти строку #2
Не оно: trap_SendServerCommand?
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
16.08.2010, 17:16  [ТС]     Найти строку #3
ну понятно что это она,но их тут много мне одна нужна конкретная что бы по ней я уже в ексешнике своем нашел......
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
16.08.2010, 17:19     Найти строку #4
Напиши конкретно, что именно она должна отправлять, а то что-то непонятно...
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
16.08.2010, 17:24  [ТС]     Найти строку #5
голосование к примеру (map)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2010, 17:32     Найти строку
Еще ссылки по теме:

Найти строку в текстовом файле - C++
Написать линейную программу без использования функций и процедур. В программе должно быть реализовано меню выбора действий: добавление...

Найти строку в другой строке - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; using namespace std; int main() { string t(&quot;Jon&quot;),...

3. Найти в матрице первую строку - C++
Задача Найти в матрице первую строку, все элементы которой упорядочены по возрастанию. Ктонибудь подскажите как решить ее не...

Найти самую длинную строку в файле - C++
Есть задача: Дан произвольный файл с некоторым количеством строк. Найти самую длинную строку и вывести ее. Попытался реализовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
16.08.2010, 17:32     Найти строку #6
Судя по всему, в строке 54 - trap_SendConsoleCommand( EXEC_APPEND, va("%s\n", level.voteString ) );. Само голосование формируется в строках 57-92.
trap_SendServerCommand, похоже отправляет некоторое отладочное сообщение, которое не несет реальной смысловой нагрузки (т.е. сигнализирует об ошибках, введенных пользователем неверных данных и т.п.)
Yandex
Объявления
16.08.2010, 17:32     Найти строку
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru