vovaven
Дебютант
Почему при создании дома, айди ставится на все дома, а не на тот который поставил? Например: Я поставил дом, его ID = 0. Когда я создаю следующий дом, Все дома которые есть на сервере меняются на ID = 1. Потом ID = 2. И т.д.
Вот кейс создания:
Вот кейс создания:
Код:
case 15:
{
if(response)
{
m_h++;
printf("Создается дом под идом - %d", m_h);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
House[m_h][hID]=m_h,
House[m_h][hX]=x,
House[m_h][hY]=y,
House[m_h][hZ]=z,
House[m_h][hPrice]=GetPVarInt(playerid,"h_price"),
House[m_h][hInterior]=GetPVarInt(playerid,"h_int"),
House[m_h][hVirtWorld]=m_h,
strmid(House[h][hOwner],"None",0,5,5);
House[m_h][hLock]=1,
House[m_h][hPick]=CreatePickup(1273,23,x,y,z,0),
House[m_h][hIcon]=CreateDynamicMapIcon(x,y,z, 31, 0, -1, -1, -1, 100.0);
DeletePVar(playerid,"h_price"),DeletePVar(playerid,"h_int");
static fmt_str[] = \
"INSERT INTO `houses` \
(`id`,\
`x`, \
`y`, \
`z`, \
`interior`, \
`virtworld`, \
`price`, \
`lock`) \
VALUES \
('%d', \
'%f', \
'%f', \
'%f', \
'%d', \
'%d', \
'%d', \
'0') \
";
new string[sizeof(fmt_str)-2+4-2+5-2+5-2+5-2+3-2+3-2+11-2+2];
mysql_format(connect_mysql, string, sizeof(string), fmt_str
,
House[m_h][hID],
House[m_h][hX],
House[m_h][hY],
House[m_h][hZ],
House[m_h][hInterior],
House[m_h][hVirtWorld],
House[m_h][hPrice],
House[m_h][hLock]
);
mysql_function_query(connect_mysql, string, false, "", "");
}
else DeletePVar(playerid,"h_price"),DeletePVar(playerid,"h_int"); // Иначе если игрок нажал "Отмена" удаляем PVar's.
}
