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

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

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

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

Помогите оптимизировать код

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

Guroto

Новичок
PHP:
enum pInfo
{
    pDostig,
	pDostig1,
	pDostig2,
	pDostig3,
	pDostig4,
	pDostig5,
	pDostig6,
	pDostig7,
	pDostig8,
	pDostig9,
}

public OnPlayerConnect(playerid)
{
    PlayerInfo[playerid][pDostig] = 0;
    PlayerInfo[playerid][pDostig1] = 0;
	PlayerInfo[playerid][pDostig2] = 0;
	PlayerInfo[playerid][pDostig3] = 0;
	PlayerInfo[playerid][pDostig4] = 0;
	PlayerInfo[playerid][pDostig5] = 0;
	PlayerInfo[playerid][pDostig6] = 0;
	PlayerInfo[playerid][pDostig7] = 0;
	PlayerInfo[playerid][pDostig8] = 0;
	PlayerInfo[playerid][pDostig9] = 0;
	}
public OnPlayerRegister(playerid, password[])
{
                ini_setInteger(Fle,"Dostig",PlayerInfo[playerid][pDostig]);
			    ini_setInteger(File,"Dostig1",PlayerInfo[playerid][pDostig1]);
		    	ini_setInteger(File,"Dostig2",PlayerInfo[playerid][pDostig2]);
				ini_setInteger(File,"Dostig3",PlayerInfo[playerid][pDostig3]);
				ini_setInteger(File,"Dostig4",PlayerInfo[playerid][pDostig4]);
				ini_setInteger(File,"Dostig5",PlayerInfo[playerid][pDostig5]);
				ini_setInteger(File,"Dostig6",PlayerInfo[playerid][pDostig6]);
				ini_setInteger(File,"Dostig7",PlayerInfo[playerid][pDostig7]);
				ini_setInteger(File,"Dostig8",PlayerInfo[playerid][pDostig8]);
				ini_setInteger(File,"Dostig9",PlayerInfo[playerid][pDostig9]);
}
public SaveAccounts(playerid,string3[])
{
        ini_setInteger(File,"Dostig",PlayerInfo[playerid][pDostig]);
		ini_setInteger(File,"Dostig1",PlayerInfo[playerid][pDostig1]);
		ini_setInteger(File,"Dostig2",PlayerInfo[playerid][pDostig2]);
		ini_setInteger(File,"Dostig3",PlayerInfo[playerid][pDostig3]);
		ini_setInteger(File,"Dostig4",PlayerInfo[playerid][pDostig4]);
		ini_setInteger(File,"Dostig5",PlayerInfo[playerid][pDostig5]);
		ini_setInteger(File,"Dostig6",PlayerInfo[playerid][pDostig6]);
		ini_setInteger(File,"Dostig7",PlayerInfo[playerid][pDostig7]);
		ini_setInteger(File,"Dostig8",PlayerInfo[playerid][pDostig8]);
		ini_setInteger(File,"Dostig9",PlayerInfo[playerid][pDostig9]);
}
public OnPlayerLogin(playerid,password[])
{
                    ini_getInteger(File,"Dostig",PlayerInfo[playerid][pDostig]);
    				ini_getInteger(File,"Dostig1",PlayerInfo[playerid][pDostig1]);
			    	ini_getInteger(File,"Dostig2",PlayerInfo[playerid][pDostig2]);
			    	ini_getInteger(File,"Dostig3",PlayerInfo[playerid][pDostig3]);
			    	ini_getInteger(File,"Dostig4",PlayerInfo[playerid][pDostig4]);
			    	ini_getInteger(File,"Dostig5",PlayerInfo[playerid][pDostig5]);
			    	ini_getInteger(File,"Dostig6",PlayerInfo[playerid][pDostig6]);
			    	ini_getInteger(File,"Dostig7",PlayerInfo[playerid][pDostig7]);
				    ini_getInteger(File,"Dostig8",PlayerInfo[playerid][pDostig8]);
			    	ini_getInteger(File,"Dostig9",PlayerInfo[playerid][pDostig9]);
}
public OnPlayerUpdate(playerid)
{
if(PlayerInfo[playerid][pLevel] == 3) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 3 уровень поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig] = 1;
		   PlayerInfo[playerid][pCash] += 3000;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLeader] >= 1) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig1] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили свою 1 лидерку поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig1] = 1;//ставим что выполнено
	       PlayerInfo[playerid][pCash] += 5500;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pVoennik] == 1) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig2] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig2] = 1;//ставим что выполнено
	       PlayerInfo[playerid][pCash] += 5000;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig3] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig3] = 1;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig4] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig4] = 1;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig5] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig5] = 1;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig6] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig6] = 1;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig7] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig7] = 1;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig8] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig8] = 1;//ставим что выполнено
           }
}
if(PlayerInfo[playerid][pLevel] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
	if(PlayerInfo[playerid][pDostig9] == 0)//проверка на не выполненное достижение
	{
	       SendClientMessage(playerid, COLOR_LIGHTRED, "Вы получили 1 военный билет поздравляем вас! Достижение выполнено! Посмотрите /dostig");
	       PlayerInfo[playerid][pDostig9] = 1;//ставим что выполнено
           }
}
stock ShowPlayerDostigDialog(playerid)//ставим где угодно)
{
new text[50], text1[50], text2[50], text3[50], text4[50], text5[50], text6[50], text7[50], text8[50], text9[50];
switch(PlayerInfo[playerid][pDostig])
{
case 0: { text = "{FF3300}Не выполнено"; }
case 1: { text = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig1])
{
case 0: { text1 = "{FF3300}Не выполнено"; }
case 1: { text1 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig2])
{
case 0: { text2 = "{FF3300}Не выполнено"; }
case 1: { text2 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig3])
{
case 0: { text3 = "{FF3300}Не выполнено"; }
case 1: { text3 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig4])
{
case 0: { text4 = "{FF3300}Не выполнено"; }
case 1: { text4 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig5])
{
case 0: { text5 = "{FF3300}Не выполнено"; }
case 1: { text5 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig6])
{
case 0: { text6 = "{FF3300}Не выполнено"; }
case 1: { text6 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig7])
{
case 0: { text7 = "{FF3300}Не выполнено"; }
case 1: { text7 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig8])
{
case 0: { text8 = "{FF3300}Не выполнено"; }
case 1: { text8 = "{33AA33}Выполнено"; }
}
switch(PlayerInfo[playerid][pDostig9])
{
case 0: { text9 = "{FF3300}Не выполнено"; }
case 1: { text9 = "{33AA33}Выполнено"; }
}
new string[1024], s[1024];
format(s, sizeof(s), "{C3C3C3}1. %s{C3C3C3}. Дед {FF3300}3{C3C3C3} уровень\n\n", text);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}2. %s{C3C3C3}. Я освоился! {FF3300}1{C3C3C3} лидерку\n\n", text1);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}3. %s{C3C3C3}. А я отслужил! {FF3300}1{C3C3C3} военный билет\n\n", text2);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}4. %s{C3C3C3}. Тебе нужно получить {FF3300}ТЕСТ{C3C3C3} ТЕСТ\n\n", text3);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}5. %s{C3C3C3}. Тебе нужно ТЕСТ {FF3300}ТЕСТ{C3C3C3} ТЕСТ\n\n", text4);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}6. %s{C3C3C3}. Тебе нужно ТЕСТ1 {FF3300}ТЕСТ1{C3C3C3} ТЕСТ1\n\n", text5);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}7. %s{C3C3C3}. Тебе нужно ТЕСТ2 {FF3300}ТЕСТ2{C3C3C3} ТЕСТ2\n\n", text6);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}8. %s{C3C3C3}. Тебе нужно ТЕСТ3 {FF3300}ТЕСТ3{C3C3C3} ТЕСТ3\n\n", text7);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}9. %s{C3C3C3}. Тебе нужно ТЕСТ4 {FF3300}ТЕСТ4{C3C3C3} ТЕСТ4\n\n", text8);
strcat(string, s);
format(s, sizeof(s), "{C3C3C3}10. %s{C3C3C3}. Тебе нужно ТЕСТ5 {FF3300}ТЕСТ5{C3C3C3} ТЕСТ5", text9);
strcat(string, s);
ShowPlayerDialog(playerid, 10250, DIALOG_STYLE_MSGBOX, "Достижения!", string, "Назад","Закрыть");
return 1;
}


//Команды!

else if(strcmp(cmd, "/dostig", true) == 0) return ShowPlayerDostigDialog(playerid);
Хочу системку достижений сделать на 50+ достижений, но если так добавлять в мод будет +100500 строк. Помогите плз!

+ дам!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу