21 posts in this topic

DEST
Maintainer

По заявке пользователя @Drummer1993 выкладываю готовое решение по созданию так называемой системы префиксов. Перейдем сразу к делу. 

Ко всем new: 

//в enum с данными о игроке
prefix[50],

Внимание! Далее, из-за слишком большого числа зависимостей, вместо prefix[playerid] и prefix[params[0]] название своего массива с данными о игроке. Например, у нас это PlayerInfo. Тогда необходимо использовать: 
PlayerInfo[playerid][prefix] и PlayerInfo[params[0]][prefix] соответственно. 
При возникновении трудностей, пишите в ЭТУ тему. 

Ко всем командам: 
 

Спойлер

CMD:setprefix(playerid, params[])
{
	//проверки на статус игрока. Например, на уровень администратора. Если проверок нет, удалите эту строку. 
	if(sscanf(params, "us[50]", params[0], params[1])) return SendClientMessage(playerid, -1, "Введите: /setprefix [playerid] [new prefix]");
	prefix[params[0]] = EOS; 
	strcat(prefix[params[0]], params[1]); 
	SendClientMessage(playerid, -1, !"Вы успешно выдали префикс игроку!");
	return true; 
}

 

В OnPlayerDisconnect <ИЛИ> в OnPlayerConnect: 
 

prefix[playerid] = EOS; 

Вот, собственно, "скелет" системы. Так как все моды разные, белые и красные, вам нужно подстраивать под свой. Необходимо сделать сохранение, а также вывод туда, куда вам нужно. Если не получается сделать это самим, пишите, поможем ;)

 

 

Share this post


Link to post
Share on other sites
Drummer1993
Постоянный

Все получилось огромное спасибо )))))) 

Заметка от RASTAMAN , создано

можно поблагодарить автора +

Share this post


Link to post
Share on other sites
Максимкин
Новичок

Спасибо,сейчас опробую!

Edited by Максимкин

Share this post


Link to post
Share on other sites
KRESTOVSKIY
Новичок

@DEST Я вообще не понял как устанавливать.

Я не много разбираюсь в PAWNO , но тут реально не понятно.

Share this post


Link to post
Share on other sites
DEST
Maintainer

@KRESTOVSKIY ну если вы разбираетесь только на уровне открыть программу и нажать F5, то этого недостаточно. Если у вас будет какой-то конкретный вопрос, обращайтесь в соответствующий раздел. Если хотите чтобы все сделали за вас, то вам сюда: https://pawno-rus.ru/freelancers/zapisi 

Share this post


Link to post
Share on other sites
Камерончик
Новичок

У меня похожая команда есть в моде. Только мне ещё нужен выбор цвета префикса. Если скину код команды - подскажите?

Edited by Камерончик

Share this post


Link to post
Share on other sites
FernandoW
Новичок

Здравствуйте , у меня выскакивают ошибки C:

Спойлер

\Users\1\Desktop\Èëüÿ è Ëåøà\SERVERS\Full RP\project\gamemodes\NVE-GM.pwn(28942) : error 028: invalid subscript (not an array or too many subscripts): "prefix"
C:\Users\1\Desktop\Èëüÿ è Ëåøà\SERVERS\Full RP\project\gamemodes\NVE-GM.pwn(28942) : warning 215: expression has no effect
C:\Users\1\Desktop\Èëüÿ è Ëåøà\SERVERS\Full RP\project\gamemodes\NVE-GM.pwn(28942) : error 001: expected token: ";", but found "]"
C:\Users\1\Desktop\Èëüÿ è Ëåøà\SERVERS\Full RP\project\gamemodes\NVE-GM.pwn(28942) : error 029: invalid expression, assumed zero
C:\Users\1\Desktop\Èëüÿ è Ëåøà\SERVERS\Full RP\project\gamemodes\NVE-GM.pwn(28942) : fatal error 107: too many error messages on one line

Спойлер

 

CMD:o(playerid, params[])
{
    if(IsAdmin(playerid, 3)) return 1;
    if(sscanf(params, "s[140]", params[0])) return SCM(playerid, COLOR_WHITE, "Èñïîëüçóéòå: /o [òåêñò]");
       format:str_cmd( "Àäìèíèñòðàòîð %s: %s",pInfo[playerid][prefix], params[0]);
    SendClientMessageToAll(COLOR_YELLOW,str_cmd);
    return 1;
}

