Sign in to follow this  
Followers 0
MuhammadPawn

Работа с памятью сервера

5 posts in this topic

Всем привет, в этой теме я буду вести уроки, по работе с памятью сервера sa-mp и cr-mp
И так, я покажу примеры работы с адресами, а также отдельно напишу их.
Для того, чтобы работать с памятью сервера, нам потребуется плагин, для работы с памятью.
Я выбрал Memory access plugin (Клик)(Link)
Но, также подойдёт и y_malloc и ему подобные, что выбрать, решать вам!
Итак, начнём.

 

0x0018FE50 = Кол-во слотов (DWORD)
0x004E2438 = Chatlogging (BYTE)
0x004E2430 = Stream Rate (DWORD)
0x004E242C = Stream Distance (FLOAT)
0x004E2424 = Weapon Rate (DWORD)
0x004E2420 = InCar Rate (DWORD)
0x004E241C = Onfoot Rate (DWORD)
0x0018FE54 = Порт (DWORD) Только для чтения

 

new Pointer:p = Pointer:0x0018FE50; //Установим указатель на адрес памяти, например, в OnGameModeInit.
MEM::set_val(p, _, 100); //Установим число в адрес памяти, т.е установим кол-во слотов на 100
p = Pointer:NULL; //Уберём указатель на адрес памяти.

Важно!
1. GetMaxPlayers() также примет значение 100.
2. Плагин sscanf и некоторые другие будут брать кол-во слотов из файла, по-этому адрес sscanf.DLL+A39C будет равен не 100, а тому числу, которое имеет maxplayers в server.cfg, однако, его также можно изменить. Хотел бы отметить, что указатель на адрес sscanf.DLL+A39C я искать не буду.

new Pointer:sr = Pointer:0x004E2430; //Установим указатель на адрес памяти, например, в OnGameModeInit.
printf ("%d", MEM::get_val(sr)); //Узнаем текущий Stream Rate

new Pointer:sd = Pointer:0x004E242C; //Установим указатель на адрес памяти, например, в OnGameModeInit.
MEM::set_val(sd, _, 800.0); //Установим Stream Distance на 800.0

 

Остальные - аналогично

Тема будет обновляться, если это, конечно, потребуется читателям. Жду предложения, по поводу того, какие адреса памяти нужно найти.
Btw, с каждой новой версией сервера могут обновляться и адреса памяти, будьте внимательны.
Адреса памяти представлены для версии сервера Windows 0.3z (NOT R-2,3,4)

 

Автор: Пельмень

Edited by MuhammadPawn

Share this post


Link to post
Share on other sites

@Daniil Roslyakov нет, хостинг на скока я знаю блокирует слоты (то есть если заказа 50 то выше не возьмёш токо если ниже)

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Уроки"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Уроки", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Kutuzov
      By Kutuzov
      Всем привет, хотелось бы спросить у тех, кто разбирается в PluginSDK.
      Какие есть источники, руководства, документации о PluginSDK?
      Я пока что ничего нормального не нахожу.
      Заранее спасибо 
    • Danila_Fazz
      By Danila_Fazz
      Добрый день вписал систему 3д номеров все запустилось, но когда создаю номера пишет что они записаны в бд но они не записываются в бд  когда еще раз отпровляю команду пишет опять что все записано, но не чо не записываеться когда компелирую мод показывает только варнинги 202 на разные строки
       
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23135) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23162) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23199) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23288) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23335) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23388) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23397) : warning 202: number of arguments does not match definition
      Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase
      Header size:          18160 bytes
      Code size:          8734120 bytes
      Data size:          3641416 bytes
      Stack/heap size:      16384 bytes; estimated max. usage=6660 cells (26640 bytes)
      Total requirements:12410080 bytes
      7 Warnings.
      на каждой этой страке находиться   if(IsPlayerAdmin(playerid, 7)) return 1;