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

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

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

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

PayDay(Автоматический переход), Проверка на пакеты (/materials get).

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

Chester.

Умник
Здравствуйте.
У меня к вам несколько вопросов, изложу все вопросы ниже, заранее благодарю за внимание!
1) При переходе на след.уровень дается сразу 2 exp, вопрос, почему?
2) Как поставить проверку на 5 скилл гандиллера? Вроде-бы все стоит, а на 5 скилле можно купить сколько хочешь пакетов.
Stock PayDay:
Код:
stock PayDay()
{
	new string[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i))
	    {
		    if(PlayerInfo[i][pLevel] >= 0)
		    {
				if(PlayerInfo[i][pPayDay] >= 1)
				{

				    new exp = PlayerInfo[i][pExp];
					new infostring[300];
					new nxtlevel = PlayerInfo[i][pLevel]+1;
					new expamount = nxtlevel*levelexp;
					if(exp  >= expamount)
					{
						SendClientMessage(i,0x00FF00AA, "Поздравляем! Вы перешли на следующий уровень");
						PlayerInfo[i][pLevel] += 1;
						PlayerInfo[i][pCash] += 5000;
						PlayerInfo[i][pExp] = 1;
						SetPlayerScore(i, PlayerInfo[i][pLevel]);
						PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
				        format(infostring, 256, "{00C0FF}>{ffffff} Вы получили {00C0FF}%d{ffffff} очков обновления.",PlayerInfo[i][gPupgrade]);
   					    SendClientMessage(i, COLOR_WHITE, infostring);
					}
					new checks = PlayerInfo[i][pPayCheck] / 3;
					GivePlMoney(i, checks);
					new interest = (PlayerInfo[i][pAccount]/1000)*(5);
					PlayerPlayMusic(i);
					if(PlayerInfo[i][pExp] >= (PlayerInfo[i][pLevel]+1)*levelexp)
					PlayerInfo[i][pLevel]++;
					PlayerInfo[i][pAccount] = PlayerInfo[i][pAccount]+interest;
					SendClientMessage(i, COLOR_WHITE, "{33aa33}•••••• З А Р П Л А Т А ••••••");
					SendFormattedMessage(i, COLOR_BE, "• - Зарплата: $%d.", checks);
					SendFormattedMessage(i, COLOR_BE, "• - Баланс: $%d, Полученный интерес: $%d, Новый баланс: $%d, Банковский процент: 0.5.", PlayerInfo[i][pAccount],interest,PlayerInfo[i][pAccount]);
					SendClientMessage(i, COLOR_WHITE, "{33aa33}• • • • • • • • • • • • • • • • • • • • • •");
					SendFormattedMessage(i, COLOR_BE, "• - Налог: $0.");
					PlayerInfo[i][pExp]++;
				   	format(string,sizeof(string),"~w~LvL: ~y~%d ~w~Exp: ~y~%d~w~/~y~%d",PlayerInfo[i][pLevel],PlayerInfo[i][pExp],(PlayerInfo[i][pLevel]+1)*4);
				   	TextDrawSetString(lvlexp[i], string);
					if(PlayerInfo[i][pPayCheck] > 0)
		    		{
			            format(string, sizeof(string), "~w~ЗАРПЛАТА ~g~%d",checks);
				        GameTextForPlayer(i,RusToGame(string), 5000, 1);
			        }
					PlayerInfo[i][pPayDay] = 0;
					PlayerInfo[i][pPayCheck] = 0;
				}
				else
				{
				format(string,sizeof(string),"Вы не получили зарплату, т.к. отыграли на сервере %d из 30 минут.",PlayerInfo[i][pPayDay]);
				SendClientMessage(i, COLOR_LIGHTRED, string);
				}
				SendClientMessage(i, COLOR_WHITE, "E-xclusive: Через 2 минуты начинаем лотерейную партию, набери '/lotto [номер]'.");
			}
		}
	}
  	return 1;
}
Команда /materials get:
HTML:
else if(strcmp(string,"/materials",true)==0)
    {
        if(IsPlayerConnected(playerid))
	    {
	        if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "E-xclusive: Для начала авторизируйтесь!");
		    if (PlayerInfo[playerid][pJob] != 9) return SendClientMessage(playerid,COLOR_GRAD2, "Ты не Диллер Оружия.");
			string = strtok(cmdtext, idx);
			if(!strlen(string))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "Используй: /materials [Название]");
				SendClientMessage(playerid, COLOR_GREEN2, "Доступные названия: Get, Deliver.");
				return 1;
			}
			if(strcmp(string,"get",true) == 0)
			{
			    if(!IsPlayerInRangeOfPoint(playerid, 3.0,1257.1653,241.9220,19.7890)) return SendClientMessage(playerid, COLOR_GREY, "Ты не у склада переработки пакетов!");
		       	new tel;
			   	string = strtok(cmdtext, idx);
			   	if(MatsHolding[playerid] >= 5) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя больше 5 пакетов!");
                if(!strlen(string))return SendClientMessage(playerid, COLOR_GRAD2, "Используй: /materials get [количество]");
				new ammount = strval(string);
				switch(PlayerInfo[playerid][pGunSkill])
				{
					case 0..50:
					{ tel = 100; if(ammount < 1 || ammount > 10) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 10 пакетов за раз."); }
					case 51..100:
					{ tel = 100; if(ammount < 1 || ammount > 15) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 15 пакетов за раз."); }
					case 101..200:
					{ tel = 100; if(ammount < 1 || ammount > 20) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 20 пакетов за раз."); }
					case 201..400:
					{ tel = 100; if(ammount < 1 || ammount > 25) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 25 пакетов за раз."); }
				}
				if(MatsHolding[playerid] >= 25) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя больше 25 пакетов!");
				new price = ammount * tel;
			    if(GetServerMoney(playerid) >= price)
			    {
					SendFormattedMessage(playerid, COLOR_LIGHTBLUE, "Ты купил(а) %d пакетов за $%d.", ammount, price);
					GivePlMoney(playerid, - price);
					MatsHolding[playerid] = ammount;
					Materials[playerid] = 50;
				}
			}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу