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

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

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

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

Баг с иконками домов

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

kasper111

Дебютант
Всем привет, дело в том что в моде есть такая проблема с иконками домов, то есть после покупки иконка дома не обновляется на красную, а после продажи не меняется на зеленую ,все пытался сделать все в пустую вот код

PHP:
else if(listitem == 2)
        	{
        	PlayerInfo[playerid][pPhousekey] = 255;
        	    HouseInfo[house][hHel] = 0;
				HouseInfo[house][hArm] = 0;
				HouseInfo[house][hTV] = 0;
				HouseInfo[house][hLock] = 1;
				HouseInfo[house][hOwned] = 0;
				GetPlayerName(playerid, sendername, sizeof(sendername));
				strmid(HouseInfo[house][hOwner], "ArsenaL", 0, strlen("ArsenaL"), 255);
				GiveMoney(playerid,HouseInfo[house][hValue]);
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				format(string, sizeof(string), "Вы продали свой дом за $%d!", HouseInfo[house][hValue]);
				SendClientMessage(playerid, COLOR_LIGHTRED, string);
				PlayerInfo[playerid][pPhousekey] = 255;
				SetPlayerPos(playerid,HouseInfo[house][hEntrancex],HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]);
                SetPlayerInterior(playerid,0);
				PlayerInfo[playerid][pInt] = 0;
				SetPlayerVirtualWorld(playerid, 0);
				HouseInfo[house][hValue] = 2000001;
				format(string, sizeof(string), "Дом Продается\n[ID:%d]\nЦена: $%d\nУровень: %d",house,HouseInfo[house][hValue],HouseInfo[house][hLevel]); // дом продается
				HouseInfo[house][hPickup] = CreatePickup(1273, 23,HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey], HouseInfo[house][hEntrancez],-1);pickups++;
				HouseInfo[house][hMIcon] = CreateDynamicMapIcon(HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey], HouseInfo[house][hEntrancez],31,0,-1,-1,-1,200.0);
    			Update3DTextLabelText(HouseInfo[house][hLabel], COLOR_HOUSE, string);
                SetVehicleNumberPlate(house+1,HouseInfo[house][hOwner]);
				OnPropUpdate(h);
				OnPlayerUpdateSG(playerid);
				return 1;
			}
        }
PHP:
for(new h = 0; h < sizeof(HouseInfo); h++)
    {
        new text[600];
        switch(HouseInfo[h][hOwned])
        {
            case 0:
            {
                format(text, sizeof(text), "Дом Продается\n[ID:%d]\nЦена: $%d\nУровень: %d",h,HouseInfo[h][hValue],HouseInfo[h][hLevel]);
                HouseInfo[h][hPickup] = CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],-1); pickups++;
				HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
            }
            case 1:
            {
                format(text, sizeof(text), "[ID:%d]\nВладелец: %s\nУровень: %d",h,HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
                HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1, 400.0);
	            HouseInfo[h][hPickup] = CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],-1); pickups++;
            }
        }
        HouseInfo[h][hLabel] = Create3DTextLabel(text,0xFFFFFFFF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez]+1,20.0,0,1);
    }

PHP:
if(strcmp(cmd, "/buyhouse", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
 	        new Float:oldposx, Float:oldposy, Float:oldposz;
			GetPlayerName(playerid, playername, sizeof(playername));
			GetPlayerPos(playerid, oldposx, oldposy, oldposz);
            for(new h = 0; h < sizeof(HouseInfo); h++)
			{
			if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
			{
			
					if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
					{
						format(string, sizeof(string), "У вас должен быть уровень %d, чтобы купить этот дом!", HouseInfo[h][hLevel]);
						SendClientMessage(playerid, COLOR_GRAD5, string);
						return 1;
					}
					if(PlayerInfo[playerid][pPhousekey] != 255)
					{
						SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть дом!");
						return 1;
					}
					if(PlayerInfo[playerid][pMotel] != 255)
					{
						SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть комната в отеле!");
						return 1;
					}
					if(GetMoney(playerid) > HouseInfo[h][hValue])
					{
						PlayerInfo[playerid][pPhousekey] = h;//
						OnPlayerUpdateSG(playerid);
						/*for(new i = 0; i < sizeof(HousecarInfo); i++)
						{
						if (HousecarInfo[i][cHouse] == PlayerInfo[playerid][pPhousekey])
						{
						PlayerInfo[playerid][pPhousecarkey] = i;
						}
						}*/
						HouseInfo[h][hOwned] = 1;//
						GetPlayerName(playerid, sendername, sizeof(sendername));
                        strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
						GiveMoney(playerid,-HouseInfo[h][hValue]);
						PlayerPlayMusic(playerid);
						SetPlayerInterior(playerid,HouseInfo[h][hInt]);
						SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
						GameTextForPlayer(playerid, "~w~ѓOЂPO ЊO„A‡O‹AЏ’ ѓO–O†~n~‹‘ –O„EЏE ‹‘†Џ… ЌEPE€ ѓ‹EP’", 5000, 3);
						PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
						PlayerInfo[playerid][pLocal] = h;
						SetPlayerVirtualWorld(playerid,h+50);
						SendClientMessage(playerid, TEAM_VAGOS_COLOR, "Примите поздравления! Теперь у вас есть дом!");
						SendClientMessage(playerid, TEAM_VAGOS_COLOR, "Введите /househelp чтобы посмотреть информацию!");
                        if(HouseInfo[h][hRentabil] == 0)
						{
							format(string, sizeof(string), "[ID:%d]\n[Владелец: %s]\n[Уровень: %d]",h,HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
						}
						else
						{
							format(string, sizeof(string), "[Владелец: %s]\n[Стоимость аренды: $%d]\n[Уровень: %d]\n[Снять комнату - /rentroom]",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
						}
						CreateDynamicMapIcon(HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],32,0,-1,-1,-1,200.0);//
						AddStaticPickup(1272,1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
						pickups++;
						Update3DTextLabelText(HouseInfo[h][hLabel], COLOR_HOUSE, string);
						SetVehicleNumberPlate(h+1,HouseInfo[h][hOwner]);
                        DateProp(playerid);
						OnPropUpdate();
						OnPlayerUpdateSG(playerid);
						return 1;
					}
					else
					{
						SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько денег!");
						return 1;
					}
			}
			}
		}
		return 1;
увидел в команде /buyhouse код
PHP:
OnPropUpdate();
посмотрел вроде он отвечает за обновление дома но почему то я увидел этот код в команде /restart

PHP:
if(strcmp(cmd, "/restart", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	  		if (PlayerInfo[playerid][pAdmin] >= 6)
			{
			    SendClientMessageToAll(COLOR_GRAD1,"Ïåðåçàãðóçêà ñåðâåðà!");
			    DateProp(playerid);
				OnPropUpdate();
			    OnPlayerUpdateSG(playerid);
				GameModeInitExitFunc();
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
            if(IsPlayerConnected(i)) Kick(i);
            }
            return 1;
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Âû íå óïîëíîìî÷åíû èñïîëüçîâàòü ýòó êîìàíäó!");
			}
		}
		return 1;
    }
решил создать sotck с этим кодам

PHP:
stock OnPropUpdate(idx)
{
	new text[600];
	DestroyDynamicMapIcon(HouseInfo[idx][hMIcon]);
	DestroyPickup(HouseInfo[idx][hPickup]);
	switch(HouseInfo[idx][hOwned])
	{
	    case 0:
		{
		    format(text,sizeof(text),"Дом Продается\n[ID:%d]\nЦена: $%d\nУровень: %d",idx,HouseInfo[idx][hValue],HouseInfo[idx][hLevel]);
	        HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez], 31, COLOR_WHITE, 0, -1, -1, 400.0);
	        HouseInfo[idx][hPickup] = CreatePickup(1273, 23, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez],-1); pickups++;
		}
		case 1:
		{
		    format(text,sizeof(text),"[ID:%d]\nВладелец: %s\nУровень: %d",idx,HouseInfo[idx][hOwner],HouseInfo[idx][hLevel],HouseInfo[idx][hValue]);
			HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez], 32, COLOR_WHITE, 0, -1, -1, 400.0);
			HouseInfo[idx][hPickup] = CreatePickup(1272, 23, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez],-1); pickups++;
		}
	}
	Update3DTextLabelText(HouseInfo[idx][hLabel], 0xFFFFFFFF, text);
}
но выходит ошибка
PHP:
C:\Users\Panda\Desktop\Armada\gamemodes\ArsenaL.pwn(46442) : error 025: function heading differs from prototype
C:\Users\Panda\Desktop\Armada\gamemodes\ArsenaL.pwn(46443) : error 021: symbol already defined: "OnPropUpdate"
C:\Users\Panda\Desktop\Armada\gamemodes\ArsenaL.pwn(46463) : warning 209: function "OnPropUpdate" should return a value
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу