C
compan
Гость
Гость
Без комментариев. Код только выровнить.
1. В начале мода ко всем new добавляем:
new psleep[MAX_PLAYERS]; // переменная отвечающая за сессию игрока
2. Создаём forward для будующего паблика (требует таймер):
forward UpdateSleep(playerid); // наш форвард (для паблика)
3. Создаём наш public, вне других public'ов:
public UpdateSleep(playerid) { // паблик упдейта потребностей
if(psleep[playerid] == 0) { psleep[playerid] = 1; return 1; }
if(psleep[playerid] == 1) { psleep[playerid] = 2; return 1; }
if(psleep[playerid] == 2) { psleep[playerid] = 3; return 1; }
if(psleep[playerid] == 3) { psleep[playerid] = 4; return 1; }
if(psleep[playerid] == 4) { psleep[playerid] = 5; return 1; }
if(psleep[playerid] == 5) { psleep[playerid] = 6; return 1; }
if(psleep[playerid] == 6) { psleep[playerid] = 7; return 1; }
if(psleep[playerid] == 7) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 8; return 1; }
if(psleep[playerid] == 8) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 9; return 1; }
if(psleep[playerid] == 9) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 10; return 1; }
if(psleep[playerid] == 10) { SendClientMessage(playerid, -1, "От усталости вы упали и уснули."); psleep[playerid] = 0; return 1; }
return 1; }
4. В public OnGameModeInit вставляем наш таймер:
SetTimer("UpdateSleep",300000,1); // Каждые пять минут добавляет 1 пункт усталости
5. Создаём места для сна
if (strcmp(cmd, "/sleep", true) == 0) {
if (!PlayerToPoint(3.0, playerid, X,Y,Z )) { // вместо X,Y,Z вставляем координаты "кровати"
SendClientMessage(playerid,-1,"Вы не на кровати!");
return 1; }
if (psleep[playerid] <= 3) { // условие, если кол-во очков сна меньше или равно 3, то игрок не будет спать!
SendClientMessage(playerid,-1,"Вы недавно спали, приходите позже!");
return 1; }
SendClientMessage(playerid,-1,"Вы поспали Можете идти");
psleep[playerid] = 0; // сброс кол-ва очков усталости
return 1; }
Автор: SanStar.
1. В начале мода ко всем new добавляем:
new psleep[MAX_PLAYERS]; // переменная отвечающая за сессию игрока
2. Создаём forward для будующего паблика (требует таймер):
forward UpdateSleep(playerid); // наш форвард (для паблика)
3. Создаём наш public, вне других public'ов:
public UpdateSleep(playerid) { // паблик упдейта потребностей
if(psleep[playerid] == 0) { psleep[playerid] = 1; return 1; }
if(psleep[playerid] == 1) { psleep[playerid] = 2; return 1; }
if(psleep[playerid] == 2) { psleep[playerid] = 3; return 1; }
if(psleep[playerid] == 3) { psleep[playerid] = 4; return 1; }
if(psleep[playerid] == 4) { psleep[playerid] = 5; return 1; }
if(psleep[playerid] == 5) { psleep[playerid] = 6; return 1; }
if(psleep[playerid] == 6) { psleep[playerid] = 7; return 1; }
if(psleep[playerid] == 7) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 8; return 1; }
if(psleep[playerid] == 8) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 9; return 1; }
if(psleep[playerid] == 9) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 10; return 1; }
if(psleep[playerid] == 10) { SendClientMessage(playerid, -1, "От усталости вы упали и уснули."); psleep[playerid] = 0; return 1; }
return 1; }
4. В public OnGameModeInit вставляем наш таймер:
SetTimer("UpdateSleep",300000,1); // Каждые пять минут добавляет 1 пункт усталости
5. Создаём места для сна
if (strcmp(cmd, "/sleep", true) == 0) {
if (!PlayerToPoint(3.0, playerid, X,Y,Z )) { // вместо X,Y,Z вставляем координаты "кровати"
SendClientMessage(playerid,-1,"Вы не на кровати!");
return 1; }
if (psleep[playerid] <= 3) { // условие, если кол-во очков сна меньше или равно 3, то игрок не будет спать!
SendClientMessage(playerid,-1,"Вы недавно спали, приходите позже!");
return 1; }
SendClientMessage(playerid,-1,"Вы поспали Можете идти");
psleep[playerid] = 0; // сброс кол-ва очков усталости
return 1; }
Автор: SanStar.
Последнее редактирование: