yuras0401
Умник
Всем привет. Немного о системе. Сделал её я парился гдето 2-3 дня, идея с приложений ВК, бонус на 5 дней если допустим игрок не зашел один день на сервер то ему прийдеться начинать все с начала.. Что ж приступим..
ко всем new
в enum pInfo
потом в OnPlayerConnect
B OnPlayerLogin
потом в OnPlayerRegister
теперь в OnPlayerUpdate
А теперь приступим к созданию паблика с бонусом
Далее в самое начало OnPlayerSpawn
Далее паблик обнуления и проверки зашел ли игрок на сервер
Ну вот и всё.. Кому помог или понравилась система или задумка ставте +. Попрошу модеров и админов не удалять тему.
ко всем new
PHP:
new prower[MAX_PLAYERS];
PHP:
pBonusDay,
pPoluchil,
pProigral,
PHP:
PlayerInfo[playerid][pProigral]=0;
PlayerInfo[playerid][pBonusDay]=0;
PlayerInfo[playerid][pPoluchil]=0;
PHP:
iniGetInt(File,"BonusDay",PlayerInfo[playerid][pBonusDay]);
iniGetInt(File,"Poluchil",PlayerInfo[playerid][pPoluchil]);
iniGetInt(File,"Proigral",PlayerInfo[playerid][pProigral]);
PHP:
iniSetInt(File,"BonusDay",PlayerInfo[playerid][pBonusDay]);
iniSetInt(File,"Poluchil",PlayerInfo[playerid][pPoluchil]);
iniSetInt(File,"Proigral",PlayerInfo[playerid][pProigral]);
PHP:
iniSetInt(File,"BonusDay",PlayerInfo[playerid][pBonusDay]);
iniSetInt(File,"Poluchil",PlayerInfo[playerid][pPoluchil]);
iniSetInt(File,"Proigral",PlayerInfo[playerid][pProigral]);
PHP:
forward Bonus(playerid);
public Bonus(playerid)
{
if(PlayerInfo[playerid][pProigral]==0)
{
if(PlayerInfo[playerid][pPoluchil]==0)
{
if(PlayerInfo[playerid][pBonusDay]==0)
{
GivePlayerMoney(playerid,500);//Даём деньги игроку (ставьте своё кол-во)
SCM(playerid,COLOR_LIGHTGREEN,"Вы получили бонус в виде 500 $. Приходите завтра чтобы получить лучшый бонус.{FFFFFF} День 1/5");
PlayerInfo[playerid][pBonusDay]=1;
PlayerInfo[playerid][pPoluchil]=1; // это значит что игрок получил бонус
new hour,minut,sec;
gettime(hour,minut,sec);//узнаём время
new wremya = 23 - hour;//отнимаем 23 от часа который у игрока сейчас
SetTimer("Obnul",wremya*60*60*1000,false);//запускаем таймер который обнулит переменную получения бонуса
new mtr[256];
format(mtr,256,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SCM(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
if(PlayerInfo[playerid][pBonusDay]==1)
{
GivePlayerMoney(playerid,1000);//Даём деньги игроку (ставьте своё кол-во)
SCM(playerid,COLOR_LIGHTGREEN,"Вы получили бонус в виде 1000 $, +1 EXP. Приходите завтра чтобы получить лучшый бонус.{FFFFFF} День 2/5");
PlayerInfo[playerid][pBonusDay]=2;
PlayerInfo[playerid][pPoluchil]=1;
PlayerInfo[playerid][pExp]+=1;//Даём игроку Ехр(ставьте своё кол-во)
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[256];
format(mtr,256,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SCM(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
if(PlayerInfo[playerid][pBonusDay]==2)
{
GivePlayerMoney(playerid,2000);//Даём деньги игроку (ставьте своё кол-во)
SCM(playerid,COLOR_LIGHTGREEN,"Вы получили бонус в виде 2000 $. Приходите завтра чтобы получить лучшый бонус.{FFFFFF} День 3/5");
PlayerInfo[playerid][pBonusDay]=3;
PlayerInfo[playerid][pPoluchil]=1;
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[256];
format(mtr,256,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SCM(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
if(PlayerInfo[playerid][pBonusDay]==3)
{
GivePlayerMoney(playerid,4000);//Даём деньги игроку (ставьте своё кол-во)
SCM(playerid,COLOR_LIGHTGREEN,"Вы получили бонус в виде 4000 $. Приходите завтра чтобы получить лучшый бонус.{FFFFFF} День 4/5");
PlayerInfo[playerid][pBonusDay]=4;
PlayerInfo[playerid][pPoluchil]=1;
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[256];
format(mtr,256,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SCM(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
if(PlayerInfo[playerid][pBonusDay]==4)
{
GivePlayerMoney(playerid,6000);//Даём деньги игроку (ставьте своё кол-во)
PlayerInfo[playerid][pExp]+=1;//Даём игроку Ехр (ставьте своё кол-во)
SCM(playerid,COLOR_LIGHTGREEN,"Вы получили бонус в виде 6000 $, +1 EXP. Приходите завтра чтобы получить лучшый бонус.{FFFFFF} День 5/5");
PlayerInfo[playerid][pBonusDay]=0;
PlayerInfo[playerid][pPoluchil]=1;
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[256];
format(mtr,256,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SCM(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
}
}
else
{
if(PlayerInfo[playerid][pBonusDay]!=0)
{
SCM(playerid,COLOR_LIGHTGREEN,"Чтобы получать бонусы Вы должны играть каждый день. Начинайте с начала.");
PlayerInfo[playerid][pBonusDay]=0;
PlayerInfo[playerid][pPoluchil]=0;
if(PlayerInfo[playerid][pBonusDay]==0)
{
GivePlayerMoney(playerid,500);//Даём деньги игроку (ставьте своё кол-во)
SCM(playerid,COLOR_LIGHTGREEN,"Вы получили бонус в виде 500 $. Приходите завтра чтобы получить лучшый бонус.{FFFFFF} День 1/5");
PlayerInfo[playerid][pBonusDay]=1;
PlayerInfo[playerid][pPoluchil]=1;
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[256];
format(mtr,256,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SCM(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
}
}
return true;
}
PHP:
Bonus(playerid);// когда игрок заспавниться то мод запустит паблик с бонусом
PHP:
forward Obnul(i);
public Obnul(i)
{
PlayerInfo[i][pPoluchil]=0;//обнулили теперь игрок сможет получить бонус!!
SetTimer("Zawel",1000,true);
return true;
}
forward Zawel(i);
public Zawel(i)
{
prower[i]++;переменная которая будет считать кол-во раз загружения паблика
if(prower[i]==86400)//если игрок не зашел на сервер за это время (это колво секунд = 24 часам)
{
PlayerInfo[i][pProigral]=1; // устанавливаем игроку что он проиграл и ему прийдёться начать все с начала )
}
if(IsPlayerConnected(i)) а если подключился
{
prower[i]=0; // обнуляем и продолжаем давать бонусы игроку
}
return true;
}
Ну вот и всё.. Кому помог или понравилась система или задумка ставте +. Попрошу модеров и админов не удалять тему.
Последнее редактирование:
