Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 6 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 55
  1. #1
    Аватар для Danny_Marcelo
    Пользователь

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

    /inter (телепорт по локациям)

    Всем привет дорогие пользователи Pro - Pawn. Сегодня я Вам выкладываю очень полезную команду для телепорта по локациям. Сделал 150 разных локаций. Итак приступим:

    К переменным:

    PHP код:
    enum e_Teleport_Points {
        
    Float:e_tpX,
        
    Float:e_tpY,
        
    Float:e_tpZ,
        
    e_tpInterior,

    PHP код:
    static gTeleportPoints[][e_Teleport_Points] = {
        {-
    25.884498, -185.8689881003.54687517},
        {
    6.091179, -29.2718981003.54943810},
        {-
    30.946699, -89.6095961003.54687518},
        {-
    25.132598, -139.0669861003.54687516},
        {-
    27.312299, -29.2775991003.5572504},
        {-
    26.691598, -55.7148971003.5468756},
        {-
    1827.147338,7.207417,1061.14355414},
        {-
    1861.93688954.9080921061.14355414},
        {
    1.80861932.3843571199.5937501},
        {
    315.745086984.9692991958.9190679},
        {
    286.148986, -40.6443971001.5156251},
        {
    286.800994, -82.5475991001.5156254},
        {
    296.919982, -108.0719981001.5156256},
        {
    314.820983, -141.431991999.6015627},
        {
    316.524993, -167.706985999.5937506},
        {
    302.292877, -143.1390991004.0625007},
        {
    298.507934, -141.6470481004.0547487},
        {
    1038.5313720.1110301001.2844843},
        {
    444.646911508.2390441001.41949412},
        {
    2215.454833, -1147.4755851025.79687515},
        {
    833.26977510.5884161004.1796873},
        {-
    103.559165, -24.2256061000.7187503},
        {
    963.4187622108.2924801011.0302731},
        {-
    2240.468505137.0604401035.4140626},
        {
    663.836242, -575.60540716.3432630},
        {
    2169.4611811618.798339999.9765621},
        {
    1889.9533691017.43829331.88281210},
        {-
    2159.122802641.5175171052.3817131},
        {
    207.737991, -109.0199961005.13281215},
        {
    204.332992, -166.6949921000.52343714},
        {
    207.054992, -138.8049921003.5078123},
        {
    203.777999, -48.4923971001.8046871},
        {
    226.293991, -7.4315291002.2109375},
        {
    161.391006, -93.1591561001.80468718},
        {
    493.390991, -22.7227991000.67968717},
        {
    501.980987, -69.150199998.75781211},
        {-
    227.0279991401.22998027.76562518},
        {
    457.304748, -88.428497999.5546874},
        {
    454.973937, -110.1049951000.0772095},
        {
    435.271331, -80.958938999.5546876},
        {
    452.489990, -18.1796981001.1328121},
        {
    681.557861, -455.680053, -25.6098741},
        {
    375.962463, -65.8168481001.50781210},
        {
    369.579528, -4.4872941001.8588869},
        {
    373.825653, -117.2709041001.4995115},
        {
    381.169189, -188.8030241000.63281217},
        {
    244.411987305.032989999.1484371},
        {
    271.884979306.631988999.1484372},
        {
    291.282989310.031982999.1484373},
        {
    302.180999300.722991999.1484374},
        {
    322.197998302.497985999.1484375},
        {
    346.870025309.259033999.1557006},
        {-
    959.5643921848.5767829.00000017},
        {
    384.808624173.8049921008.3828123},
        {
    223.4319761872.40026813.7343750},
        {
    772.111999, -3.8986491000.7288205},
        {
    774.213989, -48.9242971000.5859376},
        {
    773.579956, -77.0966941000.6550297},
        {
    1527.229980, -11.5744991002.0971063},
        {
    1523.509887, -47.8211971002.1309812},
        {
    2496.049804, -1695.2381591014.7421873},
        {
    1267.663208, -781.3232421091.9062505},
        {
    513.882507, -11.2699941001.5653073},
        {
    2454.717041, -1700.8715821013.5151972},
        {
    2527.654052, -1679.3883051015.4985961},
        {
    2543.462646, -1308.3798821026.7283932},
        {
    1212.019897, -28.6630991000.9531253},
        {
    761.4129631440.1916501102.7031256},
        {
    1204.809936, -11.5867991000.9218752},
        {
    1204.80993613.8972391000.9218752},
        {
    942.171997, -16.5427551000.9296873},
        {
    964.106994, -53.2054971001.1245723},
        {-
    2640.7629391406.682006906.4609373},
        {-
    729.276000503.0869441371.9718011},
        {-
    794.806396497.7380371376.1953121},
        {
    2350.339843, -1181.6499021027.9765625},
        {
    2807.619873, -1171.8999021025.5703128},
        {
    318.5649711118.2099601083.8828125},
        {
    1412.639892, -1.7875101000.9243771},
        {
    1302.519897, -1.7875101001.02825918},
        {
    2522.000000, -1673.38391114.8662230},
        {-
    221.0590511408.98400827.77343718},
        {
    2324.419921, -1145.5683591050.71008312},
        {-
    975.9757081060.9830321345.67187510},
        {
    411.625976, -21.4332981001.8046872},
        {
    418.652984, -82.6397931001.8046873},
        {
    412.021972, -52.6498981001.89843712},
        {-
    204.439987, -26.4539981002.27343716},
        {-
    204.439987, -8.4695991002.27343717},
        {-
    204.439987, -43.6524961002.2734373},
        {
    246.78399663.9001991003.6406256},
        {
    246.375991109.2459941003.21875010},
        {
    288.745971169.3509971007.1718753},
        {-
    2029.798339, -106.6759101035.1718753},
        {-
    1398.065307, -217.0289001051.1158447},
        {-
    1398.103515937.6311641036.47912515},
        {-
    1444.645507, -664.5260001053.5729984},
        {-
    1465.2686761557.8682861052.53125014},
        {-
    1401.829956107.0513001032.2734371},
        {-
    1790.3782951436.9498297.1875000},
        {
    1643.839843, -1514.81958013.5666200},
        {-
    1685.6364741035.47619645.2109370},
        {
    76.632553, -301.1568291.5781250},
        {
    1059.8959962081.68579110.8203120},
        {
    1059.1801752148.93872010.8203120},
        {
    2131.5078121600.8184811008.3593751},
        {
    2315.952880, -1.61817426.7421870},
        {
    2319.714843, -14.83836126.7495650},
        {
    1710.433715, -1669.37927220.22504918},
        {
    1494.3251951304.9428711093.2890623},
        {
    235.5089941189.1698971080.3399663},
        {
    223.0439911289.2598881082.1999511},
        {
    225.6309971022.4799801084.0699467},
        {
    295.1389771474.4699711080.51989715},
        {
    328.4939881480.5899661084.44995115},
        {
    385.8039861471.7698971080.20996115},
        {
    375.9719851417.2698971081.40991215},
        {
    490.8109741401.4899901080.3399662},
        {
    447.7349851400.4399411084.3399662},
        {
    227.7229921114.3898931081.1899415},
        {
    260.9839781286.5499271080.2999274},
        {
    221.6669921143.3898931082.6799324},
        {
    27.1327001341.1499021084.44995110},
        {-
    262.6019901456.6199951084.4499514},
        {
    22.7782991404.9599611084.4499515},
        {
    140.2780001368.9799801083.9699715},
        {
    234.0459901064.8798831084.3099376},
        {-
    68.2940981353.4699711080.2799076},
        {-
    285.5489811470.9799801084.44995115},
        {-
    42.5819971408.1099851084.4499518},
        {
    83.3450931324.4399411083.8898939},
        {
    260.9419861238.5098881084.2598889},
        {
    1133.069946, -9.5730591000.75000012},
        {
    2464.109863, -1698.6599121013.5099492},
        {
    416.81442537.686310.000010},
        {
    2283.0396, -1137.54611050.898411},
        {
    2208.5957, -1074.36281050.48441},
        {
    2237.7783, -1077.38891049.02342},
        {
    2233.4780, -1110.74501050.88285},
        {
    2346.7014, -1184.13901027.97665},
        {
    2232.1101, -1117.19121050.88285},
        {
    2192.6206, -1202.73211049.02346},
        {
    2313.0601, -1209.72611049.02346},
        {
    2319.4553, -1023.31171050.21099},
        {
    2251.8733, -1138.82301050.63289},
        {
    2262.3333, -1138.42831050.632810},
        {-
    2044.7096178.586628.83591},
        {
    607.5771, -10.94721000.91531},
        {
    612.9734, -75.8104997.99222},
        {-
    1473.0231755.909940.80290}
    }; 
    Ну и к командам:

    PHP код:
    CMD:inter(playeridparams[])
    {
        if (
    player_info[playerid][pAdmin] < 4) {
            return 
    1;
        }

        if (
    isnull(params)) {
            
    SendClientMessage(playerid0xAFAFAFAA"Используйте: /inter [id интерьера]");
            return 
    1;
        }

        new 
    interior_id strval(params) - 1;

        if (!(
    interior_id <= sizeof(gTeleportPoints))) { 
            
    SendClientMessage(playerid0xAFAFAFAA"Неверный id интерьера. (От 1 до 150)");
            return 
    1;
        }

        
    SetPlayerPos(playeridgTeleportPoints[interior_id][e_tpX],
                               
    gTeleportPoints[interior_id][e_tpY],
                               
    gTeleportPoints[interior_id][e_tpZ]);
        
    SetPlayerInterior(playeridgTeleportPoints[interior_id][e_tpInterior]);
        return 
    1;

    У кого будет ошибка:

    PHP код:
    error 017 undefined symbol isnull 
    Куда нибудь в начало мода добавляем:

    PHP код:
    #if !defined isnull
        #define isnull(%1) \
                    
    ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
    #endif 

    Ну вот и всё. Надеюсь моя команда поможет Вам во многом. Например в создании домов и прочего.
    За оптимизацию кода огромное спасибо: Ziggi
    Последний раз редактировалось Danny_Marcelo; 16.10.2016 в 17:34.

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ничего не хочу сказать, но подобную команду я видел ещё года 2-3 назад в одном из паблик модов (то ли Awesome DM, то ли какой-то подобный шлак).

    И да, хоть кто-нибудь мне уже ответит, для чего извлекать из массива, в котором хранятся параметры команды, ОДИН ЕДИНСТВЕННЫЙ параметр? Он там и так ОДИН. Вместо этого
    PHP код:
    if(sscanf(params,"d",params[0])) return SCM(playeridCOLOR_GREY"Используйте: /inter [id интерьера]"); 
    Логичнее использовать это
    PHP код:
    if(isnull(params)) return SCM(playeridCOLOR_GREY"Используйте: /inter [id интерьера]"); 
    new 
    interior_id strval(params); 
    Да и что за SCM?
    И почему нельзя было просто COLOR_GREY заменить на 0xAFAFAFAA перед копированием кода сюда? Разве этот макрос очень важен?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. 2 пользователя(ей) сказали cпасибо:
    Danny_Marcelo (10.07.2016) Geebrox (11.07.2016)
  4. #3
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    PHP код:
    enum e_Teleport_Points {
        
    Float:e_tpX,
        
    Float:e_tpY,
        
    Float:e_tpZ,
        
    e_tpInterior,
    }

    static 
    gTeleportPoints[][e_Teleport_Points] = {
        {-
    25.884498, -185.8689881003.54687517},
        {
    6.091179, -29.2718981003.54943810},
        {-
    30.946699, -89.6095961003.54687518},
        {-
    25.132598, -139.0669861003.54687516},
        {-
    27.312299, -29.2775991003.5572504},
        {-
    26.691598, -55.7148971003.5468756},
        {-
    1827.1473387.207417,1061. 143554), 4},
        {-
    1861.93688954.9080921061.14355414},
        {
    1.80861932.3843571199.5937501},
        {
    315.745086984.9692991958.9190679},
        {
    286.148986, -40.6443971001.5156251},
        {
    286.800994, -82.5475991001.5156254},
        {
    296.919982, -108.0719981001.5156256},
        {
    314.820983, -141.431991999.6015627},
        {
    316.524993, -167.706985999.5937506},
        {
    302.292877, -143.1390991004.0625007},
        {
    298.507934, -141.6470481004.0547487},
        {
    1038.5313720.1110301001.2844843},
        {
    444.646911508.2390441001.41949412},
        {
    2215.454833, -1147.4755851025.79687515},
        {
    833.26977510.5884161004.1796873},
        {-
    103.559165, -24.2256061000.7187503},
        {
    963.4187622108.2924801011.0302731},
        {-
    2240.468505137.0604401035.4140626},
        {
    663.836242, -575.60540716.3432630},
        {
    2169.4611811618.798339999.9765621},
        {
    1889.9533691017.43829331.88281210},
        {-
    2159.122802641.5175171052.3817131},
        {
    207.737991, -109.0199961005.13281215},
        {
    204.332992, -166.6949921000.52343714},
        {
    207.054992, -138.8049921003.5078123},
        {
    203.777999, -48.4923971001.8046871},
        {
    226.293991, -7.4315291002.2109375},
        {
    161.391006, -93.1591561001.80468718},
        {
    493.390991, -22.7227991000.67968717},
        {
    501.980987, -69.150199998.75781211},
        {-
    227.0279991401.22998027.76562518},
        {
    457.304748, -88.428497999.5546874},
        {
    454.973937, -110.1049951000.0772095},
        {
    435.271331, -80.958938999.5546876},
        {
    452.489990, -18.1796981001.1328121},
        {
    681.557861, -455.680053, -25.6098741},
        {
    375.962463, -65.8168481001.50781210},
        {
    369.579528, -4.4872941001.8588869},
        {
    373.825653, -117.2709041001.4995115},
        {
    381.169189, -188.8030241000.63281217},
        {
    244.411987305.032989999.1484371},
        {
    271.884979306.631988999.1484372},
        {
    291.282989310.031982999.1484373},
        {
    302.180999300.722991999.1484374},
        {
    322.197998302.497985999.1484375},
        {
    346.870025309.259033999.1557006},
        {-
    959.5643921848.5767829.00000017},
        {
    384.808624173.8049921008.3828123},
        {
    223.4319761872.40026813.7343750},
        {
    772.111999, -3.8986491000.7288205},
        {
    774.213989, -48.9242971000.5859376},
        {
    773.579956, -77.0966941000.6550297},
        {
    1527.229980, -11.5744991002.0971063},
        {
    1523.509887, -47.8211971002.1309812},
        {
    2496.049804, -1695.2381591014.7421873},
        {
    1267.663208, -781.3232421091.9062505},
        {
    513.882507, -11.2699941001.5653073},
        {
    2454.717041, -1700.8715821013.5151972},
        {
    2527.654052, -1679.3883051015.4985961},
        {
    2543.462646, -1308.3798821026.7283932},
        {
    1212.019897, -28.6630991000.9531253},
        {
    761.4129631440.1916501102.7031256},
        {
    1204.809936, -11.5867991000.9218752},
        {
    1204.80993613.8972391000.9218752},
        {
    942.171997, -16.5427551000.9296873},
        {
    964.106994, -53.2054971001.1245723},
        {-
    2640.7629391406.682006906.4609373},
        {-
    729.276000503.0869441371.9718011},
        {-
    794.806396497.7380371376.1953121},
        {
    2350.339843, -1181.6499021027.9765625},
        {
    2807.619873, -1171.8999021025.5703128},
        {
    318.5649711118.2099601083.8828125},
        {
    1412.639892, -1.7875101000.9243771},
        {
    1302.519897, -1.7875101001.02825918},
        {
    2522.000000, -1673.38391114.8662230},
        {-
    221.0590511408.98400827.77343718},
        {
    2324.419921, -1145.5683591050.71008312},
        {-
    975.9757081060.9830321345.67187510},
        {
    411.625976, -21.4332981001.8046872},
        {
    418.652984, -82.6397931001.8046873},
        {
    412.021972, -52.6498981001.89843712},
        {-
    204.439987, -26.4539981002.27343716},
        {-
    204.439987, -8.4695991002.27343717},
        {-
    204.439987, -43.6524961002.2734373},
        {
    246.78399663.9001991003.6406256},
        {
    246.375991109.2459941003.21875010},
        {
    288.745971169.3509971007.1718753},
        {-
    2029.798339, -106.6759101035.1718753},
        {-
    1398.065307, -217.0289001051.1158447},
        {-
    1398.103515937.6311641036.47912515},
        {-
    1444.645507, -664.5260001053.5729984},
        {-
    1465.2686761557.8682861052.53125014},
        {-
    1401.829956107.0513001032.2734371},
        {-
    1790.3782951436.9498297.1875000},
        {
    1643.839843, -1514.81958013.5666200},
        {-
    1685.6364741035.47619645.2109370},
        {
    76.632553, -301.1568291.5781250},
        {
    1059.8959962081.68579110.8203120},
        {
    1059.1801752148.93872010.8203120},
        {
    2131.5078121600.8184811008.3593751},
        {
    2315.952880, -1.61817426.7421870},
        {
    2319.714843, -14.83836126.7495650},
        {
    1710.433715, -1669.37927220.22504918},
        {
    1494.3251951304.9428711093.2890623},
        {
    235.5089941189.1698971080.3399663},
        {
    223.0439911289.2598881082.1999511},
        {
    225.6309971022.4799801084.0699467},
        {
    295.1389771474.4699711080.51989715},
        {
    328.4939881480.5899661084.44995115},
        {
    385.8039861471.7698971080.20996115},
        {
    375.9719851417.2698971081.40991215},
        {
    490.8109741401.4899901080.3399662},
        {
    447.7349851400.4399411084.3399662},
        {
    227.7229921114.3898931081.1899415},
        {
    260.9839781286.5499271080.2999274},
        {
    221.6669921143.3898931082.6799324},
        {
    27.1327001341.1499021084.44995110},
        {-
    262.6019901456.6199951084.4499514},
        {
    22.7782991404.9599611084.4499515},
        {
    140.2780001368.9799801083.9699715},
        {
    234.0459901064.8798831084.3099376},
        {-
    68.2940981353.4699711080.2799076},
        {-
    285.5489811470.9799801084.44995115},
        {-
    42.5819971408.1099851084.4499518},
        {
    83.3450931324.4399411083.8898939},
        {
    260.9419861238.5098881084.2598889},
        {
    1133.069946, -9.5730591000.75000012},
        {
    2464.109863, -1698.6599121013.5099492},
        {
    416.81442537.686310.000010},
        {
    2283.0396, -1137.54611050.898411},
        {
    2208.5957, -1074.36281050.48441},
        {
    2237.7783, -1077.38891049.02342},
        {
    2233.4780, -1110.74501050.88285},
        {
    2346.7014, -1184.13901027.97665},
        {
    2232.1101, -1117.19121050.88285},
        {
    2192.6206, -1202.73211049.02346},
        {
    2313.0601, -1209.72611049.02346},
        {
    2319.4553, -1023.31171050.21099},
        {
    2251.8733, -1138.82301050.63289},
        {
    2262.3333, -1138.42831050.632810},
        {-
    2044.7096178.586628.83591},
        {
    607.5771, -10.94721000.91531},
        {
    612.9734, -75.8104997.99222},
        {-
    1473.0231755.909940.80290}
    };

    CMD:inter(playeridparams[])
    {
        if (
    player_info[playerid][pAdmin] < 4) {
            return 
    1;
        }

        if (
    isnull(params)) {
            
    SendClientMessage(playerid0xAFAFAFAA"Используйте: /inter [id интерьера]");
            return 
    1;
        }

        new 
    interior_id strval(params) - 1;

        if (
    sizeof(gTeleportPoints) <= interior_id 0) {
            
    SendClientMessage(playerid0xAFAFAFAA"Неверный id интерьера. (От 1 до 150)");
            return 
    1;
        }

        
    SetPlayerPos(playeridgTeleportPoints[interior_id][e_tpX],
                               
    gTeleportPoints[interior_id][e_tpY],
                               
    gTeleportPoints[interior_id][e_tpZ]);
        
    SetPlayerInterior(playeridgTeleportPoints[interior_id][e_tpInterior]);
        return 
    1;

    Можно ещё добавить автоматический подсчёт разрешённых границ в сообщении об ошибке.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Да и что за SCM?
    Такая вот, нынче модная "оптимизация".

  5. 3 пользователя(ей) сказали cпасибо:
    Danny_Marcelo (10.07.2016) Osetin (10.07.2016) Processing (13.07.2016)
  6. #4
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вместо этого
    PHP код:
    if(sscanf(params,"d",params[0])) return SCM(playeridCOLOR_GREY"Используйте: /inter [id интерьера]"); 
    Логичнее использовать это
    PHP код:
    if(isnull(params)) return SCM(playeridCOLOR_GREY"Используйте: /inter [id интерьера]"); 
    new 
    interior_id strval(params); 
    Не совсем корректно. Если вместо числа ввести строку (например, "abc"), strval просто вернёт 0, как будто введено правильное число.


    Цитата Сообщение от Danny_Marcelo Посмотреть сообщение
    Надеюсь моя команда поможет Вам во многом.
    А что такого уникального в вашей команде, что она должна кому-то помочь? Что отличает её от аналогичных вариантов из сотен других RLS модов с кодом схожего "качества"?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. #5
    Аватар для Danny_Marcelo
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.11.2015
    Сообщений
    29
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ничего не хочу сказать, но подобную команду я видел ещё года 2-3 назад в одном из паблик модов (то ли Awesome DM, то ли какой-то подобный шлак).

    И да, хоть кто-нибудь мне уже ответит, для чего извлекать из массива, в котором хранятся параметры команды, ОДИН ЕДИНСТВЕННЫЙ параметр? Он там и так ОДИН. Вместо этого
    PHP код:
    if(sscanf(params,"d",params[0])) return SCM(playeridCOLOR_GREY"Используйте: /inter [id интерьера]"); 
    Логичнее использовать это
    PHP код:
    if(isnull(params)) return SCM(playeridCOLOR_GREY"Используйте: /inter [id интерьера]"); 
    new 
    interior_id strval(params); 
    Да и что за SCM?
    И почему нельзя было просто COLOR_GREY заменить на 0xAFAFAFAA перед копированием кода сюда? Разве этот макрос очень важен?
    Ну вот так вот учат на pawn форумах) Спасибо за замечание.

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

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Не совсем корректно. Если вместо числа ввести строку (например, "abc"), strval просто вернёт 0, как будто введено правильное число.



    А что такого уникального в вашей команде, что она должна кому-то помочь? Что отличает её от аналогичных вариантов из сотен других RLS модов с кодом схожего "качества"?
    Ну я уникально в ней только то, что тут есть большинство интерьеров, которых нет в других RLSовских командах. В интернете специально искал, нет многих стандартных интерьеров. Следственно координаты всем нужно брать самим. Зачем лезть в интернет? Юзать собейт, когда пишешь мод с 0 особенно, если можно сразу телепортироваться в определенный интерьер с помощью данной команды и уже взять координаты пикапов и телепортов. Времени меньше убьёшь просто.

  8. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Не совсем корректно. Если вместо числа ввести строку (например, "abc"), strval просто вернёт 0, как будто введено правильное число.
    Я об этом не упомянул лишь потому, что команда нацелена больше именно на разработчиков и админов, чем на обычных игроков. А те сами должны понимать, что в команду передаются именно числа, поэтому делать такую проверку довольно бессмысленно.
    Ну а если очень нужно, то можно обойтись обычным сдвигом всех ID на 1 вверх, тем самым освободив ID 0 и избавится от нужды проверять, ввёл ли игрок именно число или нет. Это одна из реализаций, о которой уже должен думать автор. Я лишь указал на распространённую ошибку, которая касается sscanf.

    И да, sscanf тоже вернёт 0, если в параметрах передать строку.

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

    Цитата Сообщение от Danny_Marcelo Посмотреть сообщение
    Ну я уникально в ней только то, что тут есть большинство интерьеров, которых нет в других RLSовских командах. В интернете специально искал, нет многих стандартных интерьеров. Следственно координаты всем нужно брать самим. Зачем лезть в интернет? Юзать собейт, когда пишешь мод с 0 особенно, если можно сразу телепортироваться в определенный интерьер с помощью данной команды и уже взять координаты пикапов и телепортов. Времени меньше убьёшь просто.
    В идеале это всё лучше реализовать в виде кликабельных текстдравов. Как, например, есть скрипт со списком всех анимаций, растасованных по своим библиотекам, на текстдравах, опубликованный на официальном форуме (ссылко). Будет гораздо удобнее искать нужный интерьер (особенно если каждый назовёшь подобающи и будешь выводить о каждом инфу в чат (ID интерьера и т.п.)). Тогда она будет действительно уникальна и полезна. А пока - так себе
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    Danny_Marcelo (10.07.2016)
  10. #7
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Я об этом не упомянул лишь потому, что команда нацелена больше именно на разработчиков и админов, чем на обычных игроков. А те сами должны понимать, что в команду передаются именно числа, поэтому делать такую проверку довольно бессмысленно.
    Ну а если очень нужно, то можно обойтись обычным сдвигом всех ID на 1 вверх, тем самым освободив ID 0 и избавится от нужды проверять, ввёл ли игрок именно число или нет. Это одна из реализаций, о которой уже должен думать автор. Я лишь указал на распространённую ошибку, которая касается sscanf.
    Для чего все эти "админ же знает, что нужно вводить только числа" и "начинать с ID 1 вместо 0"? К чему все эти условности, когда можно просто сделать всё так, как делаешь обычно, с помощью sscanf2?
    Я говорил это раньше, скажу и сейчас: если пытаться держать в голове излишние тонкости реализации, то потом неизбежно что-то забудешь и ничего хорошего из этого не выйдет.


    Цитата Сообщение от DeimoS Посмотреть сообщение
    И да, sscanf тоже вернёт 0, если в параметрах передать строку.
      Открыть/закрыть
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  11. 2 пользователя(ей) сказали cпасибо:
    Danny_Marcelo (10.07.2016) Seviel (05.01.2017)
  12. #8
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    > 2k16
    > strcmp

    Danny_Marcelo, извините, но почему нельзя написать команду без особых привязок к реализациям других модов? Может, я только мод пишу, а тут некий массив params . Да и в строку писать - не модно.


    Switch() против обращения к ячейке массива . Не уверен в таком уж приросте к скорости. У меня выше 20 ячеек в массиве при обращении скорость на наносекунды различается. Это к реализации ziggi. Глобальный массив, используемый в одном моменте? Окстись.

    Вариант на диалоге был бы более интересный. Сгруппируй интерьеры. Можно вариант по нескольким критериям сортировки для большего удобства во время поиска сделать. 1:0 в пользу s0beit .

  13. #9
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    Switch() против обращения к ячейке массива . Не уверен в таком уж приросте к скорости. У меня выше 20 ячеек в массиве при обращении скорость на наносекунды различается. Это к реализации ziggi. Глобальный массив, используемый в одном моменте? Окстись.
    Последнее о чём я думаю - это о скорости работы. Для меня на первом месте стоит читабельность и повторное использование кода. Но тут, в добавок к читабельности, идёт прирост скорости, что, конечно, не может не радовать. И я не вижу причины не использовать массив, даже если он понадобится лишь в одной функции (памяти жалко, или что?).

  14. 3 пользователя(ей) сказали cпасибо:
    Daniel_Cortez (10.07.2016) Danny_Marcelo (10.07.2016) Outsider (05.10.2017)
  15. #10
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Последнее о чём я думаю - это о скорости работы. Для меня на первом месте стоит читабельность и повторное использование кода. Но тут, в добавок к читабельности, идёт прирост скорости, что, конечно, не может не радовать. И я не вижу причины не использовать массив, даже если он понадобится лишь в одной функции (памяти жалко, или что?).
    Нет. Память никак не жалко. Просто не вижу смысла в объявлении глобального массива (почему не const? данные попртят), если обращается к нему только одна команда. Лучше бы локально объявил. Разницы будет не так много.

 

 
Страница 1 из 6 1 2 3 ... ПоследняяПоследняя

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

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

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

Ваши права

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