kasper111
Дебютант
Всем привет, дело в том что в моде есть такая проблема с иконками домов, то есть после покупки иконка дома не обновляется на красную, а после продажи не меняется на зеленую ,все пытался сделать все в пустую вот код
увидел в команде /buyhouse код
посмотрел вроде он отвечает за обновление дома но почему то я увидел этот код в команде /restart
решил создать sotck с этим кодам
но выходит ошибка
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;
PHP:
OnPropUpdate();
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;
}
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
