Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Мануал] Система зарплаты

Статус
В этой теме нельзя размещать новые ответы.

fReedom maN`

Умник
Решил сделать [Мануал], по созданию системы Зарплаты, немного схожей, как на Samp-Rp. И так, приступим:
Ко всем forward
PHP:
forward Zarplata();
Ко всем new
PHP:
new ZarplataTimerEx[MAX_PLAYERS];
В public OnPlayerDisconnect(playerid, reason)
PHP:
KillTimer(ZarplataTimerEx[playerid]);
В любое место, у меня стоит перед public Fresh()
PHP:
public Zarplata()
{
	foreach(Player, i)
	{
		if(IsPlayerConnected(i))
		{
		    if(IsACop(i) || IsAArm(i) || IsAMayor(i) || IsAMedic(i) || IsALicenser(i)) { PlayerInfo[i][pZP] += 1; }
		}
	}
	return true;
}
Ко всем таймерам добавляем
PHP:
SetTimer("Zarplata", 120000, true);// начисление каждые 2 минуты
В enum pInfo
PHP:
pZP,
В public OnPlayerConnect
PHP:
PlayerInfo[playerid][pZP] = 0;
В public payday заменяем выдачу ЗП на мою
PHP:
new ZP = PlayerInfo[i][pZP];
				switch(PlayerInfo[i][pMember])
				{
				case 1,10,21:
					{
						switch(PlayerInfo[i][pRank])
						{
						case 0:{PlayerInfo[i][pPayCheck] += 0;}
						case 1:{PlayerInfo[i][pPayCheck] += ZP*250;}
						case 2:{PlayerInfo[i][pPayCheck] += ZP*300;}
						case 3:{PlayerInfo[i][pPayCheck] += ZP*400;}
						case 4:{PlayerInfo[i][pPayCheck] += ZP*450;}
						case 5:{PlayerInfo[i][pPayCheck] += ZP*500;}
						case 6:{PlayerInfo[i][pPayCheck] += ZP*550;}
						case 7:{PlayerInfo[i][pPayCheck] += ZP*600;}
						case 8:{PlayerInfo[i][pPayCheck] += ZP*650;}
						case 9:{PlayerInfo[i][pPayCheck] += ZP*700;}
						case 10:{PlayerInfo[i][pPayCheck] += ZP*750;}
						case 11:{PlayerInfo[i][pPayCheck] += ZP*800;}
						case 12:{PlayerInfo[i][pPayCheck] += ZP*850;}
						case 13:{PlayerInfo[i][pPayCheck] += ZP*950;}
						case 14:{PlayerInfo[i][pPayCheck] += ZP*1100;}
						case 15:{PlayerInfo[i][pPayCheck] += ZP*1200;}
						}
					}
					// [Зарплата FBI]
				case 2:
					{
						switch(PlayerInfo[i][pRank])
						{
						case 0:{PlayerInfo[i][pPayCheck] += 0;}
						case 1:{PlayerInfo[i][pPayCheck] += ZP*400;}
						case 2:{PlayerInfo[i][pPayCheck] += ZP*450;}
						case 3:{PlayerInfo[i][pPayCheck] += ZP*500;}
						case 4:{PlayerInfo[i][pPayCheck] += ZP*600;}
						case 5:{PlayerInfo[i][pPayCheck] += ZP*700;}
						case 6:{PlayerInfo[i][pPayCheck] += ZP*800;}
						case 7:{PlayerInfo[i][pPayCheck] += ZP*900;}
						case 8:{PlayerInfo[i][pPayCheck] += ZP*1050;}
						case 9:{PlayerInfo[i][pPayCheck] += ZP*1150;}
						case 10:{PlayerInfo[i][pPayCheck] += ZP*1350;}
						}
					}
					// [Зарплата Army SF] [Зарплата 51]
				case 3,19:
					{
						switch(PlayerInfo[i][pRank])
						{
						case 0:{PlayerInfo[i][pPayCheck] += 0;}
						case 1:{PlayerInfo[i][pPayCheck] += ZP*100;}
						case 2:{PlayerInfo[i][pPayCheck] += ZP*150;}
						case 3:{PlayerInfo[i][pPayCheck] += ZP*200;}
						case 4:{PlayerInfo[i][pPayCheck] += ZP*250;}
						case 5:{PlayerInfo[i][pPayCheck] += ZP*300;}
						case 6:{PlayerInfo[i][pPayCheck] += ZP*350;}
						case 7:{PlayerInfo[i][pPayCheck] += ZP*400;}
						case 8:{PlayerInfo[i][pPayCheck] += ZP*450;}
						case 9:{PlayerInfo[i][pPayCheck] += ZP*500;}
						case 10:{PlayerInfo[i][pPayCheck] += ZP*550;}
						case 11:{PlayerInfo[i][pPayCheck] += ZP*600;}
						case 12:{PlayerInfo[i][pPayCheck] += ZP*650;}
						case 13:{PlayerInfo[i][pPayCheck] += ZP*700;}
						case 14:{PlayerInfo[i][pPayCheck] += ZP*850;}
						case 15:{PlayerInfo[i][pPayCheck] += ZP*950;}
						case 16:{PlayerInfo[i][pPayCheck] += ZP*1050;}
						}
					}
					// [Зарплата Мэрии]
				case 7:
					{
						switch(PlayerInfo[i][pRank])
						{
						case 0:{PlayerInfo[i][pPayCheck] += 0;}
						case 1:{PlayerInfo[i][pPayCheck] += ZP*300;}
						case 3:{PlayerInfo[i][pPayCheck] += ZP*400;}
						case 4:{PlayerInfo[i][pPayCheck] += ZP*700;}
						case 5:{PlayerInfo[i][pPayCheck] += ZP*900;}
						case 6:{PlayerInfo[i][pPayCheck] += ZP*1300;}
						case 7:{PlayerInfo[i][pPayCheck] += ZP*1600;}
						}
					}// [Зарплата МинЗдрав]
				case 4:
					{
						switch(PlayerInfo[i][pRank])
						{
						case 0:{PlayerInfo[i][pPayCheck] += 0;}
						case 1:{PlayerInfo[i][pPayCheck] += ZP*300;}
						case 2:{PlayerInfo[i][pPayCheck] += ZP*350;}
						case 3:{PlayerInfo[i][pPayCheck] += ZP*400;}
						case 4:{PlayerInfo[i][pPayCheck] += ZP*450;}
						case 5:{PlayerInfo[i][pPayCheck] += ZP*500;}
						case 6:{PlayerInfo[i][pPayCheck] += ZP*550;}
						case 7:{PlayerInfo[i][pPayCheck] += ZP*600;}
						case 8:{PlayerInfo[i][pPayCheck] += ZP*650;}
						case 9:{PlayerInfo[i][pPayCheck] += ZP*700;}
						case 10:{PlayerInfo[i][pPayCheck] += ZP*800;}
						}
					}
					// [Зарплата инструкторов]
				case 11:
					{
						switch(PlayerInfo[i][pRank])
						{
						case 0:{PlayerInfo[i][pPayCheck] += 0;}
						case 1:{PlayerInfo[i][pPayCheck] += ZP*200;}
						case 2:{PlayerInfo[i][pPayCheck] += ZP*250;}
						case 3:{PlayerInfo[i][pPayCheck] += ZP*300;}
						case 4:{PlayerInfo[i][pPayCheck] += ZP*350;}
						case 5:{PlayerInfo[i][pPayCheck] += ZP*400;}
						case 6:{PlayerInfo[i][pPayCheck] += ZP*450;}
						case 7:{PlayerInfo[i][pPayCheck] += ZP*500;}
						case 8:{PlayerInfo[i][pPayCheck] += ZP*550;}
						case 9:{PlayerInfo[i][pPayCheck] += ZP*600;}
						case 10:{PlayerInfo[i][pPayCheck] += ZP*650;}
						}
					}
				}
И в конце public payday
PHP:
PlayerInfo[i][pZP] = 0;
И делаем сохранение в OnPlayerRegister(playerid, password[]), OnPlayerUpdateAc(playerid), OnPlayerLogin(playerid, password[])
PHP:
ini_setInteger(File, "ZP",PlayerInfo[playerid][pZP]);
Если есть интересующие вас вопросы, задавайте!
Автор Мануала: Я!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу