Опять лазил по форумам и надкнулся на такую систему!
Система лайков сервера
+ Лайки в диалоге.
+ Если игрок повторно ставит лайк, то он уберётся ( как 'Вконтакте' )
+ Сохранение лайков.
+ Звук при добавлении/убирании лайка.
Ко всем new добавляем наши:
new LIKES;
new boollayerLiked[MAX_PLAYERS];
В OnGameModeInit добавляем:
if(fexist("likes.txt"))
{
new string[32];
new File:hFile = fopen("likes.txt", io_read);
fread(hFile, string);
LIKES = strval(string);
fclose(hFile);
}
В OnPlayerCommandText добавляем команду:
if(!strcmp(cmdtext, "/like", true))
{
new string[256];
format(string, sizeof(string), "{FFFFFF}Этот сервер понравился{E7F2B1} %d {FFFFFF}игрокам.", LIKES);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, " ", string, "Лайкнуть", "Закрыть"); // Если диалог 1 есть то делаем свои цифры.
}
В OnPlayerConnect:
PlayerLiked[playerid] = false;
В OnDialogResponse добавляем сам диалог
if(dialogid == 1 && response)
{
new string[256];
LIKES = (PlayerLiked[0]) ? (LIKES-1) : (LIKES+1);
if(!PlayerLiked[playerid]) format(string, sizeof(string), "{FFFFFF}Этот сервер понравился{E7F2B1} %d {FFFFFF}игрокам.\n{B1E2F2}Like добавлен", LIKES);
else format(string, sizeof(string), "{FFFFFF}Этот сервер понравился{E7F2B1} %d {FFFFFF}игрокам.\n{B1E2F2}Like убран", LIKES);
ShowPlayerDialog(playerid, 1, 0, " ", string, "Лайкнуть", "Закрыть");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
PlayerLiked[playerid] = !PlayerLiked[playerid];
}
В OnGameModeExit вот это:
if(fexist("likes.txt"))
{
new string[32];
new File:hFile = fopen("likes.txt", io_write);
format(string, sizeof(string), "%d", LIKES);
fwrite(hFile, string);
fclose(hFile);
}
Вот и всё. И создаём файл папке scriptfiles с названием likes.txt.
Автор: < eQu1p >
Система лайков сервера
+ Лайки в диалоге.
+ Если игрок повторно ставит лайк, то он уберётся ( как 'Вконтакте' )
+ Сохранение лайков.
+ Звук при добавлении/убирании лайка.
Ко всем new добавляем наши:
new LIKES;
new boollayerLiked[MAX_PLAYERS];
В OnGameModeInit добавляем:
if(fexist("likes.txt"))
{
new string[32];
new File:hFile = fopen("likes.txt", io_read);
fread(hFile, string);
LIKES = strval(string);
fclose(hFile);
}
В OnPlayerCommandText добавляем команду:
if(!strcmp(cmdtext, "/like", true))
{
new string[256];
format(string, sizeof(string), "{FFFFFF}Этот сервер понравился{E7F2B1} %d {FFFFFF}игрокам.", LIKES);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, " ", string, "Лайкнуть", "Закрыть"); // Если диалог 1 есть то делаем свои цифры.
}
В OnPlayerConnect:
PlayerLiked[playerid] = false;
В OnDialogResponse добавляем сам диалог
if(dialogid == 1 && response)
{
new string[256];
LIKES = (PlayerLiked[0]) ? (LIKES-1) : (LIKES+1);
if(!PlayerLiked[playerid]) format(string, sizeof(string), "{FFFFFF}Этот сервер понравился{E7F2B1} %d {FFFFFF}игрокам.\n{B1E2F2}Like добавлен", LIKES);
else format(string, sizeof(string), "{FFFFFF}Этот сервер понравился{E7F2B1} %d {FFFFFF}игрокам.\n{B1E2F2}Like убран", LIKES);
ShowPlayerDialog(playerid, 1, 0, " ", string, "Лайкнуть", "Закрыть");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
PlayerLiked[playerid] = !PlayerLiked[playerid];
}
В OnGameModeExit вот это:
if(fexist("likes.txt"))
{
new string[32];
new File:hFile = fopen("likes.txt", io_write);
format(string, sizeof(string), "%d", LIKES);
fwrite(hFile, string);
fclose(hFile);
}
Вот и всё. И создаём файл папке scriptfiles с названием likes.txt.
Автор: < eQu1p >
Последнее редактирование модератором: