• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
Урок №56 (Создание сообщения)
MaNb9KДата: Среда, 15.12.2010, 12:44:50 | Сообщение # 1

Группа: Пользователи
Сообщений: 220
Case - команда, которая проверяет переменную на то число, которое будет использоваться
во время public-а, в котором есть эта команда.

Code
case <число>;

Switch - команда, в которой указана переменная, в которой надо проверять число, которое
указано в case-ах.

Code
switch (<переменная>);

Что-ж, ради тренировки создадим в паблике

Code
OnPlayerDisconnect
кейсы на различие между
отключениями игроков от сервера. Сначала создадим переменные, в которые будут записываться
имена игроков и текст для сообщения в чате:

Code
new PlayerName[30], str[256];

Теперь укажем переменную, которую будет проверять кейсы (в данном случае команда будет
проверять ID причины отключения игрока):

Code
switch (reason)

Теперь откроем новый поток с помощью { и начнём перебирать числа (вариантов отключения
игрока всего три). Начнём с причины под ID 0(Таймаут):

case 0:

Затем ещё раз открываем новый поток и пишем действия, которые будут выполняться, если
именно это число будет записано в переменной. К примеру приведу такой вариант:

Code
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s покинул сервер (Timeout)", PlayerName);    
SendClientMessageToAll(0xAFAFAFAA, str);

Теперь закройте поток с помощью }. После всего этого паблик должен выглядить вот так:

Code
public OnPlayerDisconnect(playerid, reason)    
{    
           new PlayerName[30], str[256];    
           switch (reason)    
       {    
       case 0:    
         {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Timeout)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
       }
      return 1;
}
    

После этого проделайте всё тоже самое с ID 1 (Leaving) и 2 (Kicked)...После этого
закройте все 3 потока в один поток с помощью ещё одного } и после этого окончательный
вид должен быть таким:

Code
public OnPlayerDisconnect(playerid, reason)    
{    
           new PlayerName[30], str[256];    
           switch (reason)    
       {    
       case 0:    
         {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Timeout)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
       }    
       case 1:    
       {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Leaving)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
       }    
       case 2:    
       {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Kicked)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
           }    
       }
       return 1;
}

Вот всё и готово! Заходите в игру и проверяйте с помощью других игроков =).
Сегодня вы научились использовать case и делать с помощью него скрипты.
[color=red]Урок by RussianCJ


[img]http://sa-mp-fail.at.ua/premium.gif[/img]

Сообщение отредактировал MaNb9K - Понедельник, 27.12.2010, 17:34:07
 
СообщениеCase - команда, которая проверяет переменную на то число, которое будет использоваться
во время public-а, в котором есть эта команда.

Code
case <число>;

Switch - команда, в которой указана переменная, в которой надо проверять число, которое
указано в case-ах.

Code
switch (<переменная>);

Что-ж, ради тренировки создадим в паблике

Code
OnPlayerDisconnect
кейсы на различие между
отключениями игроков от сервера. Сначала создадим переменные, в которые будут записываться
имена игроков и текст для сообщения в чате:

Code
new PlayerName[30], str[256];

Теперь укажем переменную, которую будет проверять кейсы (в данном случае команда будет
проверять ID причины отключения игрока):

Code
switch (reason)

Теперь откроем новый поток с помощью { и начнём перебирать числа (вариантов отключения
игрока всего три). Начнём с причины под ID 0(Таймаут):

case 0:

Затем ещё раз открываем новый поток и пишем действия, которые будут выполняться, если
именно это число будет записано в переменной. К примеру приведу такой вариант:

Code
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s покинул сервер (Timeout)", PlayerName);    
SendClientMessageToAll(0xAFAFAFAA, str);

Теперь закройте поток с помощью }. После всего этого паблик должен выглядить вот так:

Code
public OnPlayerDisconnect(playerid, reason)    
{    
           new PlayerName[30], str[256];    
           switch (reason)    
       {    
       case 0:    
         {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Timeout)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
       }
      return 1;
}
    

После этого проделайте всё тоже самое с ID 1 (Leaving) и 2 (Kicked)...После этого
закройте все 3 потока в один поток с помощью ещё одного } и после этого окончательный
вид должен быть таким:

Code
public OnPlayerDisconnect(playerid, reason)    
{    
           new PlayerName[30], str[256];    
           switch (reason)    
       {    
       case 0:    
         {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Timeout)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
       }    
       case 1:    
       {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Leaving)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
       }    
       case 2:    
       {    
           GetPlayerName(playerid, PlayerName, 30);    
           format(str, 256, "%s покинул сервер (Kicked)", PlayerName);    
           SendClientMessageToAll(0xAFAFAFAA, str);    
           }    
       }
       return 1;
}

Вот всё и готово! Заходите в игру и проверяйте с помощью других игроков =).
Сегодня вы научились использовать case и делать с помощью него скрипты.
[color=red]Урок by RussianCJ


Автор - MaNb9K
Дата добавления - 15.12.2010 в 12:44:50
wOLFДата: Среда, 15.12.2010, 18:24:13 | Сообщение # 2

Группа: Пользователи
Сообщений: 35
Quote (MaNb9K)

{
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s покинул сервер (Timeout)", PlayerName);
SendClientMessageToAll(0xAFAFAFAA, str);
}

что в этом значит число 30?

Сообщение отредактировал wOLF - Среда, 15.12.2010, 18:24:58
 
Сообщение
Quote (MaNb9K)

{
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s покинул сервер (Timeout)", PlayerName);
SendClientMessageToAll(0xAFAFAFAA, str);
}

что в этом значит число 30?


Автор - wOLF
Дата добавления - 15.12.2010 в 18:24:13
MaNb9KДата: Среда, 15.12.2010, 18:58:00 | Сообщение # 3

Группа: Пользователи
Сообщений: 220
wOLF, 30 как 30 а те так важно?

[img]http://sa-mp-fail.at.ua/premium.gif[/img]
 
СообщениеwOLF, 30 как 30 а те так важно?

Автор - MaNb9K
Дата добавления - 15.12.2010 в 18:58:00
ArTeMkAДата: Четверг, 03.02.2011, 18:42:44 | Сообщение # 4

Группа: Пользователи
Сообщений: 16
Блин я не понел Маньяк добавься комне в скайп alexwilliasm95 пожалуйста

[RP]MultiGame[RUS]
 
СообщениеБлин я не понел Маньяк добавься комне в скайп alexwilliasm95 пожалуйста

Автор - ArTeMkA
Дата добавления - 03.02.2011 в 18:42:44
EmporiOДата: Четверг, 19.05.2011, 18:13:58 | Сообщение # 5

Группа: Пользователи
Сообщений: 30
Quote (MaNb9K)
wOLF, 30 как 30 а те так важно?

MaNb9K:- Если ты Копипастиш уроки, будь добр отвечать на вопросы поставленные пользователями, а не то что ты употребил в своей речи!
Если незнаеш что это не берись за это вообще.
Посты себе набиваеш только и все..
Это мое мнение. Лично если бы мне ответил я бы культурно покрыл матом бы тебя.
ДУмаю учтеш данное сообщение!


Minzdrav Gang M*FUCKA!!!

Сообщение отредактировал EmporiO - Четверг, 19.05.2011, 18:14:31
 
Сообщение
Quote (MaNb9K)
wOLF, 30 как 30 а те так важно?

MaNb9K:- Если ты Копипастиш уроки, будь добр отвечать на вопросы поставленные пользователями, а не то что ты употребил в своей речи!
Если незнаеш что это не берись за это вообще.
Посты себе набиваеш только и все..
Это мое мнение. Лично если бы мне ответил я бы культурно покрыл матом бы тебя.
ДУмаю учтеш данное сообщение!

Автор - EmporiO
Дата добавления - 19.05.2011 в 18:13:58
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

ps798829

(Среда 08:23:47)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

Вверх
10:59:33
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: