В теме 21 сообщение

По заявке пользователя @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; 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Drummer1993
Постоянный

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Максимкин
Новичок

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

Отредактировано пользователем Максимкин

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
KRESTOVSKIY
Новичок

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Камерончик
Новичок

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

Отредактировано пользователем Камерончик

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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;
}

 

 

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

Отредактировано пользователем DEST

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@FernandoW 

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

prefix[params[0]]

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

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

pInfo[params[0]][prefix]

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
FernandoW
Новичок
1 час назад, DEST сказал:

@FernandoW 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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;
}

 

 

Отредактировано пользователем DEST

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
FernandoW
Новичок
1 минуту назад, DEST сказал:

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

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

Отредактировано пользователем FernandoW

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

@FernandoW 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость 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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   1 пользователь онлайн

    • aarizona
  • Похожий контент

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

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

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