PDA

Просмотр полной версии : [Вопрос] Система холодильника



StevenH
22.11.2015, 22:43
Всем привет. Никак не могу допереть как сделать систему холодильника... Тоесть как улучшение (как на даймонде).
Покупаешь улучшение - холодильник появляется. Никак не могу допетрить.

Сначало хотел сделать массив, с координатами для всех интерьеров. И при покупке улучшения, узнавать hInt (ид интерьера) из базы, и с помощью массива ставить. У меня это получилось, но я не учёл одно. Интерьеров с одним и тем же идом интерьеров не мало! Например с идом 3 - 4 интерьера (я нашёл только 4-и). И как же теперь поступить?

Короче ребят, помогите по размыслить как лучше сделать. Может как нибудь типа такого:



switch(HouseInfo[h][hEnterX]) //
{
case 1020.47: Холодильник появляется по координатам дома: 1020.47, 855.15, 351.95
case 2137.05: CreateDynamicObject(2141, 2137.05, 371.31, 15.15, 0, 0, 90, h+50);
}


Но как по мне, это бредово конечно. Ребят, я понимаю что это не делается бесплатно, но я живу в Беларуси (в моём городе ни один терминал не работает уже с начала лета), и я денег кинуть не могу, что бы мне сделали.
Просто помогите :)

Массив с координатами (сразу уже под CreateDynamicObject - X, Y, Z, поворот объекта и так далее).


new Float:gHintFreez[6] = {
{2235.5417,-1111.9722,1049.7822,0.0000,0.0000,-90.0},
{2181.6320,-1201.4257,1048.0137,0.0000,0.0000,90.0},
{2317.4226,-1010.6076,1049.1505,0.0000,0.0000,-90.0},
{2259.5715,-1140.9250,1049.6018,0.0000,0.0000,90.0},
{2374.5036,-1135.4018,1049.8143,0.0000,0.0000,-90.0},
{2277.0104,-1134.2462,1049.8574,0.0000,0.0000,90.0},
{2207.1931,-1078.0441,1049.4438,0.0000,0.0000,-180.0},
{81.5933,1341.5450,1082.8161,0.0000,0.0000,0.0000},
{222.8106,1079.7976,1083.2221,0.0000,0.0000,90.0},
{244.3773,306.5402,998.1083,0.0000,0.0000,0.0000},//
{273.8364,303.5366,998.1285,0.0000,0.0000,-90.0},
{2452.5605,-1688.7540,1012.4570,0.0000,0.0000,-90.0},
{2498.2084,-1705.6575,1013.6620,0.0000,0.0000,0.2000},
{2252.3479,-1214.1237,1048.0227,0.0000,0.0000,-180.0},
{233.5347,1117.3530,1079.9711,0.0000,0.0000,90.4000},
{239.4849,1195.7725,1079.2368,0.0000,0.0000,0.0},
{231.6629,1249.4648,1081.1303,0.0000,0.0000,0.0},
{220.4749,1291.4848,1081.0595,0.0000,0.0000,180.0},
{23.6174,1346.4964,1083.3044,0.0000,0.0000,180.0},
{298.9392,1487.5650,1079.2368,0.0000,0.0000,0.0},//
{2334.2927,-1144.0842,1049.6922,0.0000,0.0000,180.0},
{-267.7491,1451.9597,1083.3664,0.0000,0.0000,0.0},
{326.8057,1482.9757,1083.4003,0.0000,0.0000,-90.0},
{32.0121,1404.4827,1083.4290,0.0000,0.0000,-90.0},
{381.8688,1452.2484,1079.1269,0.0000,0.0000,180.0},
{364.0109,1428.4283,1080.3443,0.0000,-0.6999,90.0},
{442.9196,1406.0825,1083.3435,0.0000,0.0000,180.0},
{153.7756,1378.2567,1082.8392,0.0000,0.0000,180.0},
{498.2791,1398.5397,1079.2698,0.0000,-0.5000,180.0},//29
{222.8106,1079.7976,1083.2221,0.0000,0.0000,90.0},
{266.8898,1295.5727,1079.2668,0.0000,0.0000,0.0000},//31
{-59.0046,1366.9761,1079.1899,0.0000,0.0000,0.0000},
{2814.8986,-1165.1279,1024.5367,0.0000,0.0000,0.0000},
{2207.1931,-1078.0441,1049.4438,0.0000,0.0000,-180.0},
{2240.2416,-1070.6458,1047.9724,0.0000,0.0000,90.0000},//35
{2374.5036,-1135.4018,1049.8143,0.0000,0.0000,-90.0},
{-45.0870,1402.3806,1083.3286,0.0000,0.0000,-90.1000},
{81.5933,1341.5450,1082.8161,0.0000,0.0000,0.0000},
{259.6937,1248.0192,1083.2167,0.0000,0.0000,90.3999},
{244.3773,306.5402,998.1083,0.0000,0.0000,0.0000},//40
{34.630001068115,-143.85400390625,965.61297607422,0.0000,0.0000,270.0000},
{231.6629,1249.4648,1081.1303,0.0000,0.0000,0.0},
{1544.3869629,-1364.8270264,934.8049927,0.0000000,0.0000000,90.0000000}
};


- - - Добавлено - - -

Однако проверил способ со свитчом, и он работает! Но как по мне это бредово... и даже очень...

StevenH
22.11.2015, 23:27
Проще говоря, нужна проверка на то, какой у игрока интерьер. Я пытался сделать проверку по hInt, но попадаются интерьеры с одинаковым ID interior, но с разным расположением.

#Vito
23.11.2015, 02:57
native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0);
Динамические объекты можно помещать в разные интерьеры и вирт. миры, достаточно это использовать и всё получится.
По-другому, увы, никак. По крайней мере, я не знаю другого способа.