15:58
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Безформатные сообщения
St1muLДата: Четверг, 05.07.2012, 22:56 | Сообщение # 1
Местный
Группа: Продвинутые
Сообщений: 745
Награды: 7
Город: г. Курган
Репутация: 77
Замечания: 20%
Статус:
Всем дорого времени суток.
Вот решил установить себе "безформатные" сообщения, но ничего не вышло.
Взял 2 варианта, там и там ошибка.

[cut noguest=Способ №1]Дефайн, сток:
Code
#define BYTES_PER_CELL (cellbits / 8)
stock SendMes(playerid, color, fstring[], {Float, _}:...)
{
      static const
          STATIC_ARGS = 3;
      new
          n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
      if (n)
      {
          new
              message[128],
              arg_start,
              arg_end;
          #emit CONST.alt        fstring
          #emit LCTRL          5
          #emit ADD
          #emit STOR.S.pri        arg_start

          #emit LOAD.S.alt        n
          #emit ADD
          #emit STOR.S.pri        arg_end
          do
          {
              #emit LOAD.I
              #emit PUSH.pri
              arg_end -= BYTES_PER_CELL;
              #emit LOAD.S.pri      arg_end
          }
          while (arg_end > arg_start);

          // Push the static format parameters.
          #emit PUSH.S          fstring
          #emit PUSH.C          128
          #emit PUSH.ADR         message

          n += BYTES_PER_CELL * 3;
          #emit PUSH.S          n
          #emit SYSREQ.C         format

          n += BYTES_PER_CELL;
          #emit LCTRL          4
          #emit LOAD.S.alt        n
          #emit ADD
          #emit SCTRL          4

          return SendClientMessage(playerid, color, message);
      }
      else
      {
          return SendClientMessage(playerid, color, fstring);
      }
}

Сообщение:
Code
SendMes(playerid, SYSTEM, "Ваш ID: %i", playerid);

Warning:
Code
warning 219: local variable "message" shadows a variable at a preceding level
[/cut]

[cut noguest=Способ №2]Дефайн:
Code
new FALSE = false;
#define SendMSG(%0,%1,%2,%3,%4) do{new _str[%2]; format(_str,%2,%3,%4); SendClientMessage(%0,%1,_str);}while(FALSE)

Сообщение:
Code
SendMSG(playerid, SYSTEM, 128, "Ваш ID: %i", playerid);

Warning:
Code
warning 205: redundant code: constant expression is zero
warning 203: symbol is never used: "FALSE"
[/cut]

Помогите пожалуйста, может у кого есть другие способы :)



Сообщение отредактировал Skiner - Четверг, 05.07.2012, 22:58
KämpferДата: Четверг, 05.07.2012, 23:32 | Сообщение # 2
Освоившийся
Группа: Продвинутые
Сообщений: 114
Награды: 15
Город: /
Репутация: 163
Замечания: 40%
Статус:
Да ты, епт, извращенец, парень..
Code
new FALSE1 = false;
#if !defined SendFormatMessage
  #pragma unused FALSE1
  #define SendFormatMessage(%0,%1,%2,%3,%4) do{ new _str[%1]; format(_str, %1, %3,%4); SendClientMessage(%0, %2, _str); } while(FALSE1)
#endif

#if !defined SendFormatMessageToAll
       #pragma unused FALSE1
       #define SendFormatMessageToAll(%0,%1,%2,%3) do{ new _str[%1]; format(_str, %1, %2, %3); SendClientMessageToAll(%0, _str); } while(FALSE1)
#endif

P.S. Код имзначально не мой.



Гитлер капут

Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. ©

Оплачиваемая личная помощь, исправление и оптимизация кода, написание небольших скриптов.
skype: kampfer_88
St1muLДата: Четверг, 05.07.2012, 23:49 | Сообщение # 3
Местный
Группа: Продвинутые
Сообщений: 745
Награды: 7
Город: г. Курган
Репутация: 77
Замечания: 20%
Статус:
Quote (Kämpfer)
Да ты, епт, извращенец, парень..

Что есть, того не отнять :DD

Спасибо за код, всё работает :)

+`ик дал :)



Сообщение отредактировал Skiner - Четверг, 05.07.2012, 23:50
ВеликсДата: Пятница, 06.07.2012, 10:29 | Сообщение # 4
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Pfrhsnj.


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua