Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5

Тема: #define или new

  1. #1
    Аватар для Igor_Stalker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2016
    Адрес
    minsk
    Сообщений
    40
    Репутация:
    2 ±

    #define или new

    Как лучше сделать?
    Так?
    PHP код:
    CMD:skin(playerid,params[])
    {
        
    log
        
    #define id params[0]
        #define skin params[1]
        
    if(PlayerInfo[playerid][pAdmin] < 3) return SCM(playerid,COLOR_RED,"Âû íå Ãëàâíûé Àäìèíèñòðàòîð");
        if(
    sscanf(params,"ud",id,skin)) return SCM(playerid,COLOR_WHITE,"Ââåäèòå: /skin [id][id ñêèíà]");
        if(!
    IsPlayerConnected(id)) return SCM(playerid,COLOR_RED,"Äàííîãî èãðîêà ñåé÷àñ íåò íà ñåðâåðå");
        
    SetPlayerSkin(id,skin);
        
    PlayerInfo[id][pSkin] = skin;
        
    SaveAccounts(id);
        
    #undef id
        #undef skin
        
    return 1;

    Или так?
    PHP код:
    CMD:skin(playerid,params[])
    {
        
    log
        
    new id,skin;
        if(
    PlayerInfo[playerid][pAdmin] < 3) return SCM(playerid,COLOR_RED,"Âû íå Ãëàâíûé Àäìèíèñòðàòîð");
        if(
    sscanf(params,"ud",id,skin)) return SCM(playerid,COLOR_WHITE,"Ââåäèòå: /skin [id][id ñêèíà]");
        if(!
    IsPlayerConnected(id)) return SCM(playerid,COLOR_RED,"Äàííîãî èãðîêà ñåé÷àñ íåò íà ñåðâåðå");
        
    SetPlayerSkin(id,skin);
        
    PlayerInfo[id][pSkin] = skin;
        
    SaveAccounts(id);
        return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Как по мне переменные лучше, и ещё не пойму зачем ты сохранение вызываешь в команде, при дисконекте тебе не хватает?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Переменная. Причина: ТЫЩ.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  4. #4
    Аватар для #Johnson
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    Переменная!

    Пример с пояснением:

    PHP код:
    #define SendMSG(%0,%1) SendClientMessage(%0,0x331166FF,%1) // зададим с параметрами %0 и %1
     
    main()
    {
        
    SendMSG(0,"Hello World!"); // в процессе компиляции заменится на SendClientMessage(0,0x331166FF,"Hello World!");


  5. #5
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Никогда не понимал, зачем люди пытаются везде использовать макросы, которые не оптимизируют код, а наоборот, делают данный код менее читаемым. Мой вам совет: используйте макросы в меру.

    Когда вы используете переменную, то вы оптимизируете ваш код, т.к. доступ к переменным намного быстрее, чем доступ к массиву (одна инструкция против нескольких).

 

 

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

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

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

Ваши права

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