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

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

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

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

Бизнес: Покупка/Аренда коров

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

Kentaro

Новичок
MxINI
Суть:
Бизнес: при покупке бизнеса в Ангаре появляются коровы.
Любой игрок может купить себе личную корову , а у этого игрока ( владельца коровы ) могут взять корову в Аренду за определённую плату.
При покупки коровы деньги идут владельцу бизнеса.
Корову можно доить.
Как вы подоили корову молоко можно выпить или отвести в магазин 24/7
PHP:
//==========================
И так преступим

1.В начало мода

PHP:
enum ffInfo 
{
	fOwner[MAX_PLAYER_NAME],// имя владельца
	fBank,// денег на счету арендатора
	fCow0,// доили корову в этот час или нет
	fCow1,// доили корову в этот час или нет
	fCow2,// доили корову в этот час или нет
	fCow3,// доили корову в этот час или нет
	fCowArend0[MAX_PLAYER_NAME],// имя арендатора
	fCowArend1[MAX_PLAYER_NAME],// имя арендатора
	fCowArend2[MAX_PLAYER_NAME],// имя арендатора
	fCowArend3[MAX_PLAYER_NAME],// имя арендатора
	fMilk,
};
new CowInfo[ffInfo];
2. в enum pInfo

PHP:
pMilk,
pMilk2,
3. Далее в public SetPlayerUnjail()

PHP:
			if(GetPVarInt(i,"TimeMilk") > 0)
			{
				SetPVarInt(i,"TimeMilk",GetPVarInt(i,"TimeMilk")-1);
				if(GetPVarInt(i,"TimeMilk") <= 0)
				{
					ClearAnimations(i);
					SendClientMessage(i,-1,"Вы подоили корову. Теперь молоко можно выпить /drinkmilk или продать в 24/7 /sellmilk");
					PlayerInfo[i][pMilk2] = PlayerInfo[i][pMilk2] + 1;
				}
			}
4. Далее в public OnGameModeInit()

PHP:
	format(string,256,"cow.ini");
	new Fil = iniOpen(string);
	iniGet(Fil,"fOwner",string1);
	strmid(CowInfo[fOwner], string1, 0, strlen(string1), 255);
	iniGetInt(Fil,"fBank",CowInfo[fBank]);
	iniGetInt(Fil,"fCow0",CowInfo[fCow0]);
	iniGetInt(Fil,"fCow1",CowInfo[fCow1]);
	iniGetInt(Fil,"fCow2",CowInfo[fCow2]);
	iniGetInt(Fil,"fCow3",CowInfo[fCow3]);
	iniGet(Fil,"fCowArend0",string1);
	strmid(CowInfo[fCowArend0], string1, 0, strlen(string1), 255);
	iniGet(Fil,"fCowArend1",string1);
	strmid(CowInfo[fCowArend1], string1, 0, strlen(string1), 255);
	iniGet(Fil,"fCowArend2",string1);
	strmid(CowInfo[fCowArend2], string1, 0, strlen(string1), 255);
	iniGet(Fil,"fCowArend3",string1);
	strmid(CowInfo[fCowArend3], string1, 0, strlen(string1), 255);
	iniGetInt(Fil,"fMilk",CowInfo[fMilk]);
	iniClose(Fil);
	if(!strcmp(CowInfo[fOwner], "State",true))
	{
		ferms[0] = Create3DTextLabel("Купить ферму\n/buyferm",0x75DDB5FF,1817.55712891,129.16857910,35.02558899,30.0,0);
	}
	else
	{
		for(new i; i < 4; i++)
		{
			obferm[i] = CreateObject(11470,KowSpawn[i][0],KowSpawn[i][1],KowSpawn[i][2],0.0,0.0,KowSpawn[i][3],150.0);
		}
		format(string,256,"Владелец: %s",CowInfo[fOwner]);
		ferms[0] = Create3DTextLabel(string,0x75DDB5FF,1817.55712891,129.16857910,35.02558899,30.0,0);
		if(!strcmp(CowInfo[fCowArend0], "State",true))
		{
			ferms[1] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1817.87182617,114.46284485,35.02558899,30.0,0);
		}
		if(!strcmp(CowInfo[fCowArend1], "State",true))
		{
			ferms[2] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1813.25842285,117.75804901,35.02558899,30.0,0);
		}
		if(!strcmp(CowInfo[fCowArend2], "State",true))
		{
			ferms[3] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1806.70678711,108.24455261,35.02558899,30.0,0);
		}
		if(!strcmp(CowInfo[fCowArend3], "State",true))
		{
			ferms[4] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1812.05810547,105.75019073,35.02558899,30.0,0);
		}
	}
5. Далее в public OnPlayerRegister(playerid, password[])

PHP:
format(var, 32, "Milk=%d\n",PlayerInfo[playerid][pMilk]);fwrite(hFile, var);
format(var, 32, "Milk2=%d\n",PlayerInfo[playerid][pMilk2]);fwrite(hFile, var);[/pawn]


[B]6[/B].Далее в public OnPlayerUpdate(playerid)
[pawn]format(var, 32, "Milk=%d\n",PlayerInfo[playerid][pMilk]);fwrite(hFile, var);
format(var, 32, "Milk2=%d\n",PlayerInfo[playerid][pMilk2]);fwrite(hFile, var);
7. Далее в public OnPlayerLogin(playerid,password[])

[pawn]if( strcmp( key , "Milk" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMilk] = strval( val ); }
if( strcmp( key , "Milk2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMilk2] = strval( val ); }[/php]

8.А теперь команды:

PHP:
	if(strcmp("/sellferm",cmdtext,true) == 0)
	{
		GetPlayerName(playerid,playername,sizeof(playername));
		if(!strcmp(CowInfo[fOwner],playername,true))
		{
			GivePlayerMoney(playerid,CowInfo[fBank]);
			CowInfo[fBank] = 0;
			for(new i; i < 4; i++)
			{
				DestroyObject(obferm[i]);
			}
			for(new i = 0; i < 5; i++)
			{
				Delete3DTextLabel(ferms[i]);
			}
			ferms[0] = Create3DTextLabel("Купить ферму\n/buyferm",0x75DDB5FF,1817.55712891,129.16857910,35.02558899,30.0,0);
			strmid(CowInfo[fOwner], "State", 0, strlen("State"), 255);
			SendClientMessage(playerid,-1,"Вы продали ферму");
		}
		return 1;
	}
	if(strcmp("/rentcow",cmdtext,true) == 0)
	{
		if(!strcmp(CowInfo[fOwner],"State",true))
		{
		}
		else
		{
			if(AroundCow(playerid) == -1) return SendClientMessage(playerid,-1,"Вы не у коровы");
			if(GetPlayerMoney(playerid) < 50000) return SendClientMessage(playerid,-1,"Нехватает денег");
			GetPlayerName(playerid,playername,sizeof(playername));
			GivePlayerMoney(playerid,-50000);
			CowInfo[fBank] = CowInfo[fBank] + 50000;
			switch(AroundCow(playerid))
			{
				case 0:strmid(CowInfo[fCowArend0], playername, 0, strlen(playername), 255),CowInfo[fCow0] = 0;
				case 1:strmid(CowInfo[fCowArend1], playername, 0, strlen(playername), 255),CowInfo[fCow1] = 0;
				case 2:strmid(CowInfo[fCowArend2], playername, 0, strlen(playername), 255),CowInfo[fCow2] = 0;
				case 3:strmid(CowInfo[fCowArend3], playername, 0, strlen(playername), 255),CowInfo[fCow3] = 0;
			}
			Delete3DTextLabel(ferms[AroundCow(playerid)+1]);
			SendClientMessage(playerid,-1,"Доить корову: /milk");
			SendClientMessage(playerid,-1,"Отменить аренду: /unrentcow");
		}
		return 1;
	}
	if(strcmp("/unrentcow",cmdtext,true) == 0)
	{
		GetPlayerName(playerid,playername,sizeof(playername));
		if(!strcmp(playername,CowInfo[fCowArend0],true))
		{
			strmid(CowInfo[fCowArend0], "State", 0, strlen("State"));
			SendClientMessage(playerid,-1,"Вы отменили аренду");
			ferms[1] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1817.87182617,114.46284485,35.02558899,30.0,0);
			return 1;
		}
		if(!strcmp(playername,CowInfo[fCowArend1],true))
		{
			strmid(CowInfo[fCowArend0], "State", 0, strlen("State"));
			SendClientMessage(playerid,-1,"Вы отменили аренду");
			ferms[2] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1813.25842285,117.75804901,35.02558899,30.0,0);
			return 1;
		}
		if(!strcmp(playername,CowInfo[fCowArend2],true))
		{
			strmid(CowInfo[fCowArend0], "State", 0, strlen("State"));
			SendClientMessage(playerid,-1,"Вы отменили аренду");
			ferms[3] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1806.70678711,108.24455261,35.02558899,30.0,0);
			return 1;
		}	
		if(!strcmp(playername,CowInfo[fCowArend3],true))
		{
			strmid(CowInfo[fCowArend0], "State", 0, strlen("State"));
			SendClientMessage(playerid,-1,"Вы отменили аренду");
			ferms[4] = Create3DTextLabel("Арендовать корову:\n/rentcow",0x75DDB5FF,1812.05810547,105.75019073,35.02558899,30.0,0);
			return 1;
		}
		return 1;
	}
	if(strcmp(cmdtext,"/drinkmilk",true) == 0)
	{
		if(PlayerInfo[playerid][pMilk] <= 0 && PlayerInfo[playerid][pMilk2] <= 0) return SendClientMessage(playerid,-1,"У вас нет молока");
		if(PlayerInfo[playerid][pMilk] > 0)
		{
			PlayerInfo[playerid][pMilk] = PlayerInfo[playerid][pMilk] - 1;
		}
		else if(PlayerInfo[playerid][pMilk2] > 0)
		{
			PlayerInfo[playerid][pMilk2] = PlayerInfo[playerid][pMilk2] - 1;
		}
		new Float:hea;
		GetPlayerHealth(playerid,hea);
		if(hea <= 90)
		{
			SetPlayerHealth(playerid,hea+10);
		}
		else
		{
			SetPlayerHealth(playerid,100);
		}
		return 1;
	}
	if(strcmp(cmdtext,"/sellmilk",true) == 0)
	{
		if(IsPlayerInRangeOfPoint(playerid,100.0,-25.88,-185.86,1003.54))
		{
			if(PlayerInfo[playerid][pMilk2] <= 0) return SendClientMessage(playerid,-1,"У вас нет молока");
			GivePlayerMoney(playerid,5000*PlayerInfo[playerid][pMilk2]);
			CowInfo[fMilk] = CowInfo[fMilk] + PlayerInfo[playerid][pMilk2];
			PlayerInfo[playerid][pMilk2] = 0;
			SendClientMessage(playerid,-1,"Вы продали молоко");
		}
		return 1;
	}
	if(strcmp("/milk",cmdtext,true) == 0)
	{
		if(AroundCow2(playerid) == -1) return SendClientMessage(playerid,-1,"Вы не у коровы");
		GetPlayerName(playerid,playername,sizeof(playername));
		switch(AroundCow2(playerid))
		{
			case 0:
			{
				if(!strcmp(playername,CowInfo[fCowArend0],true) && CowInfo[fCow0] == 0)
				{
					ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 1, 1, 1, 1, 1, 1);
					SetPVarInt(playerid,"TimeMilk",2);
					CowInfo[fCow0] = 1;
				}
				else
				{
					SendClientMessage(playerid,-1,"В этот час корову уже доили");
				}
			}
			case 1:
			{
				if(!strcmp(playername,CowInfo[fCowArend1],true) && CowInfo[fCow1] == 0)
				{
					ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 1, 1, 1, 1, 1, 1);
					SetPVarInt(playerid,"TimeMilk",2);
					CowInfo[fCow1] = 1;
				}
				else
				{
					SendClientMessage(playerid,-1,"В этот час корову уже доили");
				}
			}
			case 2:
			{
				if(!strcmp(playername,CowInfo[fCowArend2],true) && CowInfo[fCow2] == 0)
				{
					ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 1, 1, 1, 1, 1, 1);
					SetPVarInt(playerid,"TimeMilk",2);
					CowInfo[fCow2] = 1;
				}
				else
				{
					SendClientMessage(playerid,-1,"В этот час корову уже доили");
				}
			}
			case 3:
			{
				if(!strcmp(playername,CowInfo[fCowArend3],true) && CowInfo[fCow3] == 0)
				{
					ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 1, 1, 1, 1, 1, 1);
					SetPVarInt(playerid,"TimeMilk",2);
					CowInfo[fCow3] = 1;
				}
				else
				{
					SendClientMessage(playerid,-1,"В этот час корову уже доили");
				}
			}
		}
		return 1;
	}
9.а теперь в команду /buy Там где верёвки,телефоны и тд

PHP:
SendClientMessage(playerid, COLOR_YELLOW2, "| 17 Молоко: 1000$");
10.А теперь опять же в /buy

PHP:
			   else if(item == 17 && GetPlayerMoney(playerid) >= 1000)//где 17 заменить на свой номер
			   {
					if(PlayerInfo[playerid][pMilk] >= 5)
					{
						SendClientMessage(playerid, COLOR_RED, "Нельзя носить с собой больше 5 молока!");
						return 1;
					}
					if(CowInfo[fMilk] <= 0) return SendClientMessage(playerid,COLOR_RED,"На складе нет молока");
					GivePlayerMoney(playerid, - 1000);
					format(string, sizeof(string), "~r~-$%d", 1000);
					GameTextForPlayer(playerid, string, 5000, 1);
					PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
					format(string, sizeof(string), " Вы приобрели молоко!");
					SendClientMessage(playerid, COLOR_GRAD4, string);
					SendClientMessage(playerid, COLOR_GRAD4, "ИНФО: Теперь вы можете выпить молока (/dringmilk).");
					PlayerInfo[playerid][pMilk]++;
			   }
				else
				{
				SendClientMessage(playerid, COLOR_RED, " У вас не хватает денег !");
			}
		}
		return 1;
	}
