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

2 параметра в 1 функции - C++

Восстановить пароль Регистрация
 
 
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 00:51     2 параметра в 1 функции #1
Не знал как точно назвать тему, дело в том, что у меня есть вот такой вот код:
C++
1
2
3
4
5
void cmd_vcol( char *param )        
{
     int    color = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color );        
}
А мне надо преобразовать его в такой:
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param )        
{
     int    color1 = atoi(param);
     int    color2 = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Но получается тогда что color1 и color2 одинаковы, пытался сделать так:
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Не выходит... Помогите пожалуйста.
P.S. сильно не ругайте если что не так написал или спросил, только 2-ой день работаю с С++.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 01:09     2 параметра в 1 функции #2
Цитата Сообщение от LastChaos Посмотреть сообщение
Не выходит...
А что не выходит?

Добавлено через 1 минуту
В 6 строке ошибка: написано в параметрах vehicle_info_get() colo2 вместо color2.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 01:15  [ТС]     2 параметра в 1 функции #3
Цитата Сообщение от alsav22 Посмотреть сообщение
А что не выходит?

Добавлено через 1 минуту
В 6 строке ошибка: написано в параметрах vehicle_info_get() colo2 вместо color2.
Что не выходит? Не срабатывает функция, в моем случае - это чит для SA:MP, при вводе команты /vcol у меня появляется ошибка и закрывается игра. Что насчет colo2, не дописал 1 букву.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 01:56     2 параметра в 1 функции #4
Цитата Сообщение от LastChaos Посмотреть сообщение
Не срабатывает функция
Какая? Переделанная под два параметра? Отчего не срабатывает? Потому что должна быть с одним параметром?

Добавлено через 2 минуты
Цитата Сообщение от LastChaos Посмотреть сообщение
Что насчет colo2, не дописал 1 букву.
Тут не дописали или там, где пробуете?

Добавлено через 2 минуты
И вопрос сформулируйте поконкретнее, а то непонятно, что нужно.

Добавлено через 2 минуты
param знаете как выглядит? param1, param2?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:08  [ТС]     2 параметра в 1 функции #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Какая? Переделанная под два параметра? Отчего не срабатывает? Потому что должна быть с одним параметром?

Добавлено через 2 минуты

Тут не дописали или там, где пробуете?

Добавлено через 2 минуты
И вопрос сформулируйте поконкретнее, а то непонятно, что нужно.

Добавлено через 2 минуты
param знаете как выглядит? param1, param2?
Я объясню: есть код:
C++
1
2
3
4
5
void cmd_vcol( char *param )        
{
     int    color = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color );        
}
Он срабатывает при вводе команды /vcol param (вместо param ставится любая цифра). А мне нужен код, который будет срабатывать для 2-х параметров, то есть такой: /vcol param param0 (вместо param и param0 любые цифры). А вот как сделать так, чтобы код считывал 2-ой параметр, я не знаю.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 02:24     2 параметра в 1 функции #6
То есть, такой код у вас не страбатывает, если /vcol param param0?
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Добавлено через 1 минуту
Цитата Сообщение от LastChaos Посмотреть сообщение
Он срабатывает при вводе команды /vcol param
Это где вводите?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:26  [ТС]     2 параметра в 1 функции #7
Цитата Сообщение от alsav22 Посмотреть сообщение
То есть, такой код у вас не страбатывает, если /vcol param param0?
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), color2 );        
}
Добавлено через 1 минуту

Это где вводите?
В игре GTA San Andreas: Multiplayer, а выше указанный код, лишь часть так называемого чита s0beit.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 02:38     2 параметра в 1 функции #8
Цитата Сообщение от LastChaos Посмотреть сообщение
В игре GTA San Andreas:
Нужно знать как там ввод обрабатывается. Что-нибудь знаете об этом?

Добавлено через 3 минуты
Вам второй параметр нужно обязательно через ввод передать? Если просто в функции прописать значение для color2?

Добавлено через 1 минуту
Или сформировать его из значения color1?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:48  [ТС]     2 параметра в 1 функции #9
Цитата Сообщение от alsav22 Посмотреть сообщение
Нужно знать как там ввод обрабатывается. Что-нибудь знаете об этом?
Понятия не имею. Но могу показать пример с несколькими параметрами, но там нет atoi:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void cmd_fakefamchat (char *param) 
{ 
    char текст[50]; 
    char ник[50]; 
    char ранг[50];
    int  ид;  
    char buf[100]; 
 
    if(strlen(param) < 1 || sscanf(param, "%s %s %i %s", &ранг, &ник, &ид, &текст) < 4) return addToChatWindow("/fakefamchat [ранг] [ник] [ид] [текст]", D3DCOLOR_XRGB(255, 255, 255)); 
 
    char *zam = "+"; 
    char *zam2 = " "; 
    for(int simvol=0; simvol<strlen(текст)+1; simvol++) 
    { 
     if(текст [simvol]== *zam)текст [simvol]= *zam2; 
    } 
 
    sprintf(buf, " [F] %s %s [%i]: %s", ранг, ник, ид, текст); 
    addToChatWindow(buf, D3DCOLOR_XRGB(0, 217, 0)); 
}
И вот еще vehicle_setColor0 и vehicle_setColor1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void vehicle_setColor0 ( vehicle_info *vinfo, int new_color )
{
    traceLastFunc( "vehicle_setColor0()" );
    if ( vinfo == NULL )
        return;
 
    vinfo->color[0] = new_color;
    if ( g_SAMP != NULL )
    {
        sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, new_color, vinfo->color[1] );
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
void vehicle_setColor1 ( vehicle_info *vinfo, int new_color )
{
    traceLastFunc( "vehicle_setColor1()" );
    if ( vinfo == NULL )
        return;
 
    vinfo->color[1] = new_color;
    if ( g_SAMP != NULL )
    {
        sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, vinfo->color[0], new_color );
    }
}
Может сможете что нибудь разобрать из этого, если еще что нужно, я могу скинуть.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 02:55     2 параметра в 1 функции #10
Вызов, какой-либо другой функций с двумя параметрами, делали?

Добавлено через 38 секунд
На два вопроса не ответили.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:57  [ТС]     2 параметра в 1 функции #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Вам второй параметр нужно обязательно через ввод передать? Если просто в функции прописать значение для color2?

Добавлено через 1 минуту
Или сформировать его из значения color1?
Да, через ввод команды. Никак не сформируешь, это совершенно разные цифры не имеющие к себе никакого отношения.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:06     2 параметра в 1 функции #12
Цитата Сообщение от LastChaos Посмотреть сообщение
Никак не сформируешь, это совершенно разные цифры не имеющие к себе никакого отношения.
Если без формирования, просто написать то что нужно? Где вы всё это делаете? Коды функций откуда? Сами писали? Как проверяете сработало, не сработало?

Добавлено через 2 минуты
Вот в этих строчках очерёдность параметров разная. Так и должно быть?
C++
1
2
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, new_color, vinfo->color[1] );
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, vinfo->color[0], new_color );
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:08  [ТС]     2 параметра в 1 функции #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Если без формирования, просто написать то что нужно? Где вы всё это делаете? Коды функций откуда? Сами писали? Как проверяете сработало, не сработало?
1. Не понял
2. У создателя чита s0beit есть Open Source в открытом доступе, скачал, и через VC 2010 разбираюсь.
3. Из готового проекта.
4. Нет
5. Захожу в игру, сажусь в машину, ввожу команду и номера цветов. Если цвет машины меняется - значит работает. Пока только меняется 1 из 2-х возможных.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:09     2 параметра в 1 функции #14
На это ответьте.
Цитата Сообщение от alsav22 Посмотреть сообщение
Вызов, какой-либо другой функции с двумя параметрами, делали?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:11  [ТС]     2 параметра в 1 функции #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Если без формирования, просто написать то что нужно? Где вы всё это делаете? Коды функций откуда? Сами писали? Как проверяете сработало, не сработало?

Добавлено через 2 минуты
Вот в этих строчках очерёдность параметров разная. Так и должно быть?
C++
1
2
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, new_color, vinfo->color[1] );
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, vinfo->color[0], new_color );
Да, проверял без помощи ввода, а с уже прописанным параметров в коде - работает.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:13     2 параметра в 1 функции #16
Цитата Сообщение от LastChaos Посмотреть сообщение
1. Не понял
Один парамет через ввод, в функции просто пишите:
int color2 = 5; // или какие там цифры, это для примера
И посмотреть сработает так. Или делали уже?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:17  [ТС]     2 параметра в 1 функции #17
Цитата Сообщение от alsav22 Посмотреть сообщение
Один парамет через ввод, в функции просто пишите:
int color2 = 5; // или какие там цифры, это для примера
И посмотреть сработает так. Или делали уже?
Да, работает идеально.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:20     2 параметра в 1 функции #18
Цитата Сообщение от LastChaos Посмотреть сообщение
5. Захожу в игру, сажусь в машину, ввожу команду и номера цветов.
Цитата Сообщение от alsav22 Посмотреть сообщение
На это ответьте.
Сообщение от alsav22
Вызов, какой-либо другой функции с двумя параметрами, делали?
В игре делали ввод каких-либо команд с двумя параметрами? Кроме этой команды?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:24  [ТС]     2 параметра в 1 функции #19
Цитата Сообщение от alsav22 Посмотреть сообщение
В игре делали ввод каких-либо команд с двумя параметрами? Кроме этой команды?
Да, пример присылал ваше. Но там нет какой-то функции aiot()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2013, 03:27     2 параметра в 1 функции
Еще ссылки по теме:

C++ Передача параметра функции
C++ Функции в зависимости от параметра
Вернуть 2 параметра из функции C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:27     2 параметра в 1 функции #20
Цитата Сообщение от LastChaos Посмотреть сообщение
Да, пример присылал ваше. Но там нет какой-то функции aiot()
Вот эта?
C++
1
void cmd_fakefamchat (char *param)
Yandex
Объявления
02.07.2013, 03:27     2 параметра в 1 функции
Ответ Создать тему
Опции темы

Текущее время: 20:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru