Получаю такой float -1.523425 (пример)
Как отрезать его в -1.52 для сравнения с другим
CLEO:
format 0@ = "%.2f" -1.523425
Получаю такой float -1.523425 (пример)
Как отрезать его в -1.52 для сравнения с другим
format 0@ = "%.2f" -1.523425
Насколько я знаю, на работу Pawn никакие скрипты не влияют.Как сказать серверу то что к тебе сел челик в машину?
{$CLEO}
{$NOSOURCE}
0000:
while not samp.Available()
wait 0
end
wait 200
0B6D: render 1@ = create_font "Arial" height 36 flags 0
while samp.Available()
wait 0
0B4E: samp 0@ = get_current_dialog_id
if
0@ == 722
then
while true
wait 0
0B6F: render font 1@ draw_text "Диалог виден" pos 200 100 color -1
if
0B3C: samp is_dialog_responded id 722 button 0 list_item 0 input_text 0
then
0AF8: samp add_message_to_chat "Диалог{00FFFF} 722{00FF00} ЗАВЕРШЕН" color -1
break
end
end
end
end
Потому что тут не нужен цикл while.Так-с, 722 ид диалога- это диалог, созданный сервером. Почему когда я закрываю какой либо кнопкой диалог ид 722, цикл while не останавливается? Заранее спасибо!Код:{$CLEO} {$NOSOURCE} 0000: while not samp.Available() wait 0 end wait 200 0B6D: render 1@ = create_font "Arial" height 36 flags 0 while samp.Available() wait 0 0B4E: samp 0@ = get_current_dialog_id if 0@ == 722 then while true wait 0 0B6F: render font 1@ draw_text "Диалог виден" pos 200 100 color -1 if 0B3C: samp is_dialog_responded id 722 button 0 list_item 0 input_text 0 then 0AF8: samp add_message_to_chat "Диалог{00FFFF} 722{00FF00} ЗАВЕРШЕН" color -1 break end end end end
{$CLEO}
0000:
repeat
wait 0
until SAMP.Available()
0B6D: render 0@ = create_font "Arial" height 36 flags 0
while true
wait 0
0B4E: samp 1@ = get_current_dialog_id
if 1@ == 722
then
0B6F: render font 0@ draw_text "Dialog is visible" pos 200 100 color -1
if 0B3C: samp is_dialog_responded id 722 button 0 list_item 0 input_text 0
then chatmsg "Dialog not visible" -1
end
end
end
:movescrin
alloc 1@ 512
0AB1: @GetCurrentPcUserName 0 1@
alloc 2@ 512
alloc 3@ 512
0AD3: 2@ = format "C:\Users\%s\Documents\GTA San Andreas User Files\SAMP\screens\sa-mp-%d.png" params 1@ 0@
0AD3: 3@ = format "C:\Users\%s\Documents\GTA San Andreas User Files\SAMP\sa-mp-%d.png" 1@ 0@
if 0B02: movefile 2@ to 3@
then
0AF8: samp add_message_to_chat "Óñïåøíî" color -1
else
0AF8: samp add_message_to_chat "Ñîñè õåð" color -1
end
free 1@
free 2@
free 3@
ret 0
Покажите пожалуйста как будет выглядеть на клео, спасибоLua:function isCoordInArea2d(xW, yW, x1, y1, x2, y2) if (xW < x1) and (yW < y1) and (xW > x2) and (yW > y2) then return true elseif (xW > x1) and (yW > y1) and (xW < x2) and (yW < y2) then return true else return false end end
:isCoordInArea2d
/*
0@ = xW
1@ = yW
2@ = x1
3@ = y1
4@ = x2
5@ = y2
6@ = 1/0 (return true/false)
example: call @isCoordInArea2d 6 xW 0@ | yW 1@ | x1 2@ | y1 3@ | x2 4@ | y2 5@ | return 6@
*/
if and
0025: 2@ > 0@ // (float)
0025: 3@ > 1@ // (float)
0025: 0@ > 4@ // (float)
0025: 1@ > 5@ // (float)
then
6@ = 1
else
if and
0025: 0@ > 2@ // (float)
0025: 1@ > 3@ // (float)
0025: 4@ > 0@ // (float)
0025: 5@ > 1@ // (float)
then
6@ = 1
else
6@ = 0
end
end
ret 1 6@
Через wininet делай запрос на свой сервер, а потом на сервере обрабатывай и отсылай на мылоМожно как-то в скрипт добавить типо оповещения шоле, чтобы когда игрок заходит на сервер, мне к примеру на почту приходил его ник и IP сервера?
уверен что это можно использовать для условий? и вообще мне кажется, что этот опкод работает только внутри папки с игрой.if 0B02: movefile 2@ to 3@
Нет, всё работает если указать вместо переменных просто строкиуверен что это можно использовать для условий? и вообще мне кажется, что этот опкод работает только внутри папки с игрой.
проверь какая строка у тебя получается после форматирования, через chatmsg например.Нет, всё работает если указать вместо переменных просто строки
Например: 0B02: movefile "C:\Users\Wlokas\Documents\GTA San Andreas User Files\SAMP\screens\sa-mp-123.png" to "C:\Users\Wlokas\Documents\GTA San Andreas User Files\SAMP\sa-mp-123.png"
Но как только я форматирую текст, и указываю переменные - происходит такая херня
0C11: memset 1@ value 0x0 size 512
0C11: memset 2@ value 0x0 size 512
0C11: memset 3@ value 0x0 size 512
не, всё так жепроверь какая строка у тебя получается после форматирования, через chatmsg например.
если все нормально, попробуй выделить память таким образом
CLEO:0C11: memset 1@ value 0x0 size 512 0C11: memset 2@ value 0x0 size 512 0C11: memset 3@ value 0x0 size 512
IF and SET жеуверен что это можно использовать для условий?
https://blast.hk/wiki/opcodes:0c11 Заполнение != выделение :)попробуй выделить память таким образом
Опкод не работает для строк, переданных через указатель. Попробуй так:Нет, всё работает если указать вместо переменных просто строки
// ..
const
MAX_PATH = 260
end
alloc 2@ MAX_PATH
alloc 3@ MAX_PATH
0AD3: 2@ = format "..."
0AD3: 3@ = format "..."
if call @WinAPI_MoveFile 2 2@ 3@
then
0AF8: samp add_message_to_chat "Got it" color -1
else
call @WinAPI_GetLastError 0 ret_to 4@
0AF8: samp add_message_to_chat "Unfortunately last WinApi call failed with the following error code %u" color -1 4@
end
free 2@
free 3@
// ...
:WinAPI_MoveFile
0AA2: 2@ = load_library "Kernel32.dll"
0AA4: 3@ = get_proc_address "MoveFileA" library 2@
0AA7: call_function 3@ num_params 2 pop 0 1@ 0@ ret_to 4@
0AA3: free_library 3@
if 4@ == 0
then return_false
else return_true
end
0AB2: ret_from_scm 0
:WinAPI_GetLastError
0AA2: 2@ = load_library "Kernel32.dll"
0AA4: 3@ = get_proc_address "GetLastError" library 2@
0AA7: call_function 3@ num_params 0 pop 0 ret_to 4@
0AA3: free_library 3@
0AB2: ret_from_scm 1 4@
У меня есть строка, которую я ввожу в чат, но не отправил еще- "Здравствуйте1". В конце строки стоит единица ну или другой символ, я хочу удалить этот последний символ, при эмуляции нажатия backspace на задержку 0 стирается 2-3 символа последних. Каким образом можно стереть именно последний символ?)
:delete_last_chars_from_string
// call @delete_last_chars_from_string call 2 0@ 5
var
0@: int
1@: int
2@: int
end
0C17: 2@ = strlen 0@
2@ -= 1@
0@ += 2@
0C11: memset 0@ 0 1@
ret 0