11. Теперь где все stoсk

PHP:
stock SaveFerm()
{
	new string[128];
	format(string,128,"cow.ini");
	new Fil = iniOpen(string);
	iniSet(Fil,"fOwner",CowInfo[fOwner]);
	iniSetInt(Fil,"fBank",CowInfo[fBank]);
	iniSetInt(Fil,"fCow0",CowInfo[fCow0]);
	iniSetInt(Fil,"fCow1",CowInfo[fCow1]);
	iniSetInt(Fil,"fCow2",CowInfo[fCow2]);
	iniSetInt(Fil,"fCow3",CowInfo[fCow3]);
	iniSet(Fil,"fCowArend0",CowInfo[fCowArend0]);
	iniSet(Fil,"fCowArend1",CowInfo[fCowArend1]);
	iniSet(Fil,"fCowArend2",CowInfo[fCowArend2]);
	iniSet(Fil,"fCowArend3",CowInfo[fCowArend3]);
	iniSetInt(Fil,"fMilk",CowInfo[fMilk]);
	iniClose(Fil);
	return 1;
}
12. Далее в PayDay
PHP:
	if(CowInfo[fCow0] >= 1)
	{
		CowInfo[fCow0] = 0;
	}
	if(CowInfo[fCow1] >= 1)
	{
		CowInfo[fCow1] = 0;
	}
	if(CowInfo[fCow2] >= 1)
	{
		CowInfo[fCow2] = 0;
	}
	if(CowInfo[fCow3] >= 1)
	{
		CowInfo[fCow3] = 0;
	}
	if(!strcmp(CowInfo[fOwner],"State",true))
	{
		
	}
	else
	{
		if(!strcmp(CowInfo[fCowArend0],"State",true))
		{
			
		}
		else
		{
			new flak = 0;
			for(new i; i < MAX_PLAYERS; i++)
			{
				GetPlayerName(i,namn,MAX_PLAYER_NAME);
				if(!strcmp(CowInfo[fCowArend0],namn,true))
				{
					flak = 1;
					GivePlayerMoney(i,-50000);
					CowInfo[fBank] = CowInfo[fBank] + 50000;
					break;
				}
			}
			if(flak == 0)
			{
				format(string,128,"%s.ini",CowInfo[fCowArend0]);
				new File = iniOpen(string),lek;
				iniGetInt(File,"Money",lek);
				iniSetInt(File,"Money",lek-50000);
				iniClose(File);
				CowInfo[fBank] = CowInfo[fBank] + 50000;
			}
		}
		if(!strcmp(CowInfo[fCowArend1],"State",true))
		{
			
		}
		else
		{
			new flak = 0;
			for(new i; i < MAX_PLAYERS; i++)
			{
				GetPlayerName(i,namn,MAX_PLAYER_NAME);
				if(!strcmp(CowInfo[fCowArend1],namn,true))
				{
					flak = 1;
					GivePlayerMoney(i,-50000);
					CowInfo[fBank] = CowInfo[fBank] + 50000;
					break;
				}
			}
			if(flak == 0)
			{
				format(string,128,"%s.ini",CowInfo[fCowArend1]);
				new File = iniOpen(string),lek;
				iniGetInt(File,"Money",lek);
				iniSetInt(File,"Money",lek-50000);
				iniClose(File);
				CowInfo[fBank] = CowInfo[fBank] + 50000;
			}
		}
		if(!strcmp(CowInfo[fCowArend2],"State",true))
		{
			
		}
		else
		{
			new flak = 0;
			for(new i; i < MAX_PLAYERS; i++)
			{
				GetPlayerName(i,namn,MAX_PLAYER_NAME);
				if(!strcmp(CowInfo[fCowArend2],namn,true))
				{
					flak = 1;
					GivePlayerMoney(i,-50000);
					CowInfo[fBank] = CowInfo[fBank] + 50000;
					break;
				}
			}
			if(flak == 0)
			{
				format(string,128,"%s.ini",CowInfo[fCowArend2]);
				new File = iniOpen(string),lek;
				iniGetInt(File,"Money",lek);
				iniSetInt(File,"Money",lek-50000);
				iniClose(File);
				CowInfo[fBank] = CowInfo[fBank] + 50000;
			}
		}
		if(!strcmp(CowInfo[fCowArend3],"State",true))
		{
			
		}
		else
		{
			new flak = 0;
			for(new i; i < MAX_PLAYERS; i++)
			{
				GetPlayerName(i,namn,MAX_PLAYER_NAME);
				if(!strcmp(CowInfo[fCowArend3],namn,true))
				{
					flak = 1;
					GivePlayerMoney(i,-50000);
					CowInfo[fBank] = CowInfo[fBank] + 50000;
					break;
				}
			}
			if(flak == 0)
			{
				format(string,128,"%s.ini",CowInfo[fCowArend3]);
				new File = iniOpen(string),lek;
				iniGetInt(File,"Money",lek);
				iniSetInt(File,"Money",lek-50000);
				iniClose(File);
				CowInfo[fBank] = CowInfo[fBank] + 50000;
			}
		}
	}
Чуть не забыл файл занести в папу скриптфайл

PHP:
//==========================
Вот и всё

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