• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
Урок №11 (Сообщение)
adminДата: Вторник, 05.10.2010, 20:32:36 | Сообщение # 1

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

case <число>;

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

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

Ради тренировки создадим в паблике

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

Code

new PlayerName[30], str[256];

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

Code

switch (reason)

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

Code

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'ы и делать с помощью них скрипты.

Источник samp-team.com/



zm-jail.ru

Разработка сайта samp-pawno.ru


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

case <число>;

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

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

Ради тренировки создадим в паблике

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

Code

new PlayerName[30], str[256];

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

Code

switch (reason)

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

Code

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'ы и делать с помощью них скрипты.

Источник samp-team.com/


Автор - admin
Дата добавления - 05.10.2010 в 20:32:36
MaXMuTДата: Суббота, 18.06.2011, 11:54:05 | Сообщение # 2

Группа: Пользователи
Сообщений: 90
Спасиб,Админ.

Вернулся на форум.Пишите в личу,если кому надо помочь по скриптенгу( только на форуме,в скайпе не помогаю )
 
СообщениеСпасиб,Админ.

Автор - MaXMuT
Дата добавления - 18.06.2011 в 11:54:05
  • Страница 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)

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)

swoysb

(Пятница 14:55:29)

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

vkontakte :samp-pawno.ru: