|
Оффлайн
Пятница, 18.07.2014, 20:51 | Сообщение # 1
|
|
"Здравствуйте, уважаемые форумчане! В этой теме я научу Вас, как... " - Создаем Систему кредитов Специально для игрового портала 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; } |
|