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

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

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

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

Религии

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

pasvitas

Ученик
Здравствуйте пользователи pawno-info, сегодня я научу вас делать систему Религий для мода GodFather. Смысл в следущем: сначала игрок выбирает религию, потом каждый час он может молиться и получать прибавку к опыту. Чем больше уровень религии - тем больше опыта. Итак, приступим.
Для начала сделаем переменные для нашей религии
В enum pInfo ставим
PHP:
pRel,//Религия
	pRelLvl,//Уровень религии
	pRelExp,//Опыт религии
	pRelMol,//Молился ли в этот час
Дальше в OnPlayerConnect
PHP:
	PlayerInfo[playerid][pRel] = 0;
	PlayerInfo[playerid][pRelLvl] = 0;
	PlayerInfo[playerid][pRelExp] = 0;
И все это сохраняем
В public OnPlayerUpdate_GF(playerid)
PHP:
iniSetInt(File,"Rel",PlayerInfo[playerid][pRel]);
			iniSetInt(File,"RelLvl",PlayerInfo[playerid][pRelLvl]);
			iniSetInt(File,"RelExp",PlayerInfo[playerid][pRelExp]);
Теперь загружаем из файла все это
В public OnPlayerLogin(playerid,password[])
PHP:
iniGetInt(File,"Rel",PlayerInfo[playerid][pRel]);
        iniGetInt(File,"RelExp",PlayerInfo[playerid][pRelExp]);
        iniGetInt(File,"RelLvl",PlayerInfo[playerid][pRelLvl]);
Теперь делаем команды для нашей религии
В public OnPlayerCommandText(playerid, cmdtext[]) все следующие вставляем
Для начала для показа информации о религии
PHP:
if(strcmp(cmd, "/rel", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if (gPlayerLogged[playerid] != 0)
			{
			    new reltext[20];
				if(PlayerInfo[playerid][pRel] == 1) { reltext = "Православие"; }
				else if(PlayerInfo[playerid][pRel] == 2) { reltext = "Католицизм"; }
				else if(PlayerInfo[playerid][pRel] == 3) { reltext = "Иудаизм"; }
				else if(PlayerInfo[playerid][pRel] == 4) { reltext = "Конфуцианство"; }
				else if(PlayerInfo[playerid][pRel] == 5) { reltext = "Ислам"; }
			    format(string, sizeof(string), "Ваша религия:%s\nУровень вероисповедания:%d\nОпыт религии:%d\n",reltext,PlayerInfo[playerid][pRelLvl],PlayerInfo[playerid][pRelExp]);
				ShowPlayerDialog(playerid,11000,DIALOG_STYLE_MSGBOX,"Религия",string,"Ok","Cancel");
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Вы не зашли на сервер !");
			}
		}
		return 1;
	}
Теперь при /rel нам покажет информацию о нашей религии
Дальше делаем выбор религии
PHP:
if(strcmp(cmd, "/vrel", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if (gPlayerLogged[playerid] != 0)
			{
				ShowPlayerDialog(playerid,11001,DIALOG_STYLE_LIST,"Выбор религии","Православие\nКатолицизм\nИудаизм\nКонфуцианство\nИслам","Ok","Cancel");
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Вы не зашли на сервер !");
			}
		}
		return 1;
	}
При /vrel - покажет окно выбора религии
Теперь делаем молитву
PHP:
	if(strcmp(cmd, "/molitva", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if (gPlayerLogged[playerid] != 0)
			{
				if(PlayerInfo[playerid][pRelMol] == 0)
				{
					if(PlayerInfo[playerid][pRel] > 0)
					{
				    	if(PlayerInfo[playerid][pRelLvl] <= 1)
				    	{
                			SendClientMessage(playerid, COLOR_GRAD1, "   Вы помолились !");
							PlayerInfo[playerid][pRelExp] += 1;
							PlayerInfo[playerid][pRelMol] = 1;
							PlayerInfo[playerid][pExp] += 1;
						}
						else if(PlayerInfo[playerid][pRelLvl] == 2)
				    	{
                			SendClientMessage(playerid, COLOR_GRAD1, "   Вы помолились !");
							PlayerInfo[playerid][pRelExp] += 1;
							PlayerInfo[playerid][pRelMol] = 1;
							PlayerInfo[playerid][pExp] += 2;
						}
						else if(PlayerInfo[playerid][pRelLvl] == 3)
				    	{
                			SendClientMessage(playerid, COLOR_GRAD1, "   Вы помолились !");
							PlayerInfo[playerid][pRelExp] += 1;
							PlayerInfo[playerid][pRelMol] = 1;
							PlayerInfo[playerid][pExp] += 2;
						}
						else if(PlayerInfo[playerid][pRelLvl] == 4)
				    	{
                			SendClientMessage(playerid, COLOR_GRAD1, "   Вы помолились !");
							PlayerInfo[playerid][pRelExp] += 1;
							PlayerInfo[playerid][pRelMol] = 1;
							PlayerInfo[playerid][pExp] += 3;
						}
						else if(PlayerInfo[playerid][pRelLvl] == 5)
				    	{
                			SendClientMessage(playerid, COLOR_GRAD1, "   Вы помолились !");
							PlayerInfo[playerid][pRelExp] += 1;
							PlayerInfo[playerid][pRelMol] = 1;
							PlayerInfo[playerid][pExp] += 4;
						}
						else if(PlayerInfo[playerid][pRelLvl] == 6)
				    	{
                			SendClientMessage(playerid, COLOR_GRAD1, "   Вы помолились !");
							PlayerInfo[playerid][pRelExp] += 1;//Даем опыт религии
							PlayerInfo[playerid][pRelMol] = 1;//Делаем так что он помолился
							PlayerInfo[playerid][pExp] += 5;//Даем опыт
						}
						if(PlayerInfo[playerid][pRelExp] == 8)//Если опыт религии 8 то апаем ему следующей лвл религии
						{
							PlayerInfo[playerid][pRelLvl] += 1;
				    		SendClientMessage(playerid, COLOR_GRAD1, "   Вы стали более верующим");
				    		PlayerInfo[playerid][pRelExp] = 0;
						}
					}
					else
					{
				    	SendClientMessage(playerid, COLOR_GRAD1, "   Вы уже молились в этот час !");
					}
				}
				else
				{
					SendClientMessage(playerid, COLOR_GRAD1, "   У вас нет религии /vrel");
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Вы не зашли на сервер !");
			}
		}
		return 1;
	}
Команды сделаем - теперь пишем диалоги
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
if(dialogid == 11001)
    {
            if(response)
            	{
                    if(listitem == 0)
                    {
                    	SendClientMessage(playerid,0x88AA88AA,"Вы стали православным!");
                    	PlayerInfo[playerid][pRel] = 1;
                    	PlayerInfo[playerid][pRelExp] = 0;
                    	PlayerInfo[playerid][pRelLvl] = 0;
                    }
                    if(listitem == 1)
                    {
                    	SendClientMessage(playerid,0x88AA88AA,"Вы стали католиком!");
                    	PlayerInfo[playerid][pRel] = 2;
                    	PlayerInfo[playerid][pRelExp] = 0;
                    	PlayerInfo[playerid][pRelLvl] = 0;
                    }
                    if(listitem == 2)
                    {
                    	SendClientMessage(playerid,0x88AA88AA,"Вы исповедуете иудаизм!");
                    	PlayerInfo[playerid][pRel] = 3;
                    	PlayerInfo[playerid][pRelExp] = 0;
                    	PlayerInfo[playerid][pRelLvl] = 0;
                    }
                    if(listitem == 3)
                    {
                    	SendClientMessage(playerid,0x88AA88AA,"Вы исповедуете конфуцианство!");
                    	PlayerInfo[playerid][pRel] = 4;
                    	PlayerInfo[playerid][pRelExp] = 0;
                    	PlayerInfo[playerid][pRelLvl] = 0;
                    }
                    if(listitem == 4)
                    {
                    	SendClientMessage(playerid,0x88AA88AA,"Вы исповедуете ислам");
                    	PlayerInfo[playerid][pRel] = 5;//Ставим религию
                    	PlayerInfo[playerid][pRelExp] = 0;//Ставим 0 в опыт религии
                    	PlayerInfo[playerid][pRelLvl] = 0;//Ставим 0 в уровне религии
                    }

                }
                else
                {
                    return 1;
                }
	}
Диалог сделали. Теперь в
public PayDay()
Делаем отмену религии каждый час
PHP:
PlayerInfo[i][pRelMol] = 0;
Вот и все, религии готовы!
Удачи всем! Если что пишите - помогу
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу