damitz
Загрузка...
всем привет как делаf
Активный
- Тема Автор
- #1
Доброго времени суток пользователи Pawn-live
Это моя первая тема на данном форуме.
Сразу обозначу что не я первый пишу данную систему "PayDay".
Так почему же я решил внести изменения в данную систему? Ответ прост, прошлая система которую предоставил нам Romzes у меня просто не работает.
Виной тому послужило как я выяснил цикл
По этому решил создать первую тему именно с этой системой. Ну что же начнем...
В начало мода где находятся #include вставляем:
Спускаемся в public OnGameModeInit() и вставляем следующие:
Следом идем к forward желательно определить место где будут находиться все forward и вставляем:
Идем в конец когда и вставляем:
Поднимаемся к нашим forward и вставляем:
После чего ищем где находится enum с переменными для аккаунтов и вставляем следующие:
Далее в конец кода:
Это моя первая тема на данном форуме.
Сразу обозначу что не я первый пишу данную систему "PayDay".
Так почему же я решил внести изменения в данную систему? Ответ прост, прошлая система которую предоставил нам Romzes у меня просто не работает.
Виной тому послужило как я выяснил цикл
Pawn:
for(new i=0; i<MAX_PLAYERS; i++)
По этому решил создать первую тему именно с этой системой. Ну что же начнем...
В начало мода где находятся #include вставляем:
Код:
#include <foreach>
Спускаемся в public OnGameModeInit() и вставляем следующие:
Код:
SetTimer("UpDateTimer", 1000*60, 1); //Таймер который будет включаться каждый час.
Следом идем к forward желательно определить место где будут находиться все forward и вставляем:
Код:
forward UpDateTimer(); // Новый Public который будет вызываться каждый час.
Идем в конец когда и вставляем:
Код:
public UpDateTimer()
{
new hour, minute, second;
gettime(hour, minute, second);
if(minute == 0) // Зарплата выдается каждый час в 0 минут.
{
PayDay(); // Вызываем паблик с зарплатой.
}
return true;
}
Поднимаемся к нашим forward и вставляем:
Код:
forward PayDay();
После чего ищем где находится enum с переменными для аккаунтов и вставляем следующие:
Код:
enum player // У вас может называться по другому
{
pLevel,
pExpe
}
Далее в конец кода:
Pawn:
public PayDay()
{
foreach(new i : Player)// Цыкл проверяет всех игроков
{
new nextlevel = pInfo[i][pLevel]*6; // определяет следующий уровень
new exp=nextlevel-pInfo[i][pExpe]; // определяет сколько опыта осталось до получение следующего уровня.
pInfo[i][pExpe]++;
SavePlayer(i,"Expe",pInfo[i][pExpe], "d"); // сохраняет количество опыта в БД.
if(pInfo[i][pExpe] > nextlevel) // pInfo у вас может быть другим
{
pInfo[i][pLevel]+=1;
pInfo[i][pExpe]=0;
SavePlayer(i,"Expe",pInfo[i][pExpe], "d");
SavePlayer(i, "Level", pInfo[i][pLevel], "d"); // сохраняет уровень в БД
SCM(i,-1,SERVER"Ваш уровень повышен!");
}
if(pInfo[i][pLevel] <= 3) // pInfo у вас может быть другим
{
new str[110];
SCM(i,-1,"======================== {00C0FF}PayDay{FFFFFF} ===========================");
format(str,sizeof(str),"Ваш уровень:{00C0FF}%d{FFFFFF}",pInfo[i][pLevel]);
SCM(i,-1,str);
format(str,sizeof(str),"Опыт:{00C0FF}%d{FFFFFF}",pInfo[i][pExpe]);
SCM(i,-1,str);
format(str,sizeof(str),"До повышение уровня осталось {00C0FF}%d{FFFFFF} часов",exp);
SCM(i,-1,str);
}
}
return 1;
}