Загрузка страницы...
Мультипортал > Форум
  Главная Баннеробмен Гостевая Polaris Forum
 
Реклама
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ROCKetMAN, xSLIMx  
Форум » Компьютеры и информационные технологии » Pwn - скриптинг » Создаём Сообщения (PawnO)
Создаём Сообщения
лордДата: Воскресенье, 20.12.2009, 01:06 | Сообщение # 1
Местный
Группа: Провереные
Сообщений: 280
Награды: 7
Репутация: 7
Статус: Offline
Case - команда, которая проверяет переменную на то число, которое будет использоваться
во время public'а, в котором есть эта команда.

case <число>;

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

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

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

new PlayerName[30], str[256];

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

switch (reason)

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

case 0:

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

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

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

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 потока в один поток с помощью ещё одного } и после этого окончательный
вид должен быть таким:

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


 
xSLIMxДата: Воскресенье, 20.12.2009, 09:38 | Сообщение # 2
Директор ФБР
Группа: Game Managers
Сообщений: 250
Награды: 1
Репутация: 21
Статус: Offline
лорд, хорошо написал.

[GM]True Rp (© 2009 SliM) more than 40000 lines, more than 2 cups of coffee were drunk
Моя коллекция модов (РП и РПГ) Для сампа

Пару переделок ЛА-РП

Пару Модификаций ГФ

Пару ранних модов с состоявщихся серверов

 
ROCKetMANДата: Воскресенье, 20.12.2009, 10:33 | Сообщение # 3
Создатель портала
Группа: Главные Администраторы
Сообщений: 486
Награды: 4
Репутация: 47
Статус: Offline
Quote (xSLIMx)
лорд, хорошо написал.

xDDD ага, и главное собственноручно.



 
лордДата: Воскресенье, 20.12.2009, 12:43 | Сообщение # 4
Местный
Группа: Провереные
Сообщений: 280
Награды: 7
Репутация: 7
Статус: Offline
Хахха. народ . Я бы сам пояснить мог. Ну прос тя ночью это копировал! Так в ПАДЛУ было писат ьеслиб в знали.!!! ))

 
Форум » Компьютеры и информационные технологии » Pwn - скриптинг » Создаём Сообщения (PawnO)
  • Страница 1 из 1
  • 1
Поиск: