Исходник Uganda GGame

Статус
В этой теме нельзя размещать новые ответы.

romanblinov2013

RB_PRO
Автор темы
Проверенный
212
196
Первые наработки.
На фрапсе всё есть.
P.S. Знаю, что этот проект обречёт пойти в пи@ду, но мы крестьяне народ работящий и развлекаем себя, как можем.
Для любителей быдлокода
CLEO:
{$CLEO}
0000: NOP
repeat
wait 100
until samp.Available()
0AF0: 1@ = get_int_from_ini_file "cleo\GGameUganda\config.ini" section "POSICION" key "Xpos" // Загрузка из ini-файла X координаты стандартного поля, в котором будет бегать actor
0AF0: 2@ = get_int_from_ini_file "cleo\GGameUganda\config.ini" section "POSICION" key "Ypos" // Загрузка из ini-файла Y координаты стандартного поля, в котором будет бегать actor
0B71: render 3@ = load_texture_from_file "cleo\GGameUganda\actor.png" // Загрузка actor(Угандёног)
    0085: 11@ = 1@ // (int) Последующие 3 строки размещают actor на поле
    0085: 12@ = 2@ // (int)
    12@ += 375
0B34: samp register_client_command "ggame.u" to_label @cmd // Загрузка команды
0B34: samp register_client_command "ggame.uset" to_label @cmd1 // Загрузка команды
while true // Осовной цикл, в котором происходит весь секс
wait 0
    IF 31@ == 1 // Сама игра
    THEN 0B8D: samp set_cursor_mode 2
        REPEAT
        WAIT 0
            IF 0B8C:    samp is_cursor_active
            THEN
            0B5E: get_cursor_pos 21@ 22@ // Получение координат курсора для рендеринга line
            0B69: render draw_box_pos 1@ 2@ size 600 400 color 0x898787FF // Рендеринг поля
            0B73: render draw_texture 3@ pos 11@ 12@ size 30 20 rotation 0.0 color -1 // Рендер моего actor
            0085: 5@ = 1@ // (int)
            5@ += 570
                if and
                001D:   11@ > 1@  // (int)
                0AB0:   key_pressed 65
                then
                11@ -= 4
                end
                if and
                801D:   11@ > 5@  // (int)
                0AB0:   key_pressed 68
                then
                11@ += 4
                end
                if and
                801D:   2@ > 12@  // (int)
                0AB0:   key_pressed 87
                then
                12@ -= 4
                end
            
                0085: 7@ = 2@ // (int)
                7@ += 375
            
                if and
                001D:   7@ > 12@
                0AB0:   key_pressed 83
                then
                12@ += 4
                end        
                
                if 0AB0:   key_pressed 1
                then
                11@ += 15
                12@ += 10
                0B68: render draw_line_point1 11@ 12@ point2 21@ 22@ width 1 color 0xFF00FF00 // рисуется красная линия. Подобие выстрела.
                11@ -= 15
                12@ -= 10
                0085: 15@ = 9@
                0085: 16@ = 10@
                15@ += 30
                16@ += 20
                    if and
                    001D:   21@ > 9@  // (int)
                    001D:   22@ > 10@  // (int)
                    801D:   21@ > 15@  // (int)
                    801D:   22@ > 16@  // (int)
                    then
                    0AF8: samp add_message_to_chat "Убил" color 0x00FF00
                    8@ = 81 // Искуственное появление нового врага после убийства старого
                    4@ += 1
                    end
                end
        
                if 0019:   8@ > 80
                then
                0AC9: free_allocated_memory 19@
                0AC9: free_allocated_memory 20@
                0AC9: free_allocated_memory 9@
                0AC9: free_allocated_memory 10@
                0AC9: free_allocated_memory 8@
                0209: 19@ = random_int_in_ranges 10 550 // Чтобы он появлялся рандомно
                0209: 20@ = random_int_in_ranges 10 360 // Чтобы он появлялся рандомно
                0085: 9@ = 1@
                0085: 10@ = 2@
                005A: 9@ += 19@  // (int)
                005A: 10@ += 20@  // (int)
                8@ = 0
                end
            
                if 8@ == 0
                then
                    0209: 27@ = random_int_in_ranges -30 30
                    0209: 28@ = random_int_in_ranges -30 30
                    0085: 23@ = 9@
                    0085: 24@ = 10@                
                end
            0B73: render draw_texture 3@ pos 9@ 10@ size 30 20 rotation 0.0 color -1 // рендеринг врага
                if 0019:   8@ > 50
                then
                005A: 11@ += 27@  // (int)
                005A: 12@ += 28@  // (int)         
                23@ += 15
                24@ += 10        
                0B68: render draw_line_point1 23@ 24@ point2 11@ 12@ width 1 color 0xFFFF0000
                23@ -= 15
                24@ -= 10
                0062: 11@ -= 27@  // (int)
                0062: 12@ -= 28@  // (int)                  
                end

      
            0085: 6@ = 11@
            0085: 13@ = 12@
            0085: 18@ = 11@
            0085: 19@ = 12@
            6@ += 30
            13@ += 20           
            005A: 11@ += 27@  // (int)
            005A: 12@ += 28@  // (int)
        
                if and
                001D:   11@ > 18@  // (int)
                001D:   12@ > 19@  // (int)
                801D:   11@ > 6@  // (int)
                801D:   12@ > 13@  // (int)
                then
                0AF8: samp add_message_to_chat "Вмер" color 0xFF0000
                8@ = 81 // Искуственное появление нового врага после убийства старого
                14@ += 1
                end
            0062: 11@ -= 27@  // (int)
            0062: 12@ -= 28@  // (int)
                
                
            8@ += 1
            ELSE 0B8D: samp set_cursor_mode 2
            END
        UNTIL 31@ == 0
    END
 
 
   IF 30@ == 1 // настройки
    THEN 0B8D: samp set_cursor_mode 2
        REPEAT
        WAIT 0
            IF 0B8C:    samp is_cursor_active
            THEN
            0B5E: get_cursor_pos 1@ 2@
            0B69: render draw_box_pos 1@ 2@ size 600 400 color 0xFFFFFFFF
                if 0AB0:   key_pressed 1
                then
                0AF8: samp add_message_to_chat "[ GGame ]: Вы установили новые настройки.{3399FF} X -{ff33ff} %d{3399FF}. Y -{ff33ff} %d{3399FF}." color 0x0066CC 1@ 2@
                0B8D: samp set_cursor_mode 0
                30@ = 0
                break
                end
            ELSE 0B8D: samp set_cursor_mode 2
            END
        UNTIL 30@ == 0
    0B8D: samp set_cursor_mode 3
    31@ = 0
    // cleo\GGameUganda
    0AF1: write_int 1@ to_ini_file "cleo\GGameUganda\config.ini" section "POSICION" key "Xpos"
    0AF1: write_int 2@ to_ini_file "cleo\GGameUganda\config.ini" section "POSICION" key "Ypos"
    0085: 11@ = 1@ // (int)
    0085: 12@ = 2@ // (int)
    12@ += 375
    END    
 
 
 
 
end

:cmd // Активация для самой игры
0B12: 31@ = 31@ XOR 1
30@ = 0 // Выключение настроек
if 31@ == 1
then
0ACD: show_text_highpriority "~g~GGame is ~r~ON~n~~w~Author:~p~ ~>~RB_PRO~<~" time 3000
0B8D: samp set_cursor_mode 2
4@ = 0
14@ = 0
else
0ACD: show_text_highpriority "~g~GGame is ~r~OFF~n~~w~Author:~p~ ~>~RB_PRO~<~" time 3000
0B8D: samp set_cursor_mode 4 // Тут нужно дорабоать, чтобы курсор выключался, мышка включалась, как и клавиатура
0AF8: samp add_message_to_chat "[ Uganda ]: {00FF00}%d{FFFFFF}:{FF0000}%d" color -1 4@ 14@
    if 001D:   4@ > 14@  // (int)
    then
    0AF8: samp add_message_to_chat "[ Uganda ]: {00FF00}Ты выйграл!" color -1
    else
    0AF8: samp add_message_to_chat "[ Uganda ]: {FF0000}Ты проиграл!" color -1
    end
end
samp.CmdRet()

:cmd1 // Активация для настроек
0B12: 30@ = 30@ XOR 1
31@ = 0 // Выключение игры
if 30@ == 1
then
0ACD: show_text_highpriority "~g~GGame. Setting position is ~r~ON~n~~w~Author:~p~ ~>~RB_PRO~<~" time 3000
else
0ACD: show_text_highpriority "~g~GGame. Setting position is ~r~OFF~n~~w~Author:~p~ ~>~RB_PRO~<~" time 3000
end
samp.CmdRet()

 

Вложения

  • UgandaGGame.rar
    133.4 KB · Просмотры: 4
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.