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

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

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

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

Нупы #1 . Урок для новичков, всё расписано.Создание 1 команды!

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

Leksarut

Умник
Привет друзья.Школяры, и те кто постарше!​
Сегодня будет первый урок по скриптингу! Мы будем делать что-нибудь простое и понятное!Ну начнём:
Берём любой код, пусть будет проверка на администратора и выдача денег:
PHP:
if(strcmp(cmd,"/money",true) == 0)
{
     if(Player[playerid][pAdmin] == 1)
     {
         GivePlayerMoney(playerid,1000);
     }
}
В общем я понимаю что тут ничего не понятно.Ну написал и ладно скомпилировалось без ошибок и сойдёт!
Но ведь можно попытаться понять это не трудно!
Все команды в OnPlayerCommandText начинаются с
PHP:
if(strcmp ...
Что это вообще такое? if (Значение: если.Использование:проверка чего либо,команды,админки - да всего).
Далее вы можете увидеть не понятную строку strcmp что эт вообще за фигня? ( Значение:проверка того что ввёл игрок. Использование:проверять ник купленной машины или дома, проверка на пароль и многое другое).
Что там дальше?Открываются скобки самой проверки strcmp(cmd,"/money",true).
Ну начнём! Что же такое cmd? Cmd - (Значение:локальная переменная создаваемая в начале паблика OnPlayerCommandText.Использование: определение параметров после команды. Не понятно? Это значит например введённый ид игрока, если использовать cmdtext то после команды ничего узнать нельзя будет!).
Ну в кавычках " " пишется сама команда у нас это /money можно написать любую.Да и не обязательно использовать слешь /,можете использовать любой другой символ например ~ или *.(отойти так сказать от норм).
Что там дальше? А true! true - (Значение:чувствительность к регистру.Использование:если поставить false,то /MOney и /mOneY будут разные команды!).
Далее всегда нужно ставить == 0. == 0 (Значение: если введённые символы совпадают.Использование:== 0)
Ну и понятное дело если в коде две открытых скобки (( должно быть и две закрытых )) . Так и здесь .


С первой строчкой окончено!!!
[HR][/HR]
Дальше идёт открытие фигурной скобки {, можно догадаться если скобка открыта то её надо и закрыть -> поэтому должна быть и закрытая }
Внутри фигурных скобок { } и совершается весь код команды!

Ну со скобками кончено!
[HR][/HR]
Теперь сама Начинка команды!
Внутри функция выдачи денег GivePlayerMoney. Если же написать GIvePlayerMONey - то компилятор выдаст ошибки.
Что же внутри GivePlayerMoney?Это в программировании называется "Аргументы". Умное слово, советую вам его запомнить!
Ну так что же там за Аргументы? 1. playerid - игрок.Как можно догадаться player- игрок id - ид, ид игрока.Трудно всё равно не правда ли? playerid - (Значение:игрок который ввёл команду, совершил действие.Использование:в командах, авторынках,системах - во всём. Это можно сказать самая "Популярная" переменная).На месте playerid можно поставить конкретный ид игрока который может ввести команду, например - 0,тогда другим этого сделать нельзя будет, а playerid - разрешает это делать всем(чтобы было понятнее).
Далее идет сумма денег выдаваемыех игроку. В нашем случае это 1000 долларов. Можно конечно-же вписать любое число, но так же можно выписать и глобальную переменную.Например:
PHP:
new money = 1000; // глобальная переменная money "=" присваивает 1000 этой переменной,не путайте "==" - это сравнивает.
if(strcmp(cmd,"/1000money",true) == 0)
{
       GivePlayerMoney(playerid,money);// даём 1000 долларов игроку, которые мы присвоили в переменной money, мы так же можем их и отнять.
}
//отнятие денег:
if(strcmp(cmd,"/-1000money",true) == 0)
{
       GivePlayerMoney(playerid,-money);//Следует запомнить что когда прибавляем деньги не надо ставить "+", а когда убавляем нужно ставить "-".Из за этого у вас могут быть ошибки!.
}


Выдача денег закончена!
[HR][/HR]
Теперь самое трудное в данной команде!
Проверка на администратора!
Тут нас встречает if(если), далее открывается скобка "(", и тут проверка!
Player[playerid][pAdmin] - что это? Player - в начале мода есть данные о игроке - enum(для вас ещё трудно),там записано всё что есть у игрока (деньги-pMoney, лвл - pScore ну и другое).Так вот после всех строчек есть глобальная переменная new Player..., Она может быть любой и PlayerInfo и PlayerStats и Players , смотрите какая у вас и в этой проверке используйте вашу.
То-есть:
PHP:
// у вас new PlayerInf[...][...];
//команда:
if(strcmp(cmd,"/money",true) == 0)// всё как было
{
    if(PlayerInf[playerid][pAdmin] == 1)// видите нужно изменить на вашу, здесь проверка на pAdmin можно изменить на pScore(лвл), или же pMoney(деньги), смотря какая у вас цель. И не забудьте!!! "=" - значить присвоить. а "==" - значить сравнить!!!!!!!!
    {
         ...
    }
}
Ну в общем всё команду мы разобрали!


[HR][/HR]
[HR][/HR]
[HR][/HR]
Теперь у вас есть 1 вами написанная команда!По-экспирементируйте - добавьте проверку на уровень и на деньги!
Ну и как же без домашнего задания?
Добавьте в команду /money проверку на администратора и выдачу разную денег по такой схеме:
1 уровень админки - 1000 долларов
2 уровень админки - 2000 долларов
3 уровень админки - 3000 долларов

Всё поняли? Ответы на домашнее задание оставляйте в комментариях вместе с отзывами! Постараюсь продолжить уроки!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу