Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Maks86

Новый способ спавна игроков, нужна помощь...

Всех приветствую!!! Возникла идея у меня по поводу спавна игрока в зависимости от его рейтинга. Что я имею ввиду....

Я сделал несколько типов сетов, например Топик, средний чувак и кепарь. Каждый сет состоит еще из 10 - 20 подсетов и разное оружие в зависимости кого я спавню. Спавн происходит рандомно например: 20% ТОПик, 30% средний и 50% кепка. Сразу оговорюсь, пока речь о самой механики и не важно это будет детч матч или обычный сервак. Что я хочу сделать...  избавиться от проблемы номер 1. это то  почему игроки киляються, так как знают что есть ТОПик и пока не заспавняться ТОПиком, до этих пор и киляються. Можно конечно убрать всех остальных и оставить только ТОПиков, но опять же, будут киляться, пока оружие не получат, то которое нужно. Либо думал оставить одних кепок с пушками, а средних и ТОПиков, спавнить только платно (через магаз). Но я думаю что та и та идея не совсем удачные будут. 

В общем что я надумал, спавнить игрока не рандомно, а вот каким образом ...... Можно ли как-то сделать так, чтоб за каждое убийство, если игрок кого-то убил, то получает например + 5 баллов, если он умер, то  минус 2 бала (например). Если у игрока накопилось для примера 20 баллов, то он спавниться Средним чуваком, если 50 баллов, то ТОПиком. Ну и соответственно если балы у него уменьшаются, то он скатывается вплодь, до кепки. Это позволит не киляться игроку, а копить балы.

Либо как вариант, в каждого игрока, пихать какую либо ценную вещь, например манетуили еще что то либо, суть в том. Для примера ты заспавнился кепкой, тебе выдаётся 1 монета. Далее ты кого-то убил, забрал у него монету, того их уже 2 него. И так далее. Для примера тебя убили, но у тебя было в инвентаре 3 монеты, а для того чтоб заспавниться на класс выше, нужно 3 монеты иметь при себе, значит ты спавнишся среднячком и получаешь свои же монеты за минусом 1шт и того у тебя будет 2 монетына старте, тобиш тебе нужно будет достать еще одну монету, чтоб вследующий раз также заспавнитсья. А от 10 монет, уже ТОПиком спавнишся. Както вот так например. Мне второй вариант больше нравиться или как то их скомбенировать. Вот подскажите, можно ли както это реализовать? Буду очень благодарен, могу рассмотреть платный вариант помощи.

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Реализовать с точки зрения логики и теории легко. Берем серверный мод (тот что на стороне сервера ставится, а не тот, что индивидуально для сервера делается), делаем скрипт-класс, например в 4 ворлд, который в памяти или на жестком диске будет хранить, получать, менять и возвращать значения очков для каждого игрока. А также вызов для него простой, ну чтобы обращаться легко было к нему везде. Ну и делаем моддинг плеербейз функции еекиллед, с обработкой того кто убил и начислением этих самых очком с нужными вам баллами под нужную вам ситуацию.

Далее дело за малым, берем скрипт что я делал в одной из тем форума на сеты, и правим, чтобы перед выдачей сета скрипт получал баллы игрока и под них нужный вам сет. Ну и сеты, разумеется.

Как бы в теории нет ничего мега сложного и все реально. 

Как это сделать? Да вот этими самыми вашими ручками, учитесь скриптить сами.

 

Share this post


Link to post
Share on other sites



  • 0

Спасибо за труды огромное, я ваше видео смотрел по поводу спавна игрока с лутом. Уже чуть больше 2000 строк написал. Но то что для вас просто, для меня это темный лес, так как любитель. Нахожу пример, в нем разбираюсь и далее учусь уже на примерах и пишу уже под себя то что знаю. А вот что вы говорите, для меня это темный лес конечно. Логика то простая, я не спорю. Как работать уже с полученными балами в фаили Sets.c я уже разберусь. Но как мне узнать операторы или функции чтоб начислял и отнимал балы, я даже не пойму в каком направлении мне это все искать. Я готов поспорить, там делов то на пол дня, если знаешь с чем работать, а я искать только буду пол года наверное информацию об этом. Для примера, то что накодил уже сам, я потратил два месяца, и щас понимаю что все это время 90% я тратил на изучения, а если мне щас нужно будет снова это написать, то я за день спокойно справлюсь. Поэтому и пишу на форуме, так как мне подсказали его, что он самый лучший. Возможно кто сможет подсказать какие операторы или примеры использовать, а там я сам уже разберусь. Рассмотрю конечно и платное условие помощи, так как я с экономлю много времени и тот кто поможет разобраться тоже в плюсе будет. Так как я не располагаю много времени, так бы уже конечно сам разобрался бы. Это когда лет 20 назад, когда студентом был, времени хоть отбавляй, а щас сами понимаете, дом работа и итд. Поэтому буду благодарен за помощь!

Edited by Maks86
Добавил текст (see edit history)

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, Maks86 сказал:

Спасибо за труды огромное, я ваше видео смотрел по поводу спавна игрока с лутом. Уже чуть больше 2000 строк написал. Но то что для вас просто, для меня это темный лес, так как любитель. Нахожу пример, в нем разбираюсь и далее учусь уже на примерах и пишу уже под себя то что знаю. А вот что вы говорите, для меня это темный лес конечно. Логика то простая, я не спорю. Как работать уже с полученными балами в фаили Sets.c я уже разберусь. Но как мне узнать операторы или функции чтоб начислял и отнимал балы, я даже не пойму в каком направлении мне это все искать. Я готов поспорить, там делов то на пол дня, если знаешь с чем работать, а я искать только буду пол года наверное информацию об этом. Для примера, то что накодил уже сам, я потратил два месяца, и щас понимаю что все это время 90% я тратил на изучения, а если мне щас нужно будет снова это написать, то я за день спокойно справлюсь. Поэтому и пишу на форуме, так как мне подсказали его, что он самый лучший. Возможно кто сможет подсказать какие операторы или примеры использовать, а там я сам уже разберусь. Рассмотрю конечно и платное условие помощи, так как я с экономлю много времени и тот кто поможет разобраться тоже в плюсе будет. Так как я не располагаю много времени, так бы уже конечно сам разобрался бы. Это когда лет 20 назад, когда студентом был, времени хоть отбавляй, а щас сами понимаете, дом работа и итд. Поэтому буду благодарен за помощь!

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

Касаемо всего остального - вы верно заметили, что на изучение своего кода вы потратили полгода, но сможете его воспроизвести за день. Именно это и результат обучения. Как нельзя кстати, но именно так лучший способ изучить игру, было б желание и терпение. И в памяти останется, и руки будут помнить, и понимать будете лучше что вы делаете и как работает. Я также учился сам, помогать было некому. Помогло лишь мне мое желание, тонна времени, ну и маленький опыт изучения c# как хобби (чисто азы языка, пара уроков, изучение кода).

Писать за вас готовый код на форуме мало кто собирается, хотя бы потому, что это то же самое время. Так что учитесь сами, как бы сильно вам не хватилось. По мелочам помогут, если могут, но не более. Разумеется кому чем знания позволяют, я тоже далеко не эксперт, как многим кажется, а лишь любитель, и очень многого сам не знаю и изучаю также, как и вы, стратя тонны времени.

Касаемо видео - не знаю о чем вы, я видео не писал. Тут вопросы к ютуберам.

Касаемо обучения и вопросов 'какие функции' - для смерти игрока я ее назвал. Class PlayerBase void EEKilled. обрабатывает смерть игрока. Пример в гайде моем есть с KillFeed на форуме. Остается просто понять как работает код и написать по своему то что вам надо. По поводу функции 'задать' - 'получить' очки игрока набраные и т.п. - тут все тупо и просто - вы их сами пишете, их впринципе не предусмотрено в игре. Т.е. писать с нуля всю систему хранения, обработки и оперирования этими значениями. Причем не просто 'чтоб было', а именно чтобы учитывалось и при переспавне персонажа, и сохранялось. Грубо говоря нюансы продумать прийдется. Как - тут могу только одно сказать - изучайте моды и чужие работы. Готового ответа на этот вопрос нет, все по крупицам под нужные задачи подбирать и под то, как скрипт должен функционировать по вашей затее. Больше опыта - проще  написать. А опыт он как и везде, по крупицам набирать самому, этими самыми ручками, что и пишем на форум.

Из личного опыта скажу следующее: советую заранее в голове прокрутить все возможные нюансы, и обрисовать их, (если проще, можно и на бумаге) условности и 'теории вероятности' во всех возможных событиях всего того, как ваша система будет обрабатываться, как будет выглядеть, куда что передавать, сохранять, загружать и т.п. Потом будет проще строить код. В программировании это условно блок-схемой можно назвать, здесь примерно то же. Например, вот умер игрок, что должно произойти? Ну минимум сверить кто убил, с чего, при каких условиях, потом вызвать функцию добавления очков. И т.п. Вплоть до каждого нюанса. Ответьте себе 'как я буду делать это и куда это все потом пойдет, в каком виде'. В данном случае вы строитель своего кода в идее этак процентов на 75 точно.

Как бы я сделал я условно обрисовал. По коду подробнее это уже проще в дс на консультацию в голос. Текстом сложно все описать.

 

Edited by 123new (see edit history)

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

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.