Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/86: Рейтинг темы: голосов - 86, средняя оценка - 4.55
1 / 1 / 1
Регистрация: 19.04.2009
Сообщений: 150

Бот для WoW

10.11.2009, 15:53. Показов 16191. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот хочу бота написать для WoW кто может сказать че почитать что бы написать ? или еси у кого есть какие исходники выставите почитаю, мне самое основное
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2009, 15:53
Ответы с готовыми решениями:

Как написать бота для WoW
Здравствуйте. У меня вопрос в каком направлении размышлять при создании бота для WoW или Lineage 2 или просто обычной онлайн игры. ...

Программа-бот для онлайн игры WoW
Здравствуйте. Пишу программу-бота для онлайн игры (WoW) на C# используя библиотеку BlackMagic для считывания адресов памяти. Так как C# я...

Бот для онлайн игры (Wow, lineage, RF Online и т.д.)
Всем привет! Подскажите можно ли написать бота для онлайн игры в VB Net? Если да то можно ссылку на материал или напишите примерно как...

30
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
11.11.2009, 11:34
Ну, может есть и какие-нибудь исходники(Никогда не видел, потому что не искал).
А есть бесплатный сервак Mangos. Так вот ты можешь посмотреть его исходники, что там отправляется, что там принимается, как оно там работает. Как разберешься, так и пиши бота.
1
6 / 6 / 1
Регистрация: 29.09.2009
Сообщений: 91
12.11.2009, 09:16
Цитата Сообщение от Otaka Посмотреть сообщение
Ну, может есть и какие-нибудь исходники(Никогда не видел, потому что не искал).
А есть бесплатный сервак Mangos. Так вот ты можешь посмотреть его исходники, что там отправляется, что там принимается, как оно там работает. Как разберешься, так и пиши бота.
Что это за сервак Mangos какой у него адрес?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
12.11.2009, 10:24
Это программа, на какой комп его поставишь, такой адрес у него и будет. Хоть на свой комп ставь. Тогда адрес 127.0.0.1.
Официальный сайт http://github.com/mangos
Да и с помощью гуглинга ("Mangos") выдается очень много всего полезного(даже на русском).
0
Matumba40
20.11.2010, 17:53
На hadabuda.com есть несколько уроков по написанию бота для WOW на C++
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
20.11.2010, 18:56
получается так же можно и сделать что бы при нажатии кнопки деньги давались?
0
 Аватар для petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
21.11.2010, 00:05
Блин )) даже тут WoW меня нашел . Так как я истинный задрот wow ( в прошлом) то я такой фигней тоже занимался. Желание было большое . но его не было достаточно - знаний и информации не было достаточно. Единственное что получилось сделать это для пиратского сервера писал под своего мага ( одна кнопка) . Обычно на пиратке в то время мало что работало, а босы вообще стояли как истуканы. Нажимать 10 минут одну кнопку было влом. Через WinApi написал фигню которая раз в 2 секунды( при скорости каста в 1.8) нажимала определенную клавишу - которая была привязана к какому нибудь заклинанию. В итоге на таких эвентах я ставил чара - запускал свою корявую программу и смотрел фильм- при этом мой персонаж наносил урон .

Это всё было сказано для минимальной идеи : Можна чара поставить в людное место ( где мобов много )
и по таймеру делать через "таб" .. Типа нажал таб 2 секунды задержка, нажал выстрел/каст , дальше идет автоатака персонажа . Это всё - можна выполнять какое то время.

Это будет самое примитивное.. но оно будет работать. Обыкновенные нажатия и всё. ( конечное если в радиусе что то есть)

А вообще если память не изменяет. То бота для вов нету - либо он платный ( за который платить надо и неизвестно работает ли он ибо в основном люди для офф сервера ищут бота) либо делает какое то определенное действие. Самый распространненый это рыбалка. Найдешь исходники хоть на самый примитивный - получить много ответов.
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
21.11.2010, 00:20
Цитата Сообщение от ProstoMad Посмотреть сообщение
получается так же можно и сделать что бы при нажатии кнопки деньги давались?
Есть разные варианты, все зависит от сервера на котором играешь

Например у тебя 1000 хп, ты меняешь в клиенте значение (любым редактором памяти) на 1020 хп... у тебя (в твоем клиенте) будет отображаться 1020 но на сервере то ты значение не менял, и разумеется если тебе кто нибудь нанесет 10 урона, то сервер вернет значение не 1010 а 990

А чтоб давались деньги, то нужно найти "баг" - (недоработка\недостаточная проверка полученных данных) (самое частое это переполнение буфера) и уже зная баг можно что то подобное сделать

А бот - он просто эмулирует действия человека (по определенному сценарию)... выделяет моба, бьет его, собирает дроп итд


Например я писал бота для L2 (PVP server) магом, так вот чтоб заработать денег (игровых разумеется) я писал простенькую программку (тыкать 3 кнопки поочередно (для СХ это вампирка, ДаркВортекс и хурик - и маг как почти бессмертный, пока мп на скилы хватает), а когда кончалось мп, то пил ману) ставил на ночь, а утром много денег и всякого хлама
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
21.11.2010, 21:43
ну как нить сделать что бы я мог послать запрос, например о продаже шмотки вендеру, которой у меня нету. как нить это вообще возможно сделать?
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
22.11.2010, 06:37
Цитата Сообщение от ProstoMad Посмотреть сообщение
ну как нить сделать что бы я мог послать запрос, например о продаже шмотки вендеру, которой у меня нету. как нить это вообще возможно сделать?
это уже манипуляции с пакетами передаваемые от клиента серверу (опять же все зависит от сервера, можно авто-бан получить)

все твои шмотки\скилы\статистика все, абсолютно все на сервере хранится...

допустим у мы посылаем пакет на продажу (ну допустим щита\шмотки неважно чего) сервер этот пакет принимает... (этот пакет допустим содержит информацию продать 1 стрелу) сервер забирает у тебя стрелу и дает деньги ... НО! в момент когда он хочет забрать стрелу N_СТРЕЛ - 1 на сервере ошибка, так как у тебя этого нет! (но возможно что и проканает если сервер кривой то количество может уйти в минус (это если совсем кривой серв))


самое популярное это например продать что либо на сумму 2 147 483 648 так как восновном используется int 32 бита - это от "-2147483648" до "2147483647" (не буду дальше в подробности вдаваться)

например (int 32) если к 2147483647 приплюсовать 1 то будет "-2147483648"
или наоборот от "-2147483648" отнять еще единицу то будет +2147483647

C++
1
2
3
4
    int x = 2147483647;
    Edit1->Text = x + 1;
    BYTE y = 256;
    Edit2->Text = y + 1;
зы Сори за ошибки, уже скоро вставать а я и не ложился

Не по теме:


(я когдато давно играл на lineage.ru (щас уже абсолютно другим людям и сервер и хостинг принадлежит))
так вот там был баг (дюп) (смысол в том, что нужно было ухитрится открыть 3 окна обмена... положить в 1 окно N сумму во второе N сумму в 3 N сумму и несколько раз в третье окно добавить 1 монетку и удалить (МОИ_ДЕНЬГИ-(100+100+100)-1+1-1+1) что то такое получалось математически, часть "примера" выполнялась а часть нет и при Удалении 1 монетки сумма денег увеличивалась в 2 раз))


Не по теме:

прогуляйся на allcheats

0
 Аватар для Mrak19901124
47 / 12 / 4
Регистрация: 25.02.2010
Сообщений: 259
22.11.2010, 22:07
хм а как привязвть авто нажатие клавиш"проги" к определёному процесу тобиш клиенту.

Добавлено через 18 минут
Как предложил petruchodd, прогу имитацию клавиш написать просто главное потом не попалица

Добавлено через 48 минут
Вот пример по принципу имитацыи клавиш токочто написал проверил на PW запускаеш игру заходиш подходиш к куче мобов запускаеш прогу и включаеш окно игры прога нажимает "Таб"-переключение между целями потом n раз нажимает кнопку "1" у меня это в игре обычная атака потом n раз нажимает на "2" у меня это подобрать что выпало и так по кругу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
int r=0;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
keybd_event(VK_TAB, 0, 0 ,0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP,0);
Timer1->Enabled=false;
Timer2->Enabled=true;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
if (r<=10)
{
keybd_event('1', 0,0,0);
keybd_event('1', 0,KEYEVENTF_KEYUP,0);
r++;}
else
{Timer2->Enabled=false;
Timer3->Enabled=true;
r=0;}
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer3Timer(TObject *Sender)
{if (r<=4)
{keybd_event('2', 0,0,0);
keybd_event('2', 0,KEYEVENTF_KEYUP,0);
r++;}
else
{Timer3->Enabled=false;
Timer1->Enabled=true;
r=0;}
}
//---------------------------------------------------------------------------
Добавлено через 2 минуты
сразу отключить все три таймера
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
23.11.2010, 03:16
Ну чтож, тоже кое что выложу (сразу говорю - делал для себя и пары друзей на скорую руку)

l2_key_bind - делал под Lineage 2 но и для других игр подойдет (недоделанный, хотел хоткеи добавить но так и оставил проект незавершенным)
(он посылает нажатия клавиш непосредственно в окно по его handle (поэтому вложил spy++ просто чтоб узнать handle окна по быстрому)... например поставил кликер и свернул окно, а сам тем временем смотришь сериал - то есть не важно активное окно или нет)

samp_key_bind (San Andreas Multi Player) - че там интересного - это правая часть, там что то вроде запоминалки движений только вручную вводить... но криво....


вобщем вот... может кто что то новое и почерпнет для себя...
Вложения
Тип файла: zip l2_key_bind.zip (1.11 Мб, 108 просмотров)
Тип файла: zip samp_key_bind.zip (1.22 Мб, 76 просмотров)
0
 Аватар для Mrak19901124
47 / 12 / 4
Регистрация: 25.02.2010
Сообщений: 259
23.11.2010, 03:56
или я чегото не могу понять или чтото не так выводит ошибки

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
HWND StrHexToHWND(AnsiString s)
{
    HWND h = NULL;
    s = "0x" + s;
    h = (HWND)(StrToInt(s));
    return h;
}
//---------------------------------------------------------------------------
void ClickWindow(int but)
{
    HWND Handle = StrHexToHWND(Form1->Edit1->Text);
 
    if (IsWindow(Handle))
    {
        SendMessage(Handle, WM_KEYDOWN, but, NULL);
        SendMessage(Handle, WM_KEYUP, but, NULL);
    }
    else
    {
        Form1->Button2->Click();
        ShowMessage("Bad handle!");
    }
}
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
ClickWindow(VK_F1);
}
//---------------------------------------------------------------------------
[C++ Error] Unit1.cpp(15): E2108 Improper use of typedef 'HWND'
[C++ Error] Unit1.cpp(15): E2379 Statement missing ;
[C++ Error] Unit1.cpp(44): E2268 Call to undefined function 'ClickWindow'
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
23.11.2010, 04:03
37 или 38 строка лишняя
0
 Аватар для Mrak19901124
47 / 12 / 4
Регистрация: 25.02.2010
Сообщений: 259
23.11.2010, 04:04
увы нет (( они не лишние
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
23.11.2010, 04:17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
HWND StrHexToHWND(AnsiString s)
{
    HWND h = NULL;
    s = "0x" + s;
    h = (HWND)(StrToInt(s));
    return h;
}
//---------------------------------------------------------------------------
void ClickWindow(int but)
{
    HWND Handle = StrHexToHWND(Form1->Edit1->Text); // в edit1 Handle нужного окна
 
    if (IsWindow(Handle)) // существует ли окно с таким Handle
    {
        SendMessage(Handle, WM_KEYDOWN, but, NULL); // нажимаем
        SendMessage(Handle, WM_KEYUP, but, NULL); // отпускаем
        //или бывает что нужно не SendMessage
        //PostMessage(Handle, WM_KEYDOWN, but, NULL);
        //PostMessage(Handle, WM_KEYUP, but, NULL);
    }
    else
    {
        ShowMessage("Bad handle!");
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ClickWindow(VK_F1);
ClickWindow(0x5A); // это клавиша Z
}
//---------------------------------------------------------------------------
или же как с блокнотом... надо не основному окну посылать, а дочернему (в хендл Memo так сказать)
1
 Аватар для Mrak19901124
47 / 12 / 4
Регистрация: 25.02.2010
Сообщений: 259
23.11.2010, 04:33
есть розобралса спасиба

Добавлено через 13 минут
хм а как организовать нажатие сочитании клавиш??

я организовывал так в старом примере
C++
1
2
3
4
keybd_event(VK_MENU, 0, 0 ,0);
keybd_event('3', 0,0,0);
keybd_event('3', 0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP,0);
а через ClickWindow(); как?

Добавлено через 1 минуту
Таже? ClickWindow(VK_MENU);ClickWindow('3');
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
23.11.2010, 04:56
с сочетанием так и сделать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//---------------------------------------------------------------------------
void ClickWindowX(int but1, int but2)
{
    HWND Handle = (HWND)(StrToInt("0x" + Form1->Edit1->Text)); // в edit1 Handle нужного окна
 
    if (IsWindow(Handle)) // существует ли окно с таким Handle
    {
        SendMessage(Handle, WM_KEYDOWN, but1, NULL); // нажимаем 1
        SendMessage(Handle, WM_KEYDOWN, but2, NULL); // нажимаем 2
        SendMessage(Handle, WM_KEYUP, but1, NULL); // отпускаем 1
        SendMessage(Handle, WM_KEYUP, but2, NULL); // отпускаем 2
    }
    else
    {
        ShowMessage("Bad handle!");
    }
}
//---------------------------------------------------------------------------
//ClickWindowX(VK_MENU, '3');
0
 Аватар для Mrak19901124
47 / 12 / 4
Регистрация: 25.02.2010
Сообщений: 259
23.11.2010, 06:13
вот какая проблема прога работает но увы когда окно игры не активно она не работает (( но как токо становится активным окно игры она начинает работать (( в чём проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int r=0;
int e=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
HWND StrHexToHWND(AnsiString s)
{
    HWND h = NULL;
    s = "0x" + s;
    h = (HWND)(StrToInt(s));
    return h;
}
//---------------------------------------------------------------------------
void ClickWindow(int but)
{
    HWND Handle = StrHexToHWND(Form1->Edit1->Text); // в edit1 Handle нужного окна
 
    if (IsWindow(Handle)) // существует ли окно с таким Handle
    {
         SendMessage(Handle, WM_KEYDOWN, but, NULL);
         SendMessage(Handle, WM_KEYUP, but, NULL);
    }
    else
    {
        ShowMessage("Bad handle!");
    }
 
 
}
 
   void ClickWindowX(int but1, int but2)
{
    HWND Handle = StrHexToHWND(Form1->Edit1->Text); // в edit1 Handle нужного окна
 
    if (IsWindow(Handle)) // существует ли окно с таким Handle
    {
         SendMessage(Handle, WM_KEYDOWN, but1, NULL);
         SendMessage(Handle, WM_KEYDOWN, but2, NULL);
         SendMessage(Handle, WM_KEYUP, but1, NULL);
         SendMessage(Handle, WM_KEYUP, but2, NULL);
    }
    else
    {
        ShowMessage("Bad handle!");
    }
    }
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{ClickWindow(VK_TAB);  
 
Timer1->Enabled=false;
Timer2->Enabled=true;
e++;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
if (r<=20)
{
ClickWindowX(VK_MENU, '3');
if (r>=3){ClickWindow('1');}
r++;}
else
{Timer2->Enabled=false;
Timer3->Enabled=true;
r=0;
e++;}
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer3Timer(TObject *Sender)
{
if (r<=4)
{ClickWindow('2');
r++;}
else
{Timer3->Enabled=false;
Timer1->Enabled=true;
r=0;
e++;
if (e==12)
{ClickWindow('3');e=0;}
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Timer1->Enabled=false;
Timer2->Enabled=false;
Timer3->Enabled=false;
}
//---------------------------------------------------------------------------
0
 Аватар для petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
23.11.2010, 11:08
ну нада ж взять окно сначала с игрой. Я уже не помню как ... Мне очень тогда помогла в этом вопросе книга "С++ глазами хакера" там про такие функции WinApi очень хорошо было написано ( но мало )
Правда она для Visual Studio написана.. но оттуда можна вытянуть идейку фукнкции то одинаковые
книжка тутl
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2010, 11:08
Помогаю со студенческими работами здесь

Нужен комп для кодинга и игры wow ( и похожих на wow ) =)
Нужен комп в железе особо не секу =) Для игры в Wow и подобные игры ! Для работы в c++ openGl , работы с графикой ( хобби такие ) ...

Сайт для WoW
Давно занимаюсь версткой, ковыряю бывает и php. Вопрос возник вчера, сижу я значит в блокнотике и настраиваю файл config.php для сервера...

ПК для WoW и интернетов
Супруга любит играть в WoW, по-быстрому накидал железок, по-идее должно хватить, но я особо не присматривался. Потянет-то потянет, чё можно...

Создание сервера для WoW 4.0.x
Доброго времени суток форумчане, подскажите мне каким образом можно запустить свой сервер World of Warcraft: Cataclysm? Версия клиента...

Где найти Garena для WoW?
помогите найти Garena а то скачиваю она обновляется и все и не языка русского не wow3 где скачать норм клиент??как раньше был с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru