Главный редактор форума: Doc-John | Текущая дата: 30.11.2024, 06:45
  • Страница 1 из 1
  • 1
[Мануал] Система кредитов
Оффлайн
Пятница, 18.07.2014, 20:51 | Сообщение # 1
Сообщений:
12
2
"Здравствуйте, уважаемые форумчане!
В этой теме я научу Вас, как... " - Создаем Систему кредитов
Специально для игрового портала
 isamp.3dn.ru.
Автор: ARTEM_SKOROBAGACH


в enum pInfo вставить

Код
pCashCredit,
pCredit,
pCreditTime
,

в public OnPlayerConnect вставить

Код
PlayerInfo [playerid][pCashCredit]= 0;
PlayerInfo [playerid][pCredit]= 0;
PlayerInfo [playerid][pCreditTime]= 0;


в public PayDay

Код
if(PlayerInfo [i][pCashCredit]!= 0)
{
if(PlayerInfo [pCreditTime]== 0)
{
new newcar = -1;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(i,sendername,sizeof(sendername));
for(new cars = 1; cars < CAR_AMOUNT; cars ++)
{
if(IsAOwnableVehicle(cars) && newcar == -1)
{
if(!strcmp(CarInfo[cars-SIMPLECARS-1][cOwner],sendername,true))
{
newcar = cars-SIMPLECARS-1;
strmid(CarInfo[newcar][cOwner], "The State", 0, strlen("The State"), 999);
SendClientMessage(i, COLOR_YELLOW, "Ты не погасил кредит в банке, у тебя отобрали машину");
PlayerInfo [pCredit]= 0;
PlayerInfo [pCashCredit]= 0;
PlayerInfo [pCreditTime]= 0;
OnPropUpdate();
SavePlayer(i);
}
}
}
if(newcar == -1)
{
SendClientMessage(i, COLOR_YELLOW, "Ты не погасил кредит в банке, ты в долгах");
ServerGivePlayerMoney(i,-PlayerInfo[pCashCredit]);
PlayerInfo [pCredit]= 0;
PlayerInfo [pCashCredit]= 0;
PlayerInfo [pCreditTime]= 0;
OnPropUpdate();
SavePlayer(i);
}
}
}
else
{
PlayerInfo [pCreditTime]-=1;
format(string, sizeof(string), "У тебя осталось %d дней, чтобы погасить кредит в банке", PlayerInfo[pCreditTime]);
SendClientMessage(i, COLOR_YELLOW, string);
}
}


в public OnPlayerLogin

Код
if( strcmp( key , "CashCredit" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo [playerid][pCashCredit]= strval( val ); }
if( strcmp( key , "Credit" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo [playerid][pCredit]= strval( val ); }
if( strcmp( key , "CreditTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo [playerid][pCreditTime]= strval( val ); }


в public OnPlayerCommandText

Код
f(strcmp(cmd, "/givecredit", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo [playerid][pLocal]== 103 || PlayerToPoint(1.5, playerid, 1346.5016,-1758.7649,13.5156) || PlayerToPoint(1.5, playerid, 1592.7152,-2335.3748,13.5400) || PlayerToPoint(1.5, playerid, 2308.4612,-1634.4176,14.8270) || PlayerToPoint(1.5, playerid, 2865.9014,-1415.4203,11.0061) || PlayerToPoint(1.5, playerid, 2404.5913,-1229.8973,23.8301) || PlayerToPoint(1.5, playerid, 1172.5912,-1328.4365,15.4034))
{
if(PlayerInfo [playerid][pLevel]< 3)
{
SendClientMessage(playerid, COLOR_GRAD2, "Тебе нужно быть хотя бы 3 уровня, чтобы использовать эту команду");
return 1;
}
if(PlayerInfo [playerid][pCredit]== 5)
{
SendClientMessage(playerid, COLOR_YELLOW, "Ты уже взял максимально доступную сумму кредита");
return 1;
}
GivePlayerMoney(playerid);
PlayerInfo [playerid][pCashCredit]+= 13520;
PlayerInfo [playerid][pCredit]+= 1;
if(PlayerInfo [playerid][pCredit]== 1)
{
PlayerInfo [playerid][pCreditTime]= 30;
}
SendClientMessage(playerid, COLOR_YELLOW, "Ты взял кредит в банке на сумму $10000");
format(string, sizeof(string), "Всего вместе с процентами ты должен банку $%d", PlayerInfo[playerid][pCashCredit]);
SendClientMessage(playerid, COLOR_YELLOW, string);
SavePlayer(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Ты не в банке");
return 1;
}
}
return 1;
}
if(strcmp(cmd, "/takecredit", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo [playerid][pLocal]== 103 || PlayerToPoint(1.5, playerid, 1346.5016,-1758.7649,13.5156) || PlayerToPoint(1.5, playerid, 1592.7152,-2335.3748,13.5400) || PlayerToPoint(1.5, playerid, 2308.4612,-1634.4176,14.8270) || PlayerToPoint(1.5, playerid, 2865.9014,-1415.4203,11.0061) || PlayerToPoint(1.5, playerid, 2404.5913,-1229.8973,23.8301) || PlayerToPoint(1.5, playerid, 1172.5912,-1328.4365,15.4034))
{
if(PlayerInfo [playerid][pLevel]< 2)
{
SendClientMessage(playerid, COLOR_GRAD2, " Тебе нужно быть хотя бы 2 уровня, чтобы использовать эту команду");
return 1;
}
if(PlayerInfo [playerid][pCredit]== 0)
{
SendClientMessage(playerid, COLOR_YELLOW, " Ты ничего не должен банку!");
return 1;
}
if(PlayerInfo [playerid][pCash]< PlayerInfo[playerid][pCashCredit])
{
format(string, sizeof(string), " За тобой числится кредит на сумму $%d , у тебя нет таких денег", PlayerInfo[playerid][pCashCredit]);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}
ServerGivePlayerMoney(playerid,-PlayerInfo[playerid][pCashCredit]);
PlayerInfo [playerid][pCashCredit]= 0;
PlayerInfo [playerid][pCredit]= 0;
PlayerInfo [playerid][pCreditTime]= 0;
SendClientMessage(playerid, COLOR_YELLOW, " Ты погасил свой кредит");
SavePlayer(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Ты не в банке");
return 1;
}
}
return 1;
}
  • Страница 1 из 1
  • 1
Поиск: