HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 03.03.2016, 16:41
Harch
Познающий
Регистрация: 08.07.2015
Сообщений: 40
С нами: 5709574

Репутация: 0
По умолчанию

Там как-то стоит скобка неправильно. Как ни расставлял - не работает.
 
Ответить с цитированием

  #2  
Старый 03.03.2016, 16:59
Harch
Познающий
Регистрация: 08.07.2015
Сообщений: 40
С нами: 5709574

Репутация: 0
По умолчанию

Сделал так:

Код:





Код:
bool carTypeIsTrain()
{
    vehicle_info *car = SF->getGame()->vehicleInfoGet(VEHICLE_SELF, VEHICLE_TYPE_CAR);
    if (!car) return false;
    byte carClass = *((byte *)(uint32_t)car + 0x590);
    if (car->vehicle_type == VEHICLE_TYPE_TRAIN) return true;
    return false;
}
 
Ответить с цитированием

  #3  
Старый 04.03.2016, 15:52
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Индефикатор идет первым. И у тебя в скане уже ошибка. Ты число в чар записываешь? Нахрена?
 
Ответить с цитированием

  #4  
Старый 04.03.2016, 18:02
FordeD
Познающий
Регистрация: 10.01.2016
Сообщений: 98
С нами: 5442178

Репутация: 18
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Индефикатор идет первым. И у тебя в скане уже ошибка. Ты число в чар записываешь? Нахрена?
нет, буква соответственно чар, а цифра имеет интовский тип

закомпилил этот код:

C++:





Код:
void
CALLBACK
cmd_get_player_square
(
std
::
string param
)
{
char
buf
[
128
]
;
char
buk
[
1
]
;
int
chisl
;
char
square
=
'A'
;
if
(
param
.
empty
(
)
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"[COORDINATOR]\t\tВы не указали квадрат поиска! (( /coord [Буква] [число] ))"
)
;
return
;
}
if
(
buk
==
"А"
)
bukn
=
1
;
if
(
buk
==
"Б"
)
bukn
=
2
;
if
(
buk
==
"В"
)
bukn
=
3
;
if
(
buk
==
"Г"
)
bukn
=
4
;
if
(
buk
==
"Д"
)
bukn
=
5
;
if
(
buk
==
"Ж"
)
bukn
=
6
;
if
(
buk
==
"З"
)
bukn
=
7
;
if
(
buk
==
"И"
)
bukn
=
8
;
if
(
buk
==
"К"
)
bukn
=
9
;
if
(
buk
==
"Л"
)
bukn
=
10
;
if
(
buk
==
"М"
)
bukn
=
11
;
if
(
buk
==
"Н"
)
bukn
=
12
;
if
(
buk
==
"О"
)
bukn
=
13
;
if
(
buk
==
"П"
)
bukn
=
14
;
if
(
buk
==
"Р"
)
bukn
=
15
;
if
(
buk
==
"С"
)
bukn
=
16
;
if
(
buk
==
"Т"
)
bukn
=
17
;
if
(
buk
==
"У"
)
bukn
=
18
;
if
(
buk
==
"Ф"
)
bukn
=
19
;
if
(
buk
==
"Х"
)
bukn
=
20
;
if
(
buk
==
"Ц"
)
bukn
=
21
;
if
(
buk
==
"Ч"
)
bukn
=
22
;
if
(
buk
==
"Ш"
)
bukn
=
23
;
if
(
buk
==
"Я"
)
bukn
=
24
;
switch
(
bukn
)
{
case
1
:
{
switch
(
chisl
)
{
case
1
:
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"[COORDINATOR]\t\tКвадрат поиска [%d-%d] указан на вашем GPS"
,
buk
,
chisl
)
;
CVector fPos
=
{
12.0
,
13.2
,
0.0
}
;
GAME
->
Get3DMarkers
(
)
->
CreateMarker
(
square
,
MARKER3D_TUBE
,
&
fPos
,
40.0
,
1.0
,
3
,
52
,
227
,
255
)
;
break
;
}
case
2
:
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"[COORDINATOR]\t\tКвадрат поиска [%d-%d] указан на вашем GPS"
,
buk
,
chisl
)
;
CVector fPos
=
{
302.0
,
313.2
,
0.0
}
;
GAME
->
Get3DMarkers
(
)
->
CreateMarker
(
square
,
MARKER3D_TUBE
,
&
fPos
,
40.0
,
1.0
,
3
,
52
,
227
,
255
)
;
break
;
}
case
3
:
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"[COORDINATOR]\t\tКвадрат поиска [%d-%d] указан на вашем GPS"
,
buk
,
chisl
)
;
CVector fPos
=
{
612.0
,
613.2
,
0.0
}
;
GAME
->
Get3DMarkers
(
)
->
CreateMarker
(
square
,
MARKER3D_TUBE
,
&
fPos
,
40.0
,
1.0
,
3
,
52
,
227
,
255
)
;
break
;
}
case
4
:
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"[COORDINATOR]\t\tКвадрат поиска [%d-%d] указан на вашем GPS"
,
buk
,
chisl
)
;
CVector fPos
=
{
912.0
,
913.2
,
0.0
}
;
GAME
->
Get3DMarkers
(
)
->
CreateMarker
(
square
,
MARKER3D_TUBE
,
&
fPos
,
40.0
,
1.0
,
3
,
52
,
227
,
255
)
;
break
;
}
default
:
{
sprintf
(
buf
,
"[COORDINATOR]\t\tКвадрат поиска [%s-%d] не находится в базе"
,
buk
,
chisl
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
buf
)
;
}
}
}
default
:
{
sprintf
(
buf
,
"[COORDINATOR]\t\tКвадрат поиска [%s-%d] не находится в базе"
,
buk
,
chisl
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
buf
)
;
}
}
}


теперь вообще не понимает команду /coord A 1

хотя распознает 1 А и выдает дефолтовое значение свича
 
Ответить с цитированием

  #5  
Старый 04.03.2016, 20:49
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от McFree  

теперь вообще не понимает команду /coord A 1
хотя распознает 1 А и выдает дефолтовое значение свича
Свич работает с числами только. Лучше сканф заменить на регулярки и рабоать с std::string вместо чара. Практичнее в разы.
 
Ответить с цитированием

  #6  
Старый 04.03.2016, 23:44
FordeD
Познающий
Регистрация: 10.01.2016
Сообщений: 98
С нами: 5442178

Репутация: 18
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Свич работает с числами только. Лучше сканф заменить на регулярки и рабоать с std::string вместо чара. Практичнее в разы.
Туплю как всегда,что за регулярки?

Я все время со сканфом делал все ...
 
Ответить с цитированием

  #7  
Старый 04.03.2016, 23:58
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от McFree  

Туплю как всегда,что за регулярки?
Я все время со сканфом делал все ...
Регулярные выражения. Намного лучше сканф.
 
Ответить с цитированием

  #8  
Старый 04.03.2016, 17:10
Gabriel__
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами: 5731627

Репутация: 108
По умолчанию

Почему не читает RPC ???

Код:





Код:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrSetPlayerHealth) 
    {
        byte packet;
        float data = 0.0;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read( packet ); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, 4); // читаем отправляемые данные
       
        SF->getSAMP()->getChat()->AddChatMessage(0xFFFF00, "%f", data);       
    };
    return true; // успешно завершаем отправку пакета
 
Ответить с цитированием

  #9  
Старый 04.03.2016, 17:21
itsLegend
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами: 6915558

Репутация: 183


По умолчанию

Потому что ты его читаешь как пакет.
 
Ответить с цитированием

  #10  
Старый 04.03.2016, 17:27
Gabriel__
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами: 5731627

Репутация: 108
По умолчанию

Цитата:
Сообщение от legend2360  

Потому что ты его читаешь как пакет.
А как читать как RPC ?

P.S Тебе ты лучше сразу говорить как нужно делать. А то форум засоряем (
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.