Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Урок] Основы ДМ сервера ( 2урок )

Статус
В этой теме нельзя размещать новые ответы.

Murphy

Компетентный
Доброе время суток! С вами снова я, Murphy! И я продолжу то, на чем я остановился. Это - проведение своих обучающих уроков. Задержка была большая, но моя первая тема, набрала 650+ просмотров и являла собой только положительные отзывы. И так приступим.​

В первом уроке, я рассказал как можно:
- Добавить нужные классы в мод
- Сделать подпись класса
- А также как сделать анимацию при разговоре


И так, продолжим.


Давайте же теперь сделаем позиции спавна. Для того, чтобы узнать нужные координаты, воспользуйтесь Launch_DEBUG.
Допустим вы получили нужные координаты, и давайте сделаем так, чтобы игрок рандомно появлялся в одной из точек. Для этого будем пользоваться функцией random.

В паблик OnPlayerSpawn добавим следующее.

PHP:
new rand = random(3);
switch(rand)
    {
    case 0: SetPlayerPos(playerid,1093.7919,-807.1541,107.4202);
    case 1: SetPlayerPos(playerid,681.6498,-473.3458,16.5363);
    case 2: SetPlayerPos(playerid,329.6938,-1346.2073,14.5078);
    case 3: SetPlayerPos(playerid,1621.7583,-1041.6017,23.8984);
    }
Объясню!
new rand - это мы создали переменную, которая отвечает за спавны, и присвоили ей значение Рандома.
random(3) - это сам выбор, 3 в скобках - это количество выбираемых пунктов ( значение идет от 0 ).
switch(rand) - мы запускаем выбор
case 0: и т.д. - это те пункты которые будут выбираться.

И теперь при спавне игрока, он будет появляться в одной из этих точек :)
Примечание: Координаты меняйте на свои.

А теперь давайте сделаем систему убийств.

В OnPlayerDeath добавьте следующее


PHP:
if(killerid == INVALID_PLAYER_ID)
    {
	SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    GameTextForPlayer(killerid,"~b~WIN",2000,6);
    GameTextForPlayer(playerid,"~r~DEATH",2000,6);
    }
    else
	{
	SendDeathMessage(killerid,playerid,reason);
	GameTextForPlayer(playerid,"~r~DEATH",2000,6);
    GameTextForPlayer(killerid,"~b~WIN",2000,6);
	GetPlayerScore(killerid);
	GivePlayerMoney(killerid, 500);
	GameTextForPlayer(killerid, "~y~+500 Money and +1 Score", 2000, 1);
	new a = GetPlayerScore(killerid);
	a++;
	SetPlayerScore(killerid, a);
	}
Долго мучатся над объяснениями не буду, скажу кратко:
- Если ты умер, напишет тебе что ты умер
- Если ты кого-то убил, то система даст тебе 500$ и добавит одно очко (Score) и сообщит об этом

Для ДМ сервера думаю пойдет.



На этом пока все, следующий урок будет намного раньше чем предыдущий, так как были некие задержки :(​

Всем спасибо за просмотр!​

by Murphy
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу