Вопросы по CLEO-скриптингу

gcode

нестандартное звание звание звание звание звани...
Друг
789
357
Каким образом можно сравнить две строки?
(Метод MISTER_GONWIK почему-то работает не так как нужно)
 

Thomas_Johnson

Известный
Проверенный
183
21
Тоже самое, работает неправильно. 2 одинаковые строки считает за разные.

Скрипт работает прекрасно.
Код:
{$CLEO .cs}
0000:
if not 29@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available() 
wait 100
end
 
:0
wait 0
if
0B4C:  samp is_dialog_active 1 
jf @0 
6@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
6@ = SAMP.GetPlayerNickname(6@)
if
0C14: strcmp string1 'Thomas_Johnson' string2 6@
jf @0
SAMP.SetDialogInputBoxText('qwerty')
SAMP.CloseDialog(1)
jump @0
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
Тоже самое, работает неправильно. 2 одинаковые строки считает за разные.
Бывало такое.
Просто создай для 1 переменной память. После копируй одну строк в эту переменную и потом сравнивай.
 

gcode

нестандартное звание звание звание звание звани...
Друг
789
357
Бывало такое.
Просто создай для 1 переменной память. После копируй одну строк в эту переменную и потом сравнивай.

Я так понимаю что проблема с переменной, которая считывается из файла, т.к там последний символ - переход на новую строку, хотя не уверен. Буду думать вообщем. Спасибо всем.
 

Recovery

Известный
65
3
1) Не могли бы объяснить, допустим для передачи пакета по координатам игрока используется смещение 109 ( 3@ += 109 ), как узнать что именно 109? Допустим, хочу я сделать по пакетам тп авто, как мне узнать, какое смещение использовать?
2) Как задержать пакет на одной позиции? Т.е я отправил фейк координаты игрока, он там побудет 1-2 сек, даже меньше и тпшнется на прежние место, как его там оставить например на минуту, что бы сервер думал, что я там стою, wait Nмлсек не помогает. Благодарен
 

hnnssy

Известный
Друг
2,684
2,750
Скрипт работает прекрасно.
Код:
{$CLEO .cs}
0000:
if not 29@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available()
wait 100
end
 
:0
wait 0
if
0B4C:  samp is_dialog_active 1
jf @0
6@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
6@ = SAMP.GetPlayerNickname(6@)
if
0C14: strcmp string1 'Thomas_Johnson' string2 6@
jf @0
SAMP.SetDialogInputBoxText('qwerty')
SAMP.CloseDialog(1)
jump @0

Как в 0C14: strcmp string1 'Thomas_Johnson' string2 6@ засунуть более 15-ти символов?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
Как в 0C14: strcmp string1 'Thomas_Johnson' string2 6@ засунуть более 15-ти символов?
Выделить память для переменной и потом копировать текст в эту переменную, после, сравнивать.
Или попробуй использовать функцию от M_G.


1) Не могли бы объяснить, допустим для передачи пакета по координатам игрока используется смещение 109 ( 3@ += 109 ), как узнать что именно 109? Допустим, хочу я сделать по пакетам тп авто, как мне узнать, какое смещение использовать?
2) Как задержать пакет на одной позиции? Т.е я отправил фейк координаты игрока, он там побудет 1-2 сек, даже меньше и тпшнется на прежние место, как его там оставить например на минуту, что бы сервер думал, что я там стою, wait Nмлсек не помогает. Благодарен
1) Это структура. Её нужно нумеровать. Есть в исходниках соба.
Вот структура кара(синхронизации). Источник: Acheats.
mgmoldova написал(а):
PACKET_VEHICLE_SYNC = 217 | +177
Код:
// struct stInCarData ( size = 63 )
// uint16_t sVehicleID;
// uint16_t sLeftRightKeys; + 2
// uint16_t sUpDownKeys; + 4
// uint16_t sKeys; + 6
// float fQuaternion[4]; + 8
// float fPosition[3]; + 24
// float fMoveSpeed[3]; + 36
// float fVehicleHealth; + 48
// uint8_t bytePlayerHealth; + 52
// uint8_t byteArmor; + 53
// uint8_t byteCurrentWeapon; + 54
// uint8_t byteSiren; + 55
// uint8_t byteLandingGearState; + 56
// uint16_t sTrailerID; + 57
// float fTrainSpeed; + 59

2) Посылай несколько пакетов. Можно через:
Код:
for 0@ = 0 to 5
wait 0
// Посылаем пакет
end
 

Thomas_Johnson

Известный
Проверенный
183
21
Как в 0C14: strcmp string1 'Thomas_Johnson' string2 6@ засунуть более 15-ти символов?

А можно просто сделать кавычки такими: " " - в них помещается текст любой длинны, только отображаться может немного некорректно, если больше 15ти символов.
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
2) Как задержать пакет на одной позиции? Т.е я отправил фейк координаты игрока, он там побудет 1-2 сек, даже меньше и тпшнется на прежние место, как его там оставить например на минуту, что бы сервер думал, что я там стою, wait Nмлсек не помогает. Благодарен
Выключай нужную синхронизацию и после посылай пакеты, когда нужное время пройдет, включай синхронизацию обратно

Вопрос: Мне нужно загрузить отобразить текстуру на экране, на сколько я знал текстуру нужно отображать в цикле иначе погаснет, но она не пропадает. Как сделать, чтобы она отображалась на секунду? А то я отображаю и она так и висит, как ее тогда убрать?