Question

не работает такая штука,вообщем я сделал кмд которая проверяет ник игрока в бд в таблице с машинами,если найден столбец с таким ником,то спавним его тачку но:

CMD:fix(playerid,vehicleid)
{
    new query[120];
    format(query,sizeof(query),"SELECT * FROM `user_veh` WHERE `owner` = '%s'",Player[playerid][nick]);
    mysql_function_query(mysql,query,true,"check","ii",playerid,vehicleid);
    SendClientMessage(playerid, -1"true");
}
forward check(playerid,vehicleid);
public check(playerid,vehicleid)
{
    new rows,fields;
    cache_get_data(rows,fields);
    if(rows)
    {
        SendClientMessage(playerid,-1,"ssssqwe1254");
        AddStaticVehicle(vInfo[vehicleid][vModel],vInfo[vehicleid][x],vInfo[vehicleid][y],vInfo[vehicleid][z],0.0,vInfo[vehicleid][vColor1],vInfo[vehicleid][vColor2]);
    }
    else print("тест");
}
public OnGameModeInit()
{
    loadveh();
    return 1;
}
stock loadveh()
{
    mysql_query(mysql,"SELECT * FROM `user_veh`");
    new f = cache_get_row_count(mysql);
    for(new i; i < f; i++)
    {
        vInfo[i][vID] = cache_get_field_content_int(0,"vID",mysql);
        vInfo[i][vModel] = cache_get_field_content_int(0"vModel", mysql);
        vInfo[i][owner] = cache_get_field_content(0,"owner", Player[i][nick], mysql);
        vInfo[i][x] = cache_get_field_content_float(0,"x",mysql);
        vInfo[i][y] = cache_get_field_content_float(0,"y",mysql);
        vInfo[i][z] = cache_get_field_content_float(0,"z",mysql);
        vInfo[i][vColor2] = cache_get_field_content_int(0,"vColor1",mysql);
        vInfo[i][vColor2] = cache_get_field_content_int(0,"vColor2",mysql);
    }
}
public OnGameModeExit()
{
    mysql_close(mysql);
    clear(playerid);
    return 1;
}
stock clear()
{   
    new f = cache_get_row_count(mysql);
    for(new i; i < f; i++)
    {
        vInfo[i][vID] = 0;
        vInfo[i][vModel] = 0;
        vInfo[i][owner] = EOS;
        vInfo[i][x] = 0.0;
        vInfo[i][y] = 0.0;
        vInfo[i][z] = 0.0;
        vInfo[i][vColor2] = 0;
        vInfo[i][vColor2] = 0;
    }
}

если я пишу AddStaticVehicle(vInfo[vehicleid][vModel],vInfo[vehicleid][x],vInfo[vehicleid][y],vInfo[vehicleid][z],0.0,vInfo[vehicleid][vColor1],vInfo[vehicleid][vColor2]);

 

То машину не спавнит, а если AddStaticVehicle(любой ид модели, 0.0,0.0,2.0,0.0,3,0); то спавнит

Share this post


Link to post

27 answers to this question

  • 1

@DEST вывелось

@DEST в логах есть,а в игре машины нет,

Цитата

enum veh{
vID,
owner[24],
vModel,
vColor1,
vColor2,
Float:x,
Float:y,
Float:z
};

 

 

Share this post


Link to post
  • 1

@glvde. [

Спойлер

18:28:46] Number of vehicle models: 0
[18:29:21] [connection] 25.49.48.2:56574 requests connection cookie.
[18:29:22] [connection] incoming connection: 25.49.48.2:56574 id: 0
[18:29:22] [join] Derk has joined the server (0:25.49.48.2)
[18:29:57] [Pawn.CMD] HandleCommand: AMX error occurred in public pc_cmd_fix: Array index out of bounds
[18:29:59] [Pawn.CMD] HandleCommand: AMX error occurred in public OnPlayerCommandText: Array index out of bounds
[18:29:59] [Pawn.CMD] HandleCommand: AMX error occurred in public OnPlayerCommandText: Array index out of bounds

 

Share this post


Link to post
  • 1

@glvde. 

@Sleash`en Все работает только так:

forward loadveh();
public loadveh()
{
    new s[2];
    cache_get_data(s[0],s[1]);
    for(new i; i < s[0]; i++)
    {
        vInfo[i][vID] = cache_get_field_content_int(0,"vID",mysql);
        vInfo[i][vModel] = cache_get_field_content_int(0"vModel", mysql);
        vInfo[i][owner] = cache_get_field_content(0,"owner", Player[i][nick], mysql);
        vInfo[i][x] = cache_get_field_content_float(0,"x",mysql);
        vInfo[i][y] = cache_get_field_content_float(0,"y",mysql);
        vInfo[i][z] = cache_get_field_content_float(0,"z",mysql);
        vInfo[i][vColor2] = cache_get_field_content_int(0,"vColor1",mysql);
        vInfo[i][vColor2] = cache_get_field_content_int(0,"vColor2",mysql);
        AddStaticVehicle(vInfo[i][vModel], vInfo[i][x], vInfo[i][y], vInfo[i][z], 0.0, vInfo[i][vColor1], vInfo[i][vColor2]);
    }
}
CMD:fx(){ 
    new query[104];
    format(query,sizeof(query),"SELECT * FROM `user_veh`");
    mysql_function_query(mysql,query,true,"loadveh","");

public OnGameModeInit()
{
    mysql = mysql_connect(host,user,bd,sqlpass);
    CheckConnectSQL();
    new query[104];
    format(query,sizeof(query),"SELECT * FROM `user_veh`");
    mysql_function_query(mysql,query,true,"loadveh","");
    return 1;
}

 

Share this post


Link to post
  • 0
AddStaticVehicle(vInfo[vehicleid][vModel],0.0,0.0,2.0,0.0,vInfo[vehicleid][vColor1],vInfo[vehicleid][vColor2]);

попробуй так

Share this post


Link to post
  • 0

@Mishunin пытался еще раньше, не выходит

Share this post


Link to post
  • 0

@Antoxa39 ты создаешь машину, или спавнишь ее?

Share this post


Link to post
  • 0

@Mishunin AddStaticVehicle создает машину и спавнит ее

Share this post


Link to post
  • 0

@Antoxa39 ошибаешься, AddStaticVehicle - Создает.

вставь это:

SetVehicleToRespawn(vInfo[vehicleid][vModel]);

вместо этого:

AddStaticVehicle(vInfo[vehicleid][vModel],vInfo[vehicleid][x],vInfo[vehicleid][y],vInfo[vehicleid][z],0.0,vInfo[vehicleid][vColor1],vInfo[vehicleid][vColor2]);

 

Share this post


Link to post
  • 0

@Mishunin а как он коорд сделает нужные мне?

Share this post


Link to post
  • 0

@Mishunin не не помогло

Share this post


Link to post
  • 0
1 час назад, Antoxa39 сказал:

CMD:fix(playerid,vehicleid)

здесь точно принимается корректный vehicleid? Там вроде params[] должен быть. Что-то типа этого попробуйте: 

CMD:fix(playerid, params[])
{
    new vehicleid;
    if (sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, -1"USAGE: /fix [vehicleid]");
    /*продолжение команды из старт поста*/
}

 

Share this post


Link to post
  • 0

Да, типо того. Только попробуйте еще для отладки вывести vehid в консоль/чат@Antoxa39 

Share this post


Link to post
  • 0

@DEST сделал так:https://imgur.com/a/IspIBsg .

 

 

Ни в паблике не в кмд в консоль ниче не выводится. в кмд указал 0 ид, и 1 ид машины

 

то есть /fix 0 1

Share this post


Link to post
  • 0

@Antoxa39 И даже "true" в чат не выводится? 

И да, зачем еще раз нужно перезаписывать playerid? Он автоматически приходит того игрока, который ввел команду, в первом аргументе. 

Если нужно указать ID другого игрока, то нужно завести под это дело отдельную переменную, чтобы не путаться. 

Share this post


Link to post
  • 0

@Antoxa39 а в логи сервера что вывелось? После слов "да да"?

Share this post


Link to post
  • 0

А зачем нужен параметр vehicleid в команде? Это номер личного авто игрока? Т.е. он может иметь несколько машин, и здесь выбирает порядковый номер?

Share this post


Link to post
  • 0

Если найдется строка, то паблик выдаст лог в консоль. Сделал вывод координат, на которые спавнится Т/С, и не только.
Немного переписал функцию проверки.

 

Спойлер

CMD:fix(playerid, params[]) {
    new query[120];
    if(sscanf(params, "ud", params[0], params[1])) 
        return SendClientMessage(playerid, -1"Используйте: /fix [playerid] [vehid]");

    format(query, sizeof(query), "SELECT * FROM `user_veh` WHERE `owner` = '%s'", Player[params[0]][nick]);
    mysql_function_query(mysql, query, true"check""ii", params[0], params[1]);
    SendClientMessage(params[0], -1"true");
    return 1;
}

forward check(playerid, vehicleid);
public check(playerid, vehicleid) {
    new rows, fields;
    cache_get_data(rows, fields);

    if(rows) {
        for(new i; i < rows; i++) {
            vInfo[i][vModel] = cache_get_field_content_int(0"vModel", mysql);
            if(vInfo[i][vModel] != vehicleid) {
                vInfo[i][vModel] = 0;
                continue;
            }

            vInfo[i][vID] = cache_get_field_content_int(0"vID", mysql);
            vInfo[i][owner] = cache_get_field_content(0"owner", Player[i][nick], mysql);
            vInfo[i][x] = cache_get_field_content_float(0"x", mysql);
            vInfo[i][y] = cache_get_field_content_float(0"y", mysql);
            vInfo[i][z] = cache_get_field_content_float(0"z", mysql);
            vInfo[i][vColor2] = cache_get_field_content_int(0"vColor1", mysql);
            vInfo[i][vColor2] = cache_get_field_content_int(0"vColor2", mysql);

            AddStaticVehicle(vInfo[i][vModel], vInfo[i][x], vInfo[i][y], vInfo[i][z], 0.0, vInfo[i][vColor1], vInfo[i][vColor2]);
            printf("[public check]: vModel: %d; x: %2.f; y: %2.f; z: %2.f; vColor1: %d; vColor2: %d;", vInfo[i][vModel], vInfo[i][x], vInfo[i][y], vInfo[i][z], vInfo[i][vColor1], vInfo[i][vColor2]);
        }
    }
    else return print("[public check]: not found;");
    return 1;
}

 

 

Edited by glvde.

Share this post


Link to post
  • 0

new query[120];
mysql_function_query(mysql,query,true,"loadveh","");

Этот список действий должен помочь:

I. В OnGameModeInit вместо вызова стока, впишите запрос в БД через паблик:

new query[120];
mysql_function_query(mysql,query,true,"loadveh","");

II. Уберите stock с loadveh и объявите его как паблик (не забудьте про forward)

III. Уберите в loadveh следующую строчку:

mysql_query(mysql,"SELECT * FROM `user_veh`");

Ах да, лучше в loadveh сделать такой цикл:

 new rows,fields;
cache_get_data(rows,fields);
for(int i; i < rows; i++)
{
    //...
}
// P.S. не помню в объявлении должно быть < или <=, проверьте, будет ли спавниться последняя машина

 

Edited by Sleash`en

Share this post


Link to post
  • 0

@Sleash`en но есть баг,что если допустим в бд 2 машины, у них разные модели, допустим одна 402, другая 415 ид, и владельцы разные при включении серва спавнятся 2 машины, то только 402 ид

Share this post


Link to post
  • 0

@Antoxa39 Спавн авто у вас в паблике check, но туда код приходит от команды fx/fix, а вы там sscanf не прописали

Да-да, sscanf нужен не только для проверки того, написал ли игрок данные, но и присвоевает эти данные к переменным

Share this post


Link to post
  • 0

@Antoxa39 Спавн авто у вас в паблике check, но туда код приходит от команды fx/fix, а вы там sscanf не прописали

Да-да, sscanf нужен не только для проверки того, написал ли игрок данные, но и присвоевает эти данные к переменным

Share this post


Link to post
  • 0

@Sleash`en я не прописывал кмд /fix,а только /fx

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • hikkan
      By hikkan
      шапка темы.
      сервер лог:
      [03:22:32] [debug] Run time error 4: "Array index out of bounds" [03:22:32] [debug]  Attempted to read/write array element at negative index -1 [03:22:32] [debug] AMX backtrace: [03:22:32] [debug] #0 0050c6cc in BusinessHealthPickupInit (businessid=0) at C:\Users\hikkan\Desktop\mods\hikkan\gamemodes\hikkan.pwn:67817 [03:22:32] [debug] #1 004cab40 in public LoadBusinesses () at C:\Users\hikkan\Desktop\mods\hikkan\gamemodes\hikkan.pwn:62445 [03:22:32] [debug] #2 002506c0 in public ca_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\gamemodes\hikkan.pwn:9814 [03:22:32] [debug] #3 00239420 in public PawnRakNet_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\gamemodes\hikkan.pwn:8883 [03:22:32] [debug] #4 000132e0 in public n_veh_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\pawno\include\Pawn.RakNet.inc:1153 [03:22:32] [debug] #5 000112b4 in public n_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\pawno\include\system/vehicle.pwn:1506 [03:22:32] [debug] #6 0000fe5c in public PawnCmd_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\pawno\include\system/pickup.pwn:133 [03:22:32] [debug] #7 0000a624 in public SSCANF_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\pawno\include\pawncmd.inc:125 [03:22:32] [debug] #8 00003974 in public fc_OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\pawno\include\sscanf2.inc:211 [03:22:32] [debug] #9 00001240 in public OnGameModeInit () at C:\Users\hikkan\Desktop\mods\hikkan\pawno\include\foreach.inc:581 где-то здесь ругается:
      public: LoadBusinesses() {         new query[85], buffer[2];         new Cache: result, rows;         result = mysql_query(mysql, "SELECT b.*, IFNULL(a.name, 'None') AS owner_name FROM business b LEFT JOIN accounts_1101 a ON a.id=b.owner_id", true);         //result = mysql_query(mysql, "SELECT * FROM business", true);         rows = cache_num_rows();         if(rows > MAX_BUSINESS)         {                 rows = MAX_BUSINESS;                 print("[Business]: DB rows > MAX_BUSINESS");         }         for(new idx; idx < rows; idx ++)         {                 SetBusinessData(idx, B_SQL_ID,          cache_get_field_content_int(idx, "id"));                 SetBusinessData(idx, B_OWNER_ID,        cache_get_field_content_int(idx, "owner_id"));                 cache_get_field_content(idx, "name", g_business[idx][B_NAME], mysql, 30);                 SetBusinessData(idx, B_CITY,                    cache_get_field_content_int(idx, "city"));                 SetBusinessData(idx, B_ZONE,                    cache_get_field_content_int(idx, "zone"));                 SetBusinessData(idx, B_IMPROVEMENTS,    cache_get_field_content_int(idx, "improvements"));                 SetBusinessData(idx, B_PRODS,                   cache_get_field_content_int(idx, "products"));                 SetBusinessData(idx, B_PROD_PRICE,              cache_get_field_content_int(idx, "prod_price"));                 cache_get_field_content(idx, "balance", g_business[idx][B_BALANCE], mysql, 21);                 SetBusinessData(idx, B_RENT_DATE,               cache_get_field_content_int(idx, "rent_time"));                 SetBusinessData(idx, B_PRICE,                   cache_get_field_content_int(idx, "price"));                 SetBusinessData(idx, B_RENT_PRICE,              cache_get_field_content_int(idx, "rent_price"));                 SetBusinessData(idx, B_TYPE,                    cache_get_field_content_int(idx, "type"));                 SetBusinessData(idx, B_INTERIOR,                cache_get_field_content_int(idx, "interior"));                 SetBusinessData(idx, B_ENTER_PRICE,             cache_get_field_content_int(idx, "enter_price"));                 SetBusinessData(idx, B_ENTER_MUSIC,             cache_get_field_content_int(idx, "enter_music"));                 SetBusinessData(idx, B_LOCK_STATUS,             bool: cache_get_field_content_int(idx, "lock"));                 SetBusinessData(idx, B_POS_X,                   cache_get_field_content_float(idx, "x"));                 SetBusinessData(idx, B_POS_Y,                   cache_get_field_content_float(idx, "y"));                 SetBusinessData(idx, B_POS_Z,                   cache_get_field_content_float(idx, "z"));                 SetBusinessData(idx, B_EXIT_POS_X,              cache_get_field_content_float(idx, "exit_x"));                 SetBusinessData(idx, B_EXIT_POS_Y,              cache_get_field_content_float(idx, "exit_y"));                 SetBusinessData(idx, B_EXIT_POS_Z,              cache_get_field_content_float(idx, "exit_z"));                 SetBusinessData(idx, B_EXIT_ANGLE,              cache_get_field_content_float(idx, "exit_angle"));                 SetBusinessData(idx, B_EVICTION,                cache_get_field_content_int(idx, "eviction"));                 SetBusinessData(idx, B_ELECTRICITY,             cache_get_field_content_int(idx, "electricity"));                 SetBusinessData(idx, B_IZNOS,           cache_get_field_content_int(idx, "iznos"));                 SetBusinessData(idx, B_TIME_REPAIR_1,           cache_get_field_content_int(idx, "time_repair_1"));                 SetBusinessData(idx, B_TIME_REPAIR_2,           cache_get_field_content_int(idx, "time_repair_2"));                 SetBusinessData(idx, B_TYPEWETRIKI,             cache_get_field_content_int(idx, "typewetriki"));                 SetBusinessData(idx, B_GANG,            cache_get_field_content_int(idx, "gang"));                 //mysql_format(mysql, query, sizeof query, "UPDATE business SET id=%d WHERE id='%d'", idx, cache_get_field_content_int(idx, "id"));                 //mysql_query(mysql, query, false);                 zone_war_z[idx] = GangZoneCreate                 (                         GetBusinessData(idx, B_POS_X)-6,                         GetBusinessData(idx, B_POS_Y)-6,                         GetBusinessData(idx, B_POS_X)+6,                         GetBusinessData(idx, B_POS_Y)+6                 );                 // ----------------------------------------------------------------------------------                 zone_war_a[idx] = CreateDynamicRectangle                 (                         GetBusinessData(idx, B_POS_X)-6,                         GetBusinessData(idx, B_POS_Y)-6,                         GetBusinessData(idx, B_POS_X)+6,                         GetBusinessData(idx, B_POS_Y)+6                 );                 cache_get_field_content(idx, "owner_name", g_business[idx][B_OWNER_NAME], mysql, 21);                 // -------------------------                 SetBusinessData(idx, B_ORDER_ID, -1);                 SetBusinessData(idx, B_LABEL, CreateDynamic3DTextLabel(GetBusinessData(idx, B_NAME), 0xFFFF00FF, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z) + 1.0, 6.50));                 if(GetBusinessData(idx, B_CITY) == -1 || GetBusinessData(idx, B_ZONE) == -1)                 {                         buffer[0] = Get2DCity(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y));                         buffer[1] = Get2DZone(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y));                         SetBusinessData(idx, B_CITY, buffer[0]);                         SetBusinessData(idx, B_ZONE, buffer[1]);                         mysql_format(mysql, query, sizeof query, "UPDATE business SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], GetBusinessData(idx, B_SQL_ID));                         mysql_query(mysql, query, false);                 }                 if(IsBusinessOwned(idx) && !strcmp(GetBusinessData(idx, B_OWNER_NAME), "None", true))                 {                         SetBusinessData(idx, B_OWNER_ID, 0);                         mysql_format(mysql, query, sizeof query, "UPDATE business SET owner_id=0,improvements=0 WHERE id=%d", GetBusinessData(idx, B_SQL_ID));                         mysql_query(mysql, query, false);                 }                 if(!IsBusinessOwned(idx))                 {                         SetBusinessData(idx, B_PRODS,           0);                         SetBusinessData(idx, B_PROD_PRICE,      0);                         SetBusinessData(idx, B_LOCK_STATUS, false);                         SetBusinessData(idx, B_ENTER_MUSIC, 0);                         SetBusinessData(idx, B_ENTER_PRICE, 0);                         if(GetBusinessData(idx, B_IMPROVEMENTS) >= 6)                         {                                 mysql_format(mysql, query, sizeof query, "DELETE FROM business_gps WHERE bid=%d", idx);                                 mysql_query(mysql, query, false);                         }                 }                 CallLocalFunction("UpdateBusinessLabel", "i", idx);                 BusinessHealthPickupInit(idx); //Иконки для бизов                 if(GetBusinessData(idx, B_TYPE) == 1) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 40, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 2) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 49, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 3 || GetBusinessData(idx, B_TYPE) == 4) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 28, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 5) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 45, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 8) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 25, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 9) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 26, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 17 || GetBusinessData(idx, B_TYPE) == 26 || GetBusinessData(idx, B_TYPE) == 23) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 23) CreatePickup(1275, 25, GetBusinessData(idx, B_EXIT_POS_X), GetBusinessData(idx, B_EXIT_POS_Y), GetBusinessData(idx, B_EXIT_POS_Z), 0, PICKUP_ACTION_TYPE_SHIN, idx);                 if(GetBusinessData(idx, B_TYPE) == 24) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 38, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 25) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 39, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 27) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 18, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 30) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 46, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 31) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 10, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 11) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 6, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 12) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 52, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 32) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 21, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 29) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 34, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 39) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 5, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 23) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 62, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 16) CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 if(GetBusinessData(idx, B_TYPE) == 17 || GetBusinessData(idx, B_TYPE) == 18 || GetBusinessData(idx, B_TYPE) == 19 || GetBusinessData(idx, B_TYPE) == 20 || GetBusinessData(idx, B_TYPE) == 21 || GetBusinessData(idx, B_TYPE) == 23 || GetBusinessData(idx, B_TYPE) == 43)                 {                         if(GetBusinessData(idx, B_TYPE) == 20)                         {                                 CreatePickup(1083, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                                 CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                         }                         else if(GetBusinessData(idx, B_TYPE) == 21 || GetBusinessData(idx, B_TYPE) == 31) CreatePickup(18631, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                         else CreatePickup(1274, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                 }                 else if(GetBusinessData(idx, B_TYPE) == 37)                 {                         CreatePickup(1650, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                         CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 59, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                 }                 else if(GetBusinessData(idx, B_TYPE) == 44)                 {                         CreatePickup(1275, 25, GetBusinessData(idx, B_EXIT_POS_X), GetBusinessData(idx, B_EXIT_POS_Y), GetBusinessData(idx, B_EXIT_POS_Z), -1, PICKUP_ACTION_TYPE_TK_MENU, idx);                         CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 51, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                         CreatePickup(1274, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                         CreateDynamic3DTextLabel("Информация о\nтрудоустройствие",0xFFFFFFFF, GetBusinessData(idx, B_EXIT_POS_X), GetBusinessData(idx, B_EXIT_POS_Y), GetBusinessData(idx, B_EXIT_POS_Z) + 0.5,16.0);                 }                 else if(GetBusinessData(idx, B_TYPE) == 45)                 {                         CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 9, 0, 0, 0, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);                         CreatePickup(1274, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                 }                 else                 {                         CreatePickup(19132, 25, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);                 }                 biz_area[idx] = CreateDynamicSphere(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 3.0, 0, 0, -1);         }         g_business_loaded = rows;         cache_delete(result);         for(new idx; idx < sizeof g_business_interiors; idx ++)         {                 CreatePickup(19132, 23, GetBusinessInteriorInfo(idx, BT_EXIT_POS_X), GetBusinessInteriorInfo(idx, BT_EXIT_POS_Y), GetBusinessInteriorInfo(idx, BT_EXIT_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_EXIT, idx);                 buffer[0] = -1;                 switch(idx)                 {                         case BUSINESS_INTERIOR_SHOP_24_7:                         {                                 CreateDynamic3DTextLabel                                 (                                         "Список товаров",                                         0x00CC00EE,                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_X),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,                                         8.0                                 );                                 CreatePickup(10270, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_SHOP_247, idx);                         }                         case BUSINESS_INTERIOR_ZAKUS:                         {                                 CreatePickup(10270, 23, -1852.6345,1277.0465,1115.8447, -1, -1, idx);                         }                         case BUSINESS_INTERIOR_APTEKA:                         {                             apteka_cp = CreateDynamicCP(-2279.0518,-1485.6300,1001.0000, 1.0);                         }                         case BUSINESS_INTERIOR_SHOP_GARDEN:                         {                                 CreatePickup(19134, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_GARDEN, idx);                                 CreateDynamicCP(-1038.3335,687.4626,1001.0000, 1.5);                         }                         case BUSINESS_INTERIOR_AVTOZAP:                         {                                 /*CreateDynamic3DTextLabel                                 (                                         "{1E90FF}Магазин автозапчастей",                                         0x00CC00EE,                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_X),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,                                         8.0                                 );*/                                 CreatePickup(19134, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_AVTOZAP, idx);                                 CreateDynamicCP(1555.7836,-2400.7815,1001.0000, 1.0);                         }                         case BUSINESS_INTERIOR_PARIK:                         {                                 CreateDynamic3DTextLabel                                 (                                         "Покупка аксессуаров",                                         0x00CC00EE,                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_X),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,                                         8.0                                 );                                 CreatePickup(1276, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BARBER, idx);                         }                         case BUSINESS_INTERIOR_CLUB, BUSINESS_INTERIOR_CASINO:                         {                                 CreateDynamic3DTextLabel                                 (                                         "Меню бара:\n\n"\                                         "{6699FF}1. Лимонад\n"\                                         "2. Пиво\n"\                                         "3. Вино\n"\                                         "4. Шампанское\n"\                                         "5. Водка\n"\                                         "6. Коньяк\n"\                                         "7. Виски\n"\                                         "8. Абсент\n"\                                         "{00CC66}9. Закуска\n"\                                         "10. Сигара",                                         0xFFFFFFCC,                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),                                         9.0                                 );                                 buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), 1.0, _, _, _, 8.0);                         }                         case BUSINESS_INTERIOR_REALTOR_BIZ:                         {                                 g_business_realtor_label = CreateDynamic3DTextLabel                                 (                                         "Состояние бизнеса",                                         0xCCFF66FF,                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),                                         10.0                                 );                                 CreatePickup(1239, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1);                                 buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) - 1.0, 1.2, _, _, _, 10.0);                                 CallLocalFunction("UpdateRealtorBizInfo", "");                         }                         case BUSINESS_INTERIOR_REALTOR_HOME:                         {                                 g_house_realtor_label = CreateDynamic3DTextLabel                                 (                                         "Состояние недвижимости",                                         0xCCFF66FF,                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),                                         10.0                                 );                                 CreatePickup(1239, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1);                                 buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), 0.7, _, _, _, 5.0);                                 CallLocalFunction("UpdateRealtorHomeInfo", "");                         }                         case BUSINESS_INTERIOR_CLOTHING_SHOP:                         {                                 CreatePickup(1275, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_CLOTHING, idx);                         }                         case BUSINESS_INTERIOR_HOTEL:                         {                                 CreatePickup(1277, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1);                                 CreateDynamic3DTextLabel("Услуги\n{FFFFFF}гост. комплекса", 0x3399FFFF, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8, 5.0);                                 buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), 1.2, _, _, _, 20.0);                         }                         case BUSINESS_INTERIOR_CAR_MARKET:                         {                         //      CreatePickup(19134, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_CAR_MARK, idx);                         //      CreateDynamic3DTextLabel("Покупка\nтранспорта", 0xCC6600EE, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8, 5.0);                         }                         case BUSINESS_INTERIOR_CELL_SALON:                         {                                 CreateDynamic3DTextLabel                                 (                                         "Сотовый\n"\                                         "салон\n"\                                         "{FFD83D}Введите /buy",                                         0x00CC00EE,                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_X),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,                                         8.0                                 );                                 CreatePickup(19134, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_CELL_SALON, idx);                         }                         case BUSINESS_INTERIOR_CAR_TUNING:                         {                                 CreatePickup(19134, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_CAR_TUN, idx);                                 CreateDynamic3DTextLabel("Обслуживание\nтранспорта", 0xCC6600EE, GetBusinessInteriorInfo(idx, BT_LABEL_POS_X), GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y), GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z), 5.0);                         }                         case BUSINESS_INTERIOR_COMP_CLUB:                         {                             CreatePickup(1314, 23, 652.1079,-15.6575,1001.4328, -1, PICKUP_ACTION_TYPE_BIZ_PC_GAME, idx);                                 CreatePickup(1581, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_PC_CLUB, idx);                         }                         case BUSINESS_INTERIOR_TIR:                         {                                 CreateDynamic3DTextLabel                                 (                                         "Покупка\n"\                                         "Оружия",                                         0x00CC00EE,                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_X),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,                                         8.0                                 );                                 CreatePickup(1239, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_TIR, idx);                         }                         case BUSINESS_INTERIOR_BUY_GUN:                         {                                 CreateDynamic3DTextLabel                                 (                                         "Покупка\n"\                                         "Оружия",                                         0x00CC00EE,                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_X),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),                                         GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,                                         8.0                                 );                                 CreatePickup(353, 23, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_GUN, idx);                         }                 }                 SetBusinessInteriorInfo(idx, BT_BUY_CHECK_ID, buffer[0]);         }         BusinesGPSListInit();         printf("[Business]: Бизнесов загружено: %d", g_business_loaded); }