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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 5 из 5

Тема: #define или new

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

    Статус
    Оффлайн
    Регистрация
    01.01.2016
    Адрес
    minsk
    Сообщений
    39
    Репутация:
    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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Переменная. Причина: ТЫЩ.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    24
    Репутация:
    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
    Сообщений
    607
    Репутация:
    289 ±
    Никогда не понимал, зачем люди пытаются везде использовать макросы, которые не оптимизируют код, а наоборот, делают данный код менее читаемым. Мой вам совет: используйте макросы в меру.

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

 

 

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

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

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

Ваши права

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