Пользователь
- Регистрация
- 11 Май 2025
- Сообщения
- 18
- Автор темы
- #1
Писал код два дня , думал как оформлять, сам код также адаптирован под DA:MP.
#include <a_samp>
#include <sscanf2> // Требуется плагин sscanf
// Предположим, что у нас есть структура данных игроков
enum PlayerData {
pName[MAX_PLAYER_NAME],
pLevel,
pMoney,
pKills,
pDeaths
};
new PlayerInfo[MAX_PLAYERS][PlayerData];
public OnPlayerConnect(playerid)
{
// Загрузка данных игрока (заглушка)
GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pMoney] = 0;
PlayerInfo[playerid][pKills] = 0;
PlayerInfo[playerid][pDeaths] = 0;
return 1;
}
CMD
rofile(playerid, params[])
{
new targetid, string[128], targetName[MAX_PLAYER_NAME];
if(sscanf(params, "u", targetid))
return SendClientMessage(playerid, 0xFF0000FF, "Использование: /profile [ID/имя]");
if(!IsPlayerConnected(targetid))
return SendClientMessage(playerid, 0xFF0000FF, "Игрок не найден!");
GetPlayerName(targetid, targetName, sizeof(targetName));
// Формируем информацию
format(string, sizeof(string), "Профиль игрока %s (ID: %d)", targetName, targetid);
SendClientMessage(playerid, 0x33CCFFAA, string);
format(string, sizeof(string), "Уровень: %d | Деньги: $%d",
PlayerInfo[targetid][pLevel],
PlayerInfo[targetid][pMoney]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
format(string, sizeof(string), "Убийства: %d | Смерти: %d",
PlayerInfo[targetid][pKills],
PlayerInfo[targetid][pDeaths]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
return 1;
}
Можно еще добавить проверку афк статусов и многое другое , как будет время продолжу писать эту систему , она показалась мне довольно интересной.
#include <a_samp>
#include <sscanf2> // Требуется плагин sscanf
// Предположим, что у нас есть структура данных игроков
enum PlayerData {
pName[MAX_PLAYER_NAME],
pLevel,
pMoney,
pKills,
pDeaths
};
new PlayerInfo[MAX_PLAYERS][PlayerData];
public OnPlayerConnect(playerid)
{
// Загрузка данных игрока (заглушка)
GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pMoney] = 0;
PlayerInfo[playerid][pKills] = 0;
PlayerInfo[playerid][pDeaths] = 0;
return 1;
}
CMD
{
new targetid, string[128], targetName[MAX_PLAYER_NAME];
if(sscanf(params, "u", targetid))
return SendClientMessage(playerid, 0xFF0000FF, "Использование: /profile [ID/имя]");
if(!IsPlayerConnected(targetid))
return SendClientMessage(playerid, 0xFF0000FF, "Игрок не найден!");
GetPlayerName(targetid, targetName, sizeof(targetName));
// Формируем информацию
format(string, sizeof(string), "Профиль игрока %s (ID: %d)", targetName, targetid);
SendClientMessage(playerid, 0x33CCFFAA, string);
format(string, sizeof(string), "Уровень: %d | Деньги: $%d",
PlayerInfo[targetid][pLevel],
PlayerInfo[targetid][pMoney]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
format(string, sizeof(string), "Убийства: %d | Смерти: %d",
PlayerInfo[targetid][pKills],
PlayerInfo[targetid][pDeaths]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
return 1;
}
Можно еще добавить проверку афк статусов и многое другое , как будет время продолжу писать эту систему , она показалась мне довольно интересной.