Перейти к содержимому

Нужно ли вводить формулу получения опыта за победу над другими игроками?  

95 пользователей проголосовало

  1. 1. Нужно ли вводить формулу получения опыта за победу над другими игроками?

    • Формула: 30 + 5 * ( 3 + УровеньПроигравшего - УровеньПобедителя) но не менее 20
      2
    • Не нужно за игроков опыт давать.
      0
    • Формула нужна, но другая.
      1


Рекомендуемые сообщения

Просто оставлю это тут, может кому пригодится для ИИ.

 

Скриншот:

4tw.png

 

Видео:

https://yadi.sk/i/0JQgdnbomCHVC

 

Код на coffeescript:

 

 

# coffeescript
# Create by Chip Viled 
# v 0.02
# MIT license

username = 'player_name' 
usersignore = ['some_name']        # or '*' for ignore all.
usersaggro = ['some_other_name']   # use if usersignore = '*'
r_shut = 330
f_i = 0
f_update = 10
cw = 640
ch = 480
mXold = 0
mYold = 0
dSigma = 0.05

way = {
  run: 'left'
  leftLimit: 100
  rightLimit: 1800
  fix: false
}


isAutoShoot = false
isAutoRun = false

jQuery('#game').after(
  '''
  <div style="
    background-color: #104d9d;
    color: #FAFAFF;
    border-radius: 15px;
    display: inline-block;
    margin: 5px;
    padding: 10px;
    width: 550px;
  ">
  <span id="autoshoot" style="cursor:pointer;">Autoshoot</span>
  <span id="autorun" style="cursor:pointer;">Autorun</span>
  <div id="autoinfo"></div>
  </div>
  ''')
  
jQuery('#autoshoot').click( () =>
  if (isAutoShoot == false)
    isAutoShoot = true
  else
    isAutoShoot = false
)
jQuery('#autorun').click( () =>
  if (isAutoRun == false)
    isAutoRun = true
  else
    isAutoRun = false
)

autoshoot = () =>
  dm =100000
  name =''
  sX = 1 
  sY = 1  
  mX = mY = 0
  
  for pp in p
    if (pp.name == username)
      uX = pp.x
      uY = pp.y
  
  for pp in p
    if (pp.name == username) 
      continue
    if (usersignore != '*' and pp.name in usersignore)
      continue
    if (usersignore == '*' and !(pp.name in usersaggro))
      continue
  
    r = distance(uX, uY, pp.x , pp.y)
    if (r < dm) 
      dm = r
      r_name = pp.name
      
  for pp in p     
    if (pp.name == r_name)  
      mX = pp.x
      mY = pp.y
      dX = mX - mXold
      dY = mY - mYold
      mXold = mX
      mYold = mY
           
  angle = Math.atan2(uY - mY - dY * dm * dSigma + 8, uX - mX - dX * dm * dSigma)
  sX = Math.cos(angle) * 15
  sY = Math.sin(angle) * 15
    
  if (dm <= r_shut and isAutoShoot == true)
    socket.emit('netNewProjectile', { sX: sX, sY: sY } )

  f_i = f_i + 1
  if (f_i >= f_update) 
    f_i = 0
    
    infoJ  = 'X=' + (uX).toFixed(2) + ' Y=' + (uY).toFixed(2) + '<br />'
    infoJ += 'usr_aggro=' + r_name + '<br />'
    infoJ += 'rad_aggro=' + (dm).toFixed(2) + '<br />'
    infoJ += 'X_aggro=' + (mX).toFixed(2) + ' Y_aggro=' + (mY).toFixed(2) + '<br />' 
    infoJ += 'autoshoot=' + isAutoShoot + '<br />'
    infoJ += 'autorun=' + isAutoRun # + '<br />'
    
    jQuery('#autoinfo').html(
      infoJ
    ) 
    
  return 0
  
  
autorun = () =>
  if (!isAutoRun)
    if (way.fix)
      keys[32] = false
      keys[65] = false
      keys[68] = false 	  	
      socket.emit('btnRelease', { 'key' : 'A' })
      socket.emit('btnRelease', { 'key' : 'D' })
      socket.emit('btnRelease', { 'key' : 'SPACE' })
      way.fix = false
      return 0

  way.fix = true
  
  for pp in p
    if (pp.name == username)
      uX = pp.x
      uY = pp.y  

  if (uX <= way.leftLimit)
    way.run = 'right'
  	
  if (uX >= way.rightLimit)
    way.run = 'left'
    
  
  if (way.run == 'right')
    keys[68] = true
    keys[65] = false
    socket.emit('btnPress', { 'key' : 'D' })
    socket.emit('btnRelease', { 'key' : 'A' })
      	
  if (way.run == 'left')
    keys[68] = false
    keys[65] = true
    socket.emit('btnPress', { 'key' : 'A' })
    socket.emit('btnRelease', { 'key' : 'D' })
  
  if (Math.random() < 0.01)
    keys[32] = true
    socket.emit('btnPress', { 'key' : 'SPACE' })
  else  
    keys[32] = false
    socket.emit('btnRelease', { 'key' : 'SPACE' })
  
  return 0


window.setInterval( => 
  autoshoot()
  autorun()
  
  return null
, 21)

 

Изменено пользователем chip

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


Ссылка на сообщение

Еще относительно важное обновление

 

( BRANCH 1 ) (Public beta) - 15.12.2015
*Back-end:
-У игроков теперь 4 пула: Здоровье, энергия, ESP и хаос энергия.
-Для разных действий будут использованы разные пулы, но сейчас:
-Прыжки стоят 40 энергии.
-Стрельба стоит 10 энергии.
*Front-end:
-Шкалы здоровья, энергии и прочего теперь отображаются в левом-верхнем углу.
-Шкала опыта отображается снизу
-Здоровья ИГРОКА теперь отображается только в верхнем левом углу (а не под игроком как раньше).
-Текст кол-ва колец и очков теперь поменьше

 

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


Теперь еще на F можно телепортироваться в сторону курсора. (требуется 20 хаоса)

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


Ссылка на сообщение

КРАЙНЕ МЕДЛЕННАЯ ОБНОВА :)
 

Water - 30.12.2015

 

*Back-end:
-Форма регистрации должна работать полностью.

-Враги отстреливаются только 1 пулей вместо 3 и только, если у них есть еще здоровье

 

*Front-end:
-Положение форм изменено. Теперь они наложены на окно игры.
-Виджет чата изменен (размер текста, прозрачность и прочее)
-Теперь игроки не будут телепортироваться с помощью буквы F если они печатают сообщение в чате
-Добавлена кнопка включения/выключения чата
-Разрешение игры изменено до 1024 на 600 пикселов.

 

 

Очень медленно. Праздники же.

Выбор персонажа отключен пока что, ибо потом будет привязка персонажа к "аккаунту"

 

Не забывайте, что играть лучше по ЭТОЙ ссылке:

http://sonic-realmz.com/?page=play


Еще один малюсенький апдейт:

Water - 31.12.2015
*Back-end:
-Homing attack (Нажмите Е (англ) в прыжке когда враги рядом. Расходуется 25 энергии)
-Адреса электронной почты правильно сохраняются в БД
-Игрок теперь выбирает спрайт при регистрации всего лишь один раз

*Front-end:
-Бадники поблизости выделяются кругом

ПС: Скоро будет вайп.

Изменено пользователем U1tim@t3 MikLess
  • Лайк 1

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


Ссылка на сообщение

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

 

-Сейчас я запиливаю кнопку напоминания пароля. Принцип простой: юзер вписывает логин (без пароля или с - неважно), нажимает на forgot password? - логин отсылается на сервер, по нему ищется игрок, по игроку находится email адрес и на него через nodemailer с админского почтового ящика отправляется email с паролем. Я уже попал в callback hell и теперь пытаюсь из него выбраться Ж)

 

-Чуть позже еще немного обновок покидаю на сайт - думаю сделать rss, блог или что-нибудь.

 

-Ну и в третьих планируется подчистить гитХаб и опубличить его. Мы с Нибилеоном вроде разобрались как с ним работать так что осталось его подчистить.

 

 

Да да, геймплея не хватает я знаю, и то что я описал выше - не значит, что вы не можете в теме написать "А ну запили мне двойной прыжок" или "Я хочу больше бадников" или "Ощуть себя нечтым, Ылчняг" и я не сделаю это в ближайшее время.

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


Ссылка на сообщение

А ну запили мне двойной прыжок, Ылчняг!

 

Лаги уже поправлены? А то в последний раз все было очень грустно.

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


Ссылка на сообщение

Всё робит если не набежит более 4-х тел на серв)

 

*здесь мог бы быть нормально оформленный sample text про апдейт*

- Еще больше персов

- Персы теперь бегают

- Прыжок пока-что работает при отжимании пробела а не при нажатии

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


Ссылка на сообщение

 

А ну запили мне двойной прыжок, Ылчняг!

А вот возьму, и запилю!

 

Всё робит если не набежит более 4-х тел на серв)

 

*здесь мог бы быть нормально оформленный sample text про апдейт*

- Еще больше персов

- Персы теперь бегают

- Прыжок пока-что работает при отжимании пробела а не при нажатии

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

 

 

Плюс мне еще кто-то по исходникам написал имэйл, и я ответил - очень надеюсь что письмо не попадет в "спам" из за @sonic-realmz.com, хотя вроде gmail адекватно реагирует на него.

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


Ссылка на сообщение

Кстать Клик, не хочешь поработать геральдом в теме?)

Sure, why not? :D

+рандомные баги фичи записывать сюда, или просто интересности.

 

Пока ченджлога нормального нет, пишу так.

- Добавлен даблджамп, два пробела

 

<a class=post-10435-0-51719000-1452182180_thumb.png' alt='post-10435-0-51719000-1452182180_thumb.png'>

Серв смог выдержать 7 тел одновременно (половина из которых- боты, но не суть)

 

 

Багнутый буст\деш на кнопку Т в связи с введением бега практически не видно.

Однако его можно увидеть в действии, если пытаться спамить при ранении- вы можете быстро отлететь в противоположную сторону от противника. Юзайте это движение если вас безостановочно шпигуют пулями, чтобы быстро сбежать)

 

Хомминг багнут крут, если вы доведете хп вортекса до минимума, прыгните, выстрелите в вортекса и одновременно заюзаете хомминг. Т.к. вортекс будет убит пулей, вы улетите ооочень далеко)

 

Под водой нельзя заюзать дабл джамп (возможно и простой прыжок работать не будет, когда будут подводные локации)

 

Хаос контроль неактивируется дальше чем границы старого окна. То бишь целиться для телепорта нужно ближе к центру пикселей на 100 со всех сторон где-то.

 

Ииии... еще кое-что заметил. Иногда можно снести полностью вортекса с фул хп одним ударом. Критические удары? А может просто кто-то его покоцал а шкала не обновилась?

Изменено пользователем Klic The Echidna

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


Ссылка на сообщение

Можете ввести как-нибудь безопасный режим, так сказать, чтобы персонаж был неуязвим, но и сам при этом не мог ранить других игроков? Как в Террарии, например. А то иногда даже постоять спокойно не дают.

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


Ссылка на сообщение

Можете ввести как-нибудь безопасный режим, так сказать, чтобы персонаж был неуязвим, но и сам при этом не мог ранить других игроков? Как в Террарии, например. А то иногда даже постоять спокойно не дают.

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

 

Алсо, если можете- предложите свою сбалансированную формулу высчета опыта за убийства игроков D:

И... какие уровни из каких 2Д игр вы хотели бы видеть (классика, адвансы, или если у вас есть на примете подходящие спрайтщиты XD)

 

Опять же- пишите свои идеи.

 

то что я описал выше - не значит, что вы не можете в теме написать "А ну запили мне двойной прыжок" или "Я хочу больше бадников" или "Ощуть себя нечтым, Ылчняг" и я не сделаю это в ближайшее время.

 

Майк, напоминаю- джамп дэш, левитация, стенки, обнови ченджлог)

Изменено пользователем Klic The Echidna

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


Ссылка на сообщение

Котаны ведутся работы по внедрению Tiled карт в игру и уже куча всего сделано. "Вот так вот"

  • Лайк 1

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


Ссылка на сообщение

Sonic RealmZ:Earthbound Edition (в буквальном смысле XD)

V55nbRA.png

 

- БОЛЕЕ широкий уровень в сравнении с предыдущим

- Понемногу внедряется новая система уровней

- Вортексы заменены на баззбомберов хз когда аж это было

- Появились нормальные, безлифтовые стенки

- Земля и стены на 80% не пропускают через себя игроков телепортируйтесь в землю и сидите в своеобразном бункере)

  • Лайк 1

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


Ссылка на сообщение

Постараюсь кратко: *facepalm*

 

Теперь чуть более подробно.

Функция на CoffeeScript, которой скармливаешь тайлы коллизий (отсортированные) и на выходе получаешь оптимизированные _прямоугольные_ объекты для коллизий. Сильно оптимизировать ее нет смысла ибо выполняется только раз при загрузки карты.

 

 

# MIT License
# Created by Chip Viled

convertCollizionMap = (map) ->
    delta = 0.1
    getMap = []
    cMap = []
    tempMap = []
    for val in map
      p = {
        x: val.x
        y: val.y
        w: val.w
        h: val.h
        used: false
      }
      getMap.push(p)

    for val, key in getMap
      if (val.used == true) then continue
      val.used = true
      h = val.h
      for rVal, rKey in getMap
        if (rVal.used == true) then continue
        if (val.y + h - delta <= rVal.y and val.y + h + delta >= rVal.y and val.x - delta <= rVal.x and val.x + delta >= rVal.x)
          h = h + rVal.h
          rVal.used = true
      p = {
        x: val.x
        y: val.y
        w: val.w
        h: h
        used: false
      }
      tempMap.push(p)

    for val, key in tempMap
      if (val.used == true) then continue
      val.used = true
      w = val.w
      for rVal, rKey in tempMap
        if (rVal.used == true) then continue
        if (val.x + w - delta <= rVal.x and val.x + w + delta >= rVal.x and val.y - delta <= rVal.y and val.y + delta >= rVal.y and val.h - delta <= rVal.h and val.h + delta >= rVal.h)
          w = w + rVal.w
          rVal.used = true
      p = {
        x: val.x
        y: val.y
        w: w
        h: val.h
        used: false
      }
      cMap.push(p)
    tempMap = null
    getMap = null
    return cMap

 

На гитхабе залит рабочий код для теста.

 

Картинки для сравнения:

до

4tR.png

 

и после

4tS.png

 

Вместо >600 объектов коллизии <60 (неслабая часть которых на “тетрисе”). Попутный бонус – нет спотыканий и застряваний в больших блоках.

 

 

А вот тут беда:

if (distance( item.x, item.y, p.x, p.y - 32 ) < 100) {a = b;}
function distance(x1,y1,x2,y2) { return Math.sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ) };
Math.sqrt – довольно дорогая в вычислительном плане операция по сравнению с умножением, если переписать приблизительно так:

if (distanceSquare( item.x, item.y, p.x, p.y - 32 ) < 100 * 100) {a = b;}
function distanceSquare(x1,y1,x2,y2) { return (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) };
Результат тот-же, а квадратного корня нет. Учитывая, что в у вас оно используется в реалтаймовых цыклах постоянно и повсюду, то это может изрядно помочь в оптимизации.

 

 

Про нагрузку на проц при отрисовке канваса на клиенте вообще бяда. Может хоть на какой-то яваскрипт графический движок перейдете?

  • Лайк 1

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


Ссылка на сообщение

Постараюсь кратко: *facepalm*

 

Теперь чуть более подробно.

Функция на CoffeeScript, которой скармливаешь тайлы коллизий (отсортированные) и на выходе получаешь оптимизированные _прямоугольные_ объекты для коллизий. Сильно оптимизировать ее нет смысла ибо выполняется только раз при загрузки карты.

 

 

# MIT License
# Created by Chip Viled

convertCollizionMap = (map) ->
    delta = 0.1
    getMap = []
    cMap = []
    tempMap = []
    for val in map
      p = {
        x: val.x
        y: val.y
        w: val.w
        h: val.h
        used: false
      }
      getMap.push(p)

    for val, key in getMap
      if (val.used == true) then continue
      val.used = true
      h = val.h
      for rVal, rKey in getMap
        if (rVal.used == true) then continue
        if (val.y + h - delta <= rVal.y and val.y + h + delta >= rVal.y and val.x - delta <= rVal.x and val.x + delta >= rVal.x)
          h = h + rVal.h
          rVal.used = true
      p = {
        x: val.x
        y: val.y
        w: val.w
        h: h
        used: false
      }
      tempMap.push(p)

    for val, key in tempMap
      if (val.used == true) then continue
      val.used = true
      w = val.w
      for rVal, rKey in tempMap
        if (rVal.used == true) then continue
        if (val.x + w - delta <= rVal.x and val.x + w + delta >= rVal.x and val.y - delta <= rVal.y and val.y + delta >= rVal.y and val.h - delta <= rVal.h and val.h + delta >= rVal.h)
          w = w + rVal.w
          rVal.used = true
      p = {
        x: val.x
        y: val.y
        w: w
        h: val.h
        used: false
      }
      cMap.push(p)
    tempMap = null
    getMap = null
    return cMap

 

На гитхабе залит рабочий код для теста.

 

Картинки для сравнения:

до

4tR.png

 

и после

4tS.png

 

Вместо >600 объектов коллизии <60 (неслабая часть которых на “тетрисе”). Попутный бонус – нет спотыканий и застряваний в больших блоках.

 

 

 

Спасиб за код, постораюсь его имплементировать как можно раньше

 

 

А вот тут беда:

if (distance( item.x, item.y, p.x, p.y - 32 ) < 100) {a = b;}
function distance(x1,y1,x2,y2) { return Math.sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ) };
Math.sqrt – довольно дорогая в вычислительном плане операция по сравнению с умножением, если переписать приблизительно так:

if (distanceSquare( item.x, item.y, p.x, p.y - 32 ) < 100 * 100) {a = b;}
function distanceSquare(x1,y1,x2,y2) { return (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) };
Результат тот-же, а квадратного корня нет. Учитывая, что в у вас оно используется в реалтаймовых цыклах постоянно и повсюду, то это может изрядно помочь в оптимизации.

 

 

Про нагрузку на проц при отрисовке канваса на клиенте вообще бяда. Может хоть на какой-то яваскрипт графический движок перейдете?

 

Побольше бы таких нюансов типа Math.sqrt - в таких вещах мне действительно потребовалась бы помощь.

 

На счет граф движка - какой например?

 

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

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


Ссылка на сообщение

На счет граф движка - какой например?

 

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

Любой понравившийся: https://html5gameengine.com/

Для 3D three.js очень неплох. Пример - http://threejs.org/examples/#webgl_loader_md2_control

В 2D их развелось вообще, ну например pixi.js (http://www.goodboydigital.com/pixijs/bunnymark/ при 20тыс кроликах у меня около 50fps)

 

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

Изменено пользователем chip

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


Ссылка на сообщение

Любой понравившийся: https://html5gameengine.com/

Для 3D three.js очень неплох. Пример - http://threejs.org/examples/#webgl_loader_md2_control

В 2D их развелось вообще, ну например pixi.js (http://www.goodboydigital.com/pixijs/bunnymark/ при 20тыс кроликах у меня около 50fps)

 

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

 

Спс за список.

 

three.js изначально и планировался при движении от 2д к 3д

 

На счет 2д я думал о cocos2d, но теперь меня больше pixi интересует, ибо о нем я слышал еще когда на MonkeyX кодил

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


Ссылка на сообщение

Наглядный quick update:

- ЧАСТИЧНО прекращена разработка симулятора Шедонаклза. Теперь залезть под землю или провалиться сквозь нее не получится.

- Кольца и очки вайпнуты... всё моё честно заработанное добро... т.т

- Месть колец1!!11! Кольца возвращены обратно и расставлены на места. Их смысл на данный момент- пополнять шкалу хаоса которую все так любят тратить. Не тратят разве что только рандомные нубы которым было влом всю тему читать...

- Бадники аккуратно расставлены на зло всяким афкшащим фармилам.

Изменено пользователем Klic The Echidna

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


Ссылка на сообщение

Че-т давно не писал ничего нового... а может потому-что ничего нового и нет?)

 

Хотя стоп- есть!

 

- BEHOLD! Hydrocity Zone) Игровая площадка расширена на дохреналион пикселей- мне лень считать насколько именно, но я думаю вам стоит побродить, накопив шкалу хаоса на телепорты из мест, откуда не выбраться на данный момент)

- Левитация на кнопку "R", потребляет ESP шкалу\ту голубую полосочку. При использовании удерживает вас на уровне, не давая вам возможности упасть и бегать левитировать над пропастями и водой.

- Новая система коллизий, теперь провалиться сквозь пол не получится... вроде. :D

- Музончик, фирменный! Однако играет один раз, не лупается D:

 

- Время подгрузки увеличилось.

- Больше нельзя делать медленную ходьбу и ходить стоя, зажимая обе кнопки бега.

 

БАГИ:

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

- При приземлении, не нажимая кнопки бега (без движения влево-вправо), продолжает проигрываться анимация падения.

- Прыжки (нажатия на "пробел") сдвигают игровое окно вверх, даже если пострелять внутри него чтобы зафиксировать все на нем.

- При заходе в игру, количество накопленного опыта отображается 0, пока не убьешь бадника.

Изменено пользователем Klic The Echidna

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


Ссылка на сообщение

Как-то кривовато, и изрядно притормаживает. Но идея сама по себе отличная, да.

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


Ссылка на сообщение

Пацандрэ. Вайп случился, а для игроков никаких улучшений не произошло. Вот такой я крутой прогер)

 

Кое что изменилось таки, в двух словах: realmz теперь с php работать умеет и весь контент апачем держится.

Раньше все файлы выдавались Нодовским веб-сервером, теперь вместо него Apache. Сетевой движок все еще на socket.io с экспрессом.


Вот кстати давно хотел сделать страницу со списком зарегистрированных игроков:

http://vm14965.hv8.ru/database.php

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


Ссылка на сообщение

Мои кровные лвлы и кольца, унююююю~ D:

А Чиповская Эмка 40-го уровня вообще была как локальный мем и рейд-босс которым пугали новеньких.

 

Однако- теперь не вылетаю при подходе к гидросити. Но все-таки спрайт мини-босса подгружается с ощутимой задержкой.

Возможно скоро запилю правую часть и чуточку сверху...

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


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×