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

Dark_Knight

Me, me and me.
Друг
4,083
2,110
Всем салют! Как получить уровень розыска в сампе? Player.WantedLevel($PLAYER_CHAR) почему-то всегда выдает 0

Скачал GTA 5 Hud, но там розыск не отображается. Решил попытатся сделать клео скрипт для отображения розыска.
Появилась проблема, а т.к. я никогда не писал скрипты, не могу её решить =\ Вот мой код
Код:
{$CLEO}
0000:
 
thread 'WANTED'
if
Player.Defined($PLAYER_CHAR)
while true
    0390: load_txd_dictionary 'wanted'
038F: load_texture "w0" as 1
038F: load_texture "w1" as 2
038F: load_texture "w2" as 3
038F: load_texture "w3" as 4
038F: load_texture "w4" as 5
038F: load_texture "w5" as 6
038F: load_texture "w6" as 7
            1@ = Player.WantedLevel($PLAYER_CHAR)
            if
                1@ == 0
            then
                wait 0
                038D: create_texture 1 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
            if
                1@ == 1
            then
                wait 0
                038D: create_texture 2 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
            if
                1@ == 2
            then
                wait 0
                038D: create_texture 3 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
            if
                1@ == 3
            then
                wait 0
                038D: create_texture 4 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
            if
                1@ == 4
            then
                wait 0
                038D: create_texture 5 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
            if                               
                1@ == 5
            then
                wait 0
                038D: create_texture 6 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
            if
                1@ == 6
            then
                wait 0
                038D: create_texture 7 position 66.0 440.0 scale 100.0 13.0 color 255 219 25 alpha 255
            end
        wait 0 
    0391: release_txd_dictionary
wait 0
end
wait 0
0A93: end_custom_thread
P.S. Не смейтесь, первый мой скрипт ;3

WantedLevel ne rabotaet v sampe.
 

hnnssy

Известный
Друг
2,684
2,769
Есть call функция определения координат метки? То бишь чекпоинта как на работах.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Есть call функция определения координат метки? То бишь чекпоинта как на работах.

Код:
{$CLEO}
 
0000:
 
if 8AF7: get_samp_base_to 33@
then 0A93: end_custom_thread
end
repeat
    wait 400
until 0AFA: is_samp_structures_available
 
reg_cmd "tst" @cmd
 
while true
    wait 0
end
 
:cmd
0AB1: @3DMarker 0
SAMP.CmdRet()
 
:3DMarker
var
    0@ : int
    1@ : int
    2@ : int
    3@ : int
end // var
 
1@ = 0xC7DD58 //
for 0@ = 0 to 32 step 1
    2@ = 0@
    2@ *= 160
 
    0A8E: 3@ = 1@ + 84
    0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
 
    if 3@ <> 0
    then
        0A8E: 3@ = 1@ + 80
        0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
 
        if 3@ == 1
        then
            //chat "Найден 3DMarker(%d) с индификатором {FFFF00}0x%p" 0xFFFFFF 0@ 3@
 
            0A8E: 3@ = 1@ + 48
            0A8D: 4@ = read_memory 3@ size 4 virtual_protect 0
 
            0A8E: 3@ = 1@ + 52
            0A8D: 5@ = read_memory 3@ size 4 virtual_protect 0
 
            0A8E: 3@ = 1@ + 56
            0A8D: 6@ = read_memory 3@ size 4 virtual_protect 0
 
            //chat "Координаты: {FFFF00}%.1f %.1f %.1f" 0xFFFFFF 4@ 5@ 6@
            // break // ?
        end
    end
end
0AB2: 0

Параметров не возвращает, можешь сам исправить.
Работает корректно, получает только данные о красной сфере(if 3@ == 1(45 строка))
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Можно спросить у игрока его уровень розыска вприципе
 
  • Нравится
Реакции: itsLegend

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сколько звездочек, такой и розыскo_O
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вы хоть прочитали мое первое сообщение? Или это обычное набивание постов?

Ну ээ, вообще мы тут посты всегда набиваем, просто тему забыли переименовать в "Постонабивалка", а по делу можно попробовать
  • 0xBAA420 - Уровень розыска
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Значит эти пидоры не удосужились при коннекте выставить звезды в текущий (серверный) уровень розыска?
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну как-то ведь получить можно :D

Если мне дали розыск и я перезайду, то я уверен, что звезд не будет, если будут, а стандартные опкоды выводят 0 тогда самп патччит память на setwantedlevel, а вообще насрать на этот розыск. :D
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Я пытаюсь сделать что-то вроде этого, но для игрока, со снайперской, http://i.imgur.com/m4PaGoW.png 0AE2 для автомобиля, что-то вроде этого для игрока?

Function(need SAMPFUNCS)
Код:
:AnyNearPlayer
var
    0@ : float
    1@ : float
    2@ : float
    3@ : float
 
    4@ : int
    5@ : int
 
    6@ : int
    7@ : float
    8@ : float
    9@ : float
end
 
30@ = false
for 4@ = 0 to 999 step 1
    if SAMP.IsPlayerConnected(4@)
    jf continue
 
    if 5@ = SAMP.GetActorHandleByPlayerID(4@)
    jf continue
 
    6@ = SAMP.GetPlayerStruct(4@)
    0C0C: 6@ = struct 6@ offset 44 size 4
 
    0C0C: 7@ = struct 6@ offset 53 size 4
    0C0C: 8@ = struct 6@ offset 57 size 4
 
    0509: 9@ = distance_between_XY 0@ 1@ and_XY 7@ 8@
    if 9@ <= 3@
    jf continue
 
    30@ = true
    break
end
 
if 30@ == true
then 0AB2: 1 5@
end
 
0AB2: 1 -1

Example:
Код:
if 0AB1: @AnyNearPlayer 4 X 0@ Y 1@ Z 2@ distance 2.5 to 4@
then
    if 4@ <> -1
    then //
    end
end
0@ - Aim Pos(X)
1@ - Aim Pos(Y)
2@ - Aim Pos(Z)
2.5 - max. distance between 0@ 1@

return: 4@ - handle actor.

SAMPFUNCS: http://blasthack.net/threads/17/