CMD:setprefix(playerid, params[])
{
    if(IsAdmin(playerid, 7)) return 1;
    if(sscanf(params, "us[50]", params[0], params[1])) return SendClientMessage(playerid, -1, "Use: /setprefix [playerid] [new prefix]");
    if( !IsPlayerLogged( params[0] ) ) return SCM( playerid, COLOR_DARK_GRAY, !INCORRECT_PLAYER_ID );
    prefix[params[0]] = EOS;
    strcat(prefix[params[0]], params[1]);
    SendClientMessage(playerid, -1, !"Prefix given!");
    return true;
}

 

 

помогите , что делать?

Edited by DEST

Share this post


Link to post
Share on other sites
DEST
Maintainer

@FernandoW 

21 час назад, FernandoW сказал:

prefix[params[0]]

нужно заменить на 

21 час назад, FernandoW сказал:

pInfo[params[0]][prefix]

как это сделано у вас раньше

Share this post


Link to post
Share on other sites
FernandoW
Новичок
1 час назад, DEST сказал:

@FernandoW 

нужно заменить на 

как это сделано у вас раньше

В какой строчке именно это заменить?

Share this post


Link to post
Share on other sites
DEST
Maintainer

@FernandoW в которой это написано, в команде setprefix. Какая она у вас в моде я не знаю, Вы не пометили строчки, в которых ошибки. 

Share this post


Link to post
Share on other sites
FernandoW
Новичок
2 часа назад, DEST сказал:

@FernandoW в которой это написано, в команде setprefix. Какая она у вас в моде я не знаю, Вы не пометили строчки, в которых ошибки. 

Спойлер

CMD:o(playerid, params[])
{
    if(IsAdmin(playerid, 3)) return 1;
    if(sscanf(params, "s[140]", params[0])) return SCM(playerid, COLOR_WHITE, "Èñïîëüçóéòå: /o [òåêñò]");
       format:str_cmd( "Àäìèíèñòðàòîð %s: %s",pInfo[playerid][prefix], params[0]);
    SendClientMessageToAll(COLOR_YELLOW,str_cmd);
    return 1;
}

CMD:setprefix(playerid, params[])
{
    if(IsAdmin(playerid, 7)) return 1;
    if(sscanf(params, "us[50]", params[0], params[1])) return SendClientMessage(playerid, -1, "Use: /setprefix [playerid] [new prefix]");
    if( !IsPlayerLogged( params[0] ) ) return SCM( playerid, COLOR_DARK_GRAY, !INCORRECT_PLAYER_ID );
    prefix[params[0]] = EOS;     ТУТ ОШИБКА
    strcat(prefix[params[0]], params[1]);       И ТУТ
    SendClientMessage(playerid, -1, !"Prefix given!");
    return true;
}

 

 

Edited by DEST

Заметка от DEST , создано

3.2. Код больше 10 строк необходимо брать в теги "Код" и "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

Share this post


Link to post
Share on other sites
FernandoW
Новичок
1 минуту назад, DEST сказал:

@FernandoW вот в этих строчках и замените

Заменил , на сервере пишу в /o , пишет "Администратор : И тут текст. Префикс не пишется

Edited by FernandoW

Share this post


Link to post
Share on other sites
DEST
Maintainer

В конце темы и указано, что это только скелет системы, нужно еще дорабатывать под лично свой мод, т.к. в SAMP практически все моды сделаны в виде одного файла без возможности подключения изолированных друг от друга модулей. 

В 23.10.2017 в 21:30, DEST сказал:

Необходимо сделать сохранение, а также вывод туда, куда вам нужно.

@FernandoW 

Share this post


Link to post
Share on other sites
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

@DEST, люди не хотят думать. Привыкли, что всё всегда за них делают. Это не как раньше, пытались на основе чего-то сделать сами.

Заметка от DEST , создано

2.17. Запрещено флудить, оффтопить, заниматься флеймом. 

Устное предупреждение.

Share this post


Link to post
Share on other sites
Guest 123
Новичок

Помогите умоляю:
 

:\EGOR\23\mod\1\gamemodes\new.pwn(4046) : error 028: invalid subscript (not an array or too many subscripts): "prefix"
D:\EGOR\23\mod\1\gamemodes\new.pwn(4046) : warning 215: expression has no effect
D:\EGOR\23\mod\1\gamemodes\new.pwn(4046) : error 001: expected token: ";", but found "]"
D:\EGOR\23\mod\1\gamemodes\new.pwn(4046) : error 029: invalid expression, assumed zero
D:\EGOR\23\mod\1\gamemodes\new.pwn(4046) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.4              Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Строка:prefix[playerid] = EOS;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • LORDIKUS
      By LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      By Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      By KodBi
      шапка
      по одиночке работают
      нужны оба