Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для johnlaw
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.04.2018
    Сообщений
    28
    Репутация:
    0 ±

    GPS координаты путаются

    Не могу понять вроде бы всё выполнил верно однако какие то работают правильно какие то путаются.
    Вот код:

    PHP код:
    enum e_COORD_GPS_INFO
    {
         
    name_gps[31],
         
    Float:pos_x,
         
    Float:pos_y,
         
    Float:pos_z //gpscmd
    };
    static const 
    GPSCoords[][e_COORD_GPS_INFO] =

        
    // Основные места [0-3] 
        
    {"Автошкола"2263.7710,-1341.343023.9836}, 
        {
    "Мэрия"1476.1597, -1739.596113.5469}, 
        {
    "Центральный банк"1421.6970, -1706.260713.5469}, 
        {
    "Магазин одежды"1738.7910, -1586.773113.5540}, 
        {
    "Магазин мебели"1738.8630, -1589.248413.5438}, 
        
    // Работы [4-9] 
        
    {"Лесопилка"2005.89172355.460730.6250}, 
        {
    "Шахта"2094.4832,-631.7184,63.7913}, 
        {
    "Продавец пиццы"2103.7483,-1806.2817,13.5547}, 
        {
    "База дальнобойщиков", -119.5016, -381.84931.4297}, 
        {
    "База таксистов"1104.0240,-1741.0205,13.4709}, 
        {
    "База автобусников",1242.4487,-1832.6426,13.3960}, 
        {
    "Мэрия [Работы штата]",1476.1597,-1739.5961,13.5469}, 
        
    // Конечная остановка автобусов [10-11] 
        
    {"Конечная в ЛС"2263.7710,-1341.3430,23.9836},// 
        
    {"Конечная в СФ"2263.7710,-1341.3430,23.9836},// 
        // Местоположение организации 
            // Гос. орг. LS [12-15] 
        
    {"Мэрия ЛС"1476.1597,-1739.5961,13.5469}, 
        {
    "LSPD"1541.0000,-1675.4686,13.5517}, 
        {
    "Больница ЛС"1178.6862,-1323.6720,14.1323}, 
        {
    "Радиоцентр ЛС"2263.7710,-1341.3430,23.9836},// 
            // Гос. орг. SF [16-20] 
        
    {"Мэрия СФ"2263.7710,-1341.3430,23.9836},// 
        
    {"SFPD"2263.7710,-1341.3430,23.9836},// 
        
    {"FBI"2263.7710,-1341.3430,23.9836},// 
        
    {"Больница СФ"2263.7710,-1341.3430,23.9836},// 
        
    {"Радиоцентр СФ"2263.7710,-1341.3430,23.9836},// 
            // Преступные группировки (Мафии) [21-23] 
        
    {"Русская мафия", -2810.0884,-329.6508,7.0313}, 
        {
    "La Cosa Nostra"1263.7715,-2053.2397,59.3391}, 
        {
    "Yakuza"1527.4115,656.5926,10.8771}, 
            
    // Преступные группировки (Банды) [24-28] 
        
    {"Groove Street"2494.0842,-1669.8505,13.3359}, 
        {
    "Vagos Gang"2782.7385,-1619.1322,10.9219}, 
        {
    "Varios Los Aztecas"1670.4502,-2113.2258,13.5469}, 
        {
    "Rifa Gang"2262.1743,-1045.3622,51.3493}, 
        {
    "Ballas Gang"2515.0266,-2008.8679,13.2813
    }; 
    PHP код:
            case DIALOG_GPS:  //gpscmd
            

                if(!
    response) return true
                switch(
    listitem
                { 
                    case 
    0ShowPlayerDialog(playerid,DIALOG_GPS+1,DIALOG_STYLE_LIST,"GPS | Основные места","Автошкола\nМэрия\nЦентральный банк\nМагазин мебели","Выбрать","Назад"), SetPVarInt(playerid"GPSTip"1); 
                    case 
    1ShowPlayerDialog(playerid,DIALOG_GPS+1,DIALOG_STYLE_LIST,"GPS | Работы","Лесопилка\nШахта по добычи металла\nПродавец пиццы\nБаза дальнобойщиков\nБаза таксистов\nБаза автобусников\nМэрия ({d3d3d3}Работы штата{ffffff})","Выбрать","Назад"), SetPVarInt(playerid"GPSTip"2); 
                    case 
    2ShowPlayerDialog(playerid,DIALOG_GPS+1,DIALOG_STYLE_LIST,"GPS | Конечные остановки","Конечная в ЛС\nКонечная в СФ","Выбрать","Назад"), SetPVarInt(playerid"GPSTip"3); 
                    case 
    3ShowPlayerDialog(playerid,DIALOG_GPS+2,DIALOG_STYLE_LIST,"GPS | Местоположение организации","Гос. организации ЛС\nГос. организации СФ\nМафии\nБанды","Выбрать","Назад"); 
                    case 
    4ShowPlayerDialog(playerid,DIALOG_GPS+3,DIALOG_STYLE_LIST,"GPS | Бизнесы","Бизнесы в LS\nБизнесы в SF","Выбрать","Отмена"); 
                    case 
    5send(playerid, -1"[Авторынки] В разработке"); 
                } 
                return 
    true
            } 
            case 
    DIALOG_GPS+1
            { 
                if(!
    response) return gps_load(playerid); 
                new 
    listemstr[50]; 
                switch(
    GetPVarInt(playerid"GPSTip")) 
                { 
                    case 
    1listem listitem
                    case 
    2listem listitem+3
                    case 
    3listem listitem+4
                    case 
    4listem listitem+12
                    case 
    5listem listitem+16
                    case 
    6listem listitem+21
                    case 
    7listem listitem+24
                } 
                
    DeletePVar(playerid"GPSTip"); 

                
    SetPlayerCheckpoint(playerid,GPSCoords[listem][pos_x],GPSCoords[listem][pos_y],GPSCoords[listem][pos_z],5.0); 
                
    f(str"[%s] Метка отмечена на карте."GPSCoords[listem][name_gps]); 
                
    send(playerid,COLOR_WHITE,str); 
                return 
    true
            } 
            case 
    DIALOG_GPS+2:
            {
                if(!
    response) return gps_load(playerid);
                new 
    str[90], str2[512], foren[2];
                switch(
    listitem)
                {
                    case 
    0foren[0] = 12foren[1] = 15;
                    case 
    1foren[0] = 16foren[1] = 20;
                    case 
    2foren[0] = 21foren[1] = 23;
                    case 
    3foren[0] = 24foren[1] = 28;
                }
                
    SetPVarInt(playerid"GPSTip"listitem+4);
                for(new 
    foren[0]; foren[1]; i++)
                {
                    
    f(str"%s\n",GPSCoords[i][0]);
                    
    strcat(str2str);
                }
                
    ShowPlayerDialog(playerid,DIALOG_GPS+1,DIALOG_STYLE_LIST,"GPS | Местоположение организации"str2"Далее","Отмена");
                return 
    true;
            }
            case 
    DIALOG_GPS+3:
            {
                if(!
    response) return true;
                if(
    listitem == 0SetPVarInt(playerid"GPSG"C_LS);
                else 
    SetPVarInt(playerid"GPSG"C_SF);
                
    ShowPlayerDialog(playerid,DIALOG_GPS+4,DIALOG_STYLE_LIST,"GPS | Бизнесы","Магазины оружия\nЗакусочные(бургер)\nЗакусочные(курица)\nЗакусочные(pizza)\nМагазины(24/7)\nМагазины одежды\nКлубы","Выбрать","Отмена");
                return 
    1;
            }
            case 
    DIALOG_GPS+4:
            {
                if(!
    response) return true;
                new 
    listemstr[90], str2[512];
                if(
    listitem 4listem listitem+1;
                else if(
    listitem == 5listem 8;
                else if(
    listitem == 6listem 10;
                
    send(playerid, -1"Внимание! Бизнесы по городам не расставлены!");
                for(new 
    iBIZNESi++)
                {
                    if(
    BiznesInfo[i][bTip] != listem/*|| BiznesInfo[i][bCity] != GetPVarInt(playerid, "GPSG")*/) continue;
                    
    f(str"%s\n",GPSCoords[i][0]);
                    
    strcat(str2str);
                }
                
    ShowPlayerDialog(playerid,DIALOG_GPS+6,DIALOG_STYLE_LIST,"GPS | Бизнесы"str2"Далее","Отмена");
                return 
    1;
            }
            case 
    DIALOG_GPS+6:
            {
                if(!
    response) return true;
                new 
    str[70];
                
    //if(Taxi_GO[playerid] == 1) SetPlayerCheckpoint(Taxi_Duty[GetPlayerVehicleID(playerid)],BiznesInfo[listitem+1][bEnterX],BiznesInfo[listitem+1][bEnterY],BiznesInfo[listitem+1][bEnterZ],5.0), SetPVarInt(playerid, "TaxiGo",1);
                
    SetPlayerCheckpoint(playerid,BiznesInfo[listitem+1][bEnterX],BiznesInfo[listitem+1][bEnterY],BiznesInfo[listitem+1][bEnterZ],5.0);
                
    f(str"[%s] Метка отмечена на карте."BiznesInfo[listitem+1][bMessage]);
                
    send(playerid,COLOR_WHITE,str);
                return 
    1;
            } 

  2. #2
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    PHP код:
    case 1listem listitem;  
                    case 
    2listem listitem+3;  
                    case 
    3listem listitem+4;  
                    case 
    4listem listitem+12;  
                    case 
    5listem listitem+16;  
                    case 
    6listem listitem+21;  
                    case 
    7listem listitem+24
    проблема явно в этом блоке кода, так как именно этим ты задаешь какой пункт именно он выберет.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •