Четверг, 21 Ноября 2024, 19:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Результаты поиска
teramiДата: Четверг, 24 Августа 2017, 12:17 | Сообщение # 1 | Тема: режимы игры, рпг фентези
был не раз
Сейчас нет на сайте
есть небольшая казуальная рпг-шка от первого лица, в ней два режима, что-то роде приключения,(кампания, история и т.д.), режим волн(выживание, когда противники так и прут на тебя), ещё только сейчас пришла мысль - арена,(битва один на один с боссами) а какие ещё игровые режимы можно добавить?




Всё мрак, спасенья нет
teramiДата: Четверг, 24 Августа 2017, 09:10 | Сообщение # 2 | Тема: Бафы и как их реализовать
был не раз
Сейчас нет на сайте
ArtemS, таймер и условие оключения бафа, таймер могу скинуть, а вот отключение бафа маловато данных

Всё мрак, спасенья нет
teramiДата: Вторник, 08 Августа 2017, 17:20 | Сообщение # 3 | Тема: Руки в шутере не работают
был не раз
Сейчас нет на сайте
igra, что значит не работают?

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


Всё мрак, спасенья нет

Сообщение отредактировал terami - Вторник, 08 Августа 2017, 17:23
teramiДата: Пятница, 16 Июня 2017, 22:06 | Сообщение # 4 | Тема: Услуги студии по созданию компьютерной графики
был не раз
Сейчас нет на сайте
у mightyCrew, удачи

Всё мрак, спасенья нет
teramiДата: Пятница, 16 Июня 2017, 22:05 | Сообщение # 5 | Тема: Ищу любителей/энтузиастов для разработки в свое удовольствие
был не раз
Сейчас нет на сайте
EvgeniySNik, это в скетч апе сделано? прост знакомое построение моделей)

Всё мрак, спасенья нет
teramiДата: Воскресенье, 28 Мая 2017, 17:31 | Сообщение # 6 | Тема: 3D Rad. Несколько вопросов!
был не раз
Сейчас нет на сайте
3д рад хороший движ и он умер, что ж ничто не вечно в этом мире, а так это можно сделать на юньке, но без знаний языка программирования никуда, абсолютно, то есть можно сделать самое простое, террейн, перса от первого лица если смотреть брать из стандартных ассетов...

Всё мрак, спасенья нет
teramiДата: Воскресенье, 28 Мая 2017, 15:24 | Сообщение # 7 | Тема: Активация скрипта кнопкой
был не раз
Сейчас нет на сайте
malis1, вызывай компонет и выключай его

Добавлено (28 мая 2017, 15:24)
---------------------------------------------

Код
public GameObject teraf;

if(Input.GetKeyDown(KeyCode.Y)){
   
   teraf.GetComponent<Bombardment>().enabled = false;

Bombardment скрипт
teraf ну тут понятно всё надеюсь


Всё мрак, спасенья нет
teramiДата: Воскресенье, 28 Мая 2017, 11:11 | Сообщение # 8 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, а вот какие данные?
Код
public float[,] SavedTerrainState { get; set; }
не это

Код
nums[0] =   SavedTerrainState [targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight)];


или
Код
nums[0] =  SavedTerrainState [targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight];// не может конвертировать из float в float[]  

Добавлено (28 мая 2017, 09:48)
---------------------------------------------
и тут я как заорал

Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml.Serialization;
using System.IO;
[System.Serializable]
public class Test {
    public float[,] Sav_mass ;
    public float[][] arr;
public float[,] SavedTerrainState { get; set; }
public float[][,] nums;

}
public class TerraiDeformer : MonoBehaviour
{
    

    
    
    
    
    public float[][] arr;
  public float[,] SavedTerrainState { get; set; }
public float[,] Sav_mass ;


#region Public members
//This class member is used for Crater texture shape, you have to make sure that the access of the texture is Read/Write. You can find it in the advanced section of the import option when you select the texture.
public Texture2D CraterTexture;
// This class member modifies the intensity of the brush, if you don't introduce this factor, you will get harsh results, or you will not have a control over how hard your terrain is gonna be deformed
public float AlphaIntensity;
//Here you pass the terrain which you want to deform.
public Terrain targetTerrain;
#endregion
public float[][,] nums;


// This class member is used to hold the original data of the terrain
private float[,] craterShape { get; set; } //Since the height map of the terrain is 2D array, and since we are modifying square area of the terrain, we are extracting the gray-scale information from our crater texture, and keeping it to modify the terrain.
// Texture info is a class I made in order to easily cache and manage the crater texture (brushes).


void Start () {
// Remember, we are addressing a square map here, so you can imagine that 0,0 is the top left corner of the height map, and the terrain height map width and height are the maximum end points of the square
//   arr = SavedTerrainState;
// Look at the constructor of the TextureInfo
//  arr[i][j] = Sav_mass[i,j]

float[][,] nums = new float[3][,]
{
    new float[,] { {0, 0}, {targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight} },
    new float[,] { {1,2}, {3,6} },
    new float[,] { {1,2}, {3,5}, {8, 13} }
};

//  float [][] nums = new float[1][];
// nums[0] =   SavedTerrainState [ targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight];

}



void OnCollisionEnter(Collision _colObject)
{
// Here I'm deforming the terrain based on the position of the contact point. It could be a good idea to put a condition to make a certain object with a certain tag can modify the terrain, otherwise, anything which is colliding with the terrain will deform it.

}
void Update () {
  if(Input.GetKeyDown(KeyCode.R))
   
                         SaveParams();
      
      if(Input.GetKeyDown(KeyCode.E))
                         LoadParams();
                            
}

public void SaveParams(){
  SavedTerrainState = targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight);
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();

               
                test.nums = nums;

                using (var stream = new FileStream ("Test.xml", FileMode.Create, FileAccess.Write)) {
                        xml.Serialize (stream, test);
                }

                Debug.Log ("Объект сохранился");

        }
        public void LoadParams(){
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();
                using (var stream = new FileStream ("Test.xml", FileMode.Open, FileAccess.Read)) {
                        test = xml.Deserialize (stream) as Test;
                }

                

targetTerrain.terrainData.SetHeights(0, 0, SavedTerrainState);
nums = test.nums;
                Debug.Log ("Объект загружен");
        }

  
}
оно работает и сохраняется в не файл, и не загружается с такой ошибкой: A null value was found where an object instance was required ребят пожалуйста помогите мене, я больше не знаю что надо сделать чтобы всё работало

Добавлено (28 мая 2017, 11:11)
---------------------------------------------
вот тут ещё и оно не работает

Код
void Start () {

Sav_massWidth =    targetTerrain.terrainData.heightmapWidth;
Sav_massHeght = targetTerrain.terrainData.heightmapHeight;

}



void OnCollisionEnter(Collision _colObject)
{
// Here I'm deforming the terrain based on the position of the contact point. It could be a good idea to put a condition to make a certain object with a certain tag can modify the terrain, otherwise, anything which is colliding with the terrain will deform it.

}
void Update () {
  if(Input.GetKeyDown(KeyCode.R))
    
                        
       
       
       
       
       
       
       SaveParams();
      
      if(Input.GetKeyDown(KeyCode.E))
                         LoadParams();
                           
}

public void SaveParams(){
SavedTerrainState = targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight);
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();

    
    
    
             
     
     
                using (var stream = new FileStream ("Test.xml", FileMode.Create, FileAccess.Write)) {
                        xml.Serialize (stream, test);
                }

                Debug.Log ("Объект сохранился");

        }
        public void LoadParams(){
    targetTerrain.terrainData.SetHeights(0, 0, SavedTerrainState);
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();
                using (var stream = new FileStream ("Test.xml", FileMode.Open, FileAccess.Read)) {
                        test = xml.Deserialize (stream) as Test;
                }

                

SavedTerrainState =  test.SavedTerrainState;
Sav_massWidth = test.Sav_massWidth;
Sav_massHeght = test.Sav_massHeght;

                Debug.Log ("Объект загружен");
        }

  
}


Всё мрак, спасенья нет
teramiДата: Воскресенье, 28 Мая 2017, 10:03 | Сообщение # 9 | Тема: Хочу сделать игру типа гта!
был не раз
Сейчас нет на сайте
может можно на подобии postala но всё равно сложно, дома в скетче сделать, механику ИИ я думаю сложновато будет...

Добавлено (28 мая 2017, 10:03)
---------------------------------------------
а так юнька там больше кнопок, больше настроек, конечно каждому свое


Всё мрак, спасенья нет
teramiДата: Суббота, 27 Мая 2017, 15:00 | Сообщение # 10 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT,
Код

float [][] nums = new float[3][]; // массив массивов где [3] количество под массивов
nums[0] = new float SavedTerrainState [,]; // массив в котором содержится массив высот? так тут что-то не правильно, по идее тут должны быть данные высот не записанных в массив

float [][] nums = new float[3][]; // массив массивов где [3] количество под массивов
SavedTerrainState [0] =  данные ?


ох ох, что-то мне поплохело


Всё мрак, спасенья нет
teramiДата: Суббота, 27 Мая 2017, 14:14 | Сообщение # 11 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
seaman, EchoIT,

массив [,] 123
345
массив [][] имеет внутри другие массивы, которые содержат данные


или всё ещё хуже?


Всё мрак, спасенья нет
teramiДата: Суббота, 27 Мая 2017, 13:36 | Сообщение # 12 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, ? так ?
Код
    int[,] array = { { 0, 1, 2 }, { 3, 4, 5 } };


Всё мрак, спасенья нет
teramiДата: Суббота, 27 Мая 2017, 12:39 | Сообщение # 13 | Тема: работа с массивами
был не раз
Сейчас нет на сайте
проблема в том чтобы добавить массив в массив
Код
как конвертировать массив в массив?

public float[][] arr;
public float[,] SavedTerrainState { get; set; }

SavedTerrainState = arr;

вот это не работает(

и это

то есть этот массив public float[,] SavedTerrainState { get; set; } нужно разделить на два:

float[][] nums = new float[2][];
nums[0] = SavedTerrainState [get];
nums[1] = SavedTerrainState [set];
вот это не работает, нужно что-то подобное? или я совсем не там?

тут уже совсем дикость:

public static void main(float[] args) {
    float[,] SavedTerrainState = { get, set, };

что же мне делать



вот тут пример с другого сайта
Код

int[][] nums = new int[3][];
nums[0] = new int[2];
nums[1] = new int[3];
nums[2] = new int[5];

вроде всё понятно, но всё равно что-то не догоняю


Всё мрак, спасенья нет
teramiДата: Суббота, 27 Мая 2017, 11:47 | Сообщение # 14 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, ну конечно же с этим возникнут проблемы, если изменить только сам массив то он конвертировать не сможет Cannot implicitly convert type `float[,]' to `float[][]' , я искал, пытался найти хоть что-то об этом
вот такой поисковый запрос я забил в гугл
Код

unity  `float[][]'

но ничего, мне суют вот это Unity - Scripting API: Mathf.Lerp и Unity3D.ru • из Float в int | Форум
что хоть это такое?, я угадываю в нем очертания массива
Код

public float[][] arr;


а еще я искал как добавить массив в массив, но ничего такого не нашел

Добавлено (27 мая 2017, 11:47)
---------------------------------------------
EchoIT, я что то нашел, но все не то

Код

как конвертировать массив в массив?

public float[][] arr;
public float[,] SavedTerrainState { get; set; }

SavedTerrainState = arr;
вот это не работает(

и это

то есть этот массив public float[,] SavedTerrainState { get; set; } нужно разделить на два:

float[][] nums = new float[2][];
nums[0] = SavedTerrainState [get];
nums[1] = SavedTerrainState [set];
вот это не работает, нужно что-то подобное? или я совсем не там?


Всё мрак, спасенья нет

Сообщение отредактировал terami - Четверг, 25 Мая 2017, 18:17
teramiДата: Среда, 24 Мая 2017, 20:36 | Сообщение # 15 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, што это такое?, то есть загнать этот массив в другой массив?
Код
public float[,] SavedTerrainState { get; set; }

но как?
Код

public float[,][,] SavedTerrainState { get; set; }   ?
public float[[,]] SavedTerrainState { get; set; }    ?


вот ещё кое что, но оно не работает
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml.Serialization;
using System.IO;
[System.Serializable]
public class Test {
    public float[,] Sav_mass ;
public float[,] SavedTerrainState { get; set; }
}
public class TerraiDeformer : MonoBehaviour
{

#region Public members
//This class member is used for Crater texture shape, you have to make sure that the access of the texture is Read/Write. You can find it in the advanced section of the import option when you select the texture.
public Texture2D CraterTexture;
// This class member modifies the intensity of the brush, if you don't introduce this factor, you will get harsh results, or you will not have a control over how hard your terrain is gonna be deformed
public float AlphaIntensity;
//Here you pass the terrain which you want to deform.
public Terrain targetTerrain;
#endregion



public float[,] SavedTerrainState { get; set; } // This class member is used to hold the original data of the terrain
private float[,] craterShape { get; set; } //Since the height map of the terrain is 2D array, and since we are modifying square area of the terrain, we are extracting the gray-scale information from our crater texture, and keeping it to modify the terrain.
// Texture info is a class I made in order to easily cache and manage the crater texture (brushes).


void Start () {
// Remember, we are addressing a square map here, so you can imagine that 0,0 is the top left corner of the height map, and the terrain height map width and height are the maximum end points of the square
Sav_mass = SavedTerrainState;
// Look at the constructor of the TextureInfo

}



void OnCollisionEnter(Collision _colObject)
{
// Here I'm deforming the terrain based on the position of the contact point. It could be a good idea to put a condition to make a certain object with a certain tag can modify the terrain, otherwise, anything which is colliding with the terrain will deform it.

}
void Update () {
  if(Input.GetKeyDown(KeyCode.R))
   
                         SaveParams();
      
      if(Input.GetKeyDown(KeyCode.E))
                         LoadParams();

}

public void SaveParams(){
  SavedTerrainState = targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight);
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();

               
                test.Sav_mass = Sav_mass;

                using (var stream = new FileStream ("Test.xml", FileMode.Create, FileAccess.Write)) {
                        xml.Serialize (stream, test);
                }

                Debug.Log ("Объект сохранился");

        }
        public void LoadParams(){
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();
                using (var stream = new FileStream ("Test.xml", FileMode.Open, FileAccess.Read)) {
                        test = xml.Deserialize (stream) as Test;
                }

                
Sav_mass = test.Sav_mass;
targetTerrain.terrainData.SetHeights(0, 0, SavedTerrainState);
                Debug.Log ("Объект загружен");
        }

  
}


Всё мрак, спасенья нет

Сообщение отредактировал terami - Среда, 24 Мая 2017, 20:42
teramiДата: Среда, 24 Мая 2017, 17:00 | Сообщение # 16 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, и вот тут начинаются страшные вещи

Код
public void SaveParams(){
  SavedTerrainState = targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight);
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();

               
              test.SavedTerrainState = SavedTerrainState;
                using (var stream = new FileStream ("Test.xml", FileMode.Create, FileAccess.Write)) {
                        xml.Serialize (stream, test);
                }

                Debug.Log ("Объект сохранился");

        }

то игра вылетает с такой ошибкой: ArgumentException: Array was not a one-dimensional array. , да та же самая что и при повторном сохранении, но вот сама строчка больше нигде не повторяется, если перенести выше этой строки то она вылетает, если ниже то все нормально
Код
test.SavedTerrainState = SavedTerrainState;


и я что-то не догоняю теперь что мне делать?


Всё мрак, спасенья нет
teramiДата: Среда, 24 Мая 2017, 15:45 | Сообщение # 17 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, так то это работает но
если только не выходить из игры, вот так: выкопал одну яму, сохранился, выкопал вторую яму, загрузил игру вторая яма исчезла
но если вышел из игры, и снова зашел, нажал загрузить игру, то игра крашиться

так-с, так-с, а потом нужно будет сохранить сам массив с сданными высот через сереализацию? но как это сделать? вот тут мне кажется массив не сохраняеться, или по крайней мере не может считать высоты в массиве(
или я как-то не так сохраняю:

Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml.Serialization;
using System.IO;
[System.Serializable]
public class Test {
       public float[,] SavedTerrainState { get; set; }
}
public class TerraiDeformer : MonoBehaviour
{

#region Public members
//This class member is used for Crater texture shape, you have to make sure that the access of the texture is Read/Write. You can find it in the advanced section of the import option when you select the texture.
public Texture2D CraterTexture;
// This class member modifies the intensity of the brush, if you don't introduce this factor, you will get harsh results, or you will not have a control over how hard your terrain is gonna be deformed
public float AlphaIntensity;
//Here you pass the terrain which you want to deform.
public Terrain targetTerrain;
#endregion

public float[,] SavedTerrainState { get; set; } // This class member is used to hold the original data of the terrain
private float[,] craterShape { get; set; } //Since the height map of the terrain is 2D array, and since we are modifying square area of the terrain, we are extracting the gray-scale information from our crater texture, and keeping it to modify the terrain.
// Texture info is a class I made in order to easily cache and manage the crater texture (brushes).

void Start () {
// Remember, we are addressing a square map here, so you can imagine that 0,0 is the top left corner of the height map, and the terrain height map width and height are the maximum end points of the square

// Look at the constructor of the TextureInfo

}

void OnCollisionEnter(Collision _colObject)
{
// Here I'm deforming the terrain based on the position of the contact point. It could be a good idea to put a condition to make a certain object with a certain tag can modify the terrain, otherwise, anything which is colliding with the terrain will deform it.

}
void Update () {
  if(Input.GetKeyDown(KeyCode.R))
  
                         SaveParams();
      
      if(Input.GetKeyDown(KeyCode.E))
                         LoadParams();

}

public void SaveParams(){
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();

               
                test.SavedTerrainState = SavedTerrainState;

                using (var stream = new FileStream ("Test.xml", FileMode.Create, FileAccess.Write)) {
                        xml.Serialize (stream, test);
                }
  SavedTerrainState = targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight);
                Debug.Log ("Объект сохранился");

        }
        public void LoadParams(){
                var xml = new XmlSerializer (typeof(Test));
                var test = new Test ();
                using (var stream = new FileStream ("Test.xml", FileMode.Open, FileAccess.Read)) {
                        test = xml.Deserialize (stream) as Test;
                }

                SavedTerrainState = test.SavedTerrainState;

targetTerrain.terrainData.SetHeights(0, 0, SavedTerrainState);
                Debug.Log ("Объект загружен");
        }

  
}


+ еще одно не понятное как очистить или перезаписать массив?, когда я сохраняю игру второй раз она вылетает с ошибкой: ArgumentException: Array was not a one-dimensional array.


Всё мрак, спасенья нет

Сообщение отредактировал terami - Среда, 24 Мая 2017, 15:57
teramiДата: Вторник, 23 Мая 2017, 22:01 | Сообщение # 18 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT

Код
using UnityEngine;
using System.Collections;

public class TerraiDeformer : MonoBehaviour
{

#region Public members
//This class member is used for Crater texture shape, you have to make sure that the access of the texture is Read/Write. You can find it in the advanced section of the import option when you select the texture.
public Texture2D CraterTexture;
// This class member modifies the intensity of the brush, if you don't introduce this factor, you will get harsh results, or you will not have a control over how hard your terrain is gonna be deformed
public float AlphaIntensity;
//Here you pass the terrain which you want to deform.
public Terrain targetTerrain;
#endregion

#region Private members
private float[,] SavedTerrainState { get; set; } // This class member is used to hold the original data of the terrain
private float[,] craterShape { get; set; } //Since the height map of the terrain is 2D array, and since we are modifying square area of the terrain, we are extracting the gray-scale information from our crater texture, and keeping it to modify the terrain.
// Texture info is a class I made in order to easily cache and manage the crater texture (brushes).
#endregion

void Start () {
// Remember, we are addressing a square map here, so you can imagine that 0,0 is the top left corner of the height map, and the terrain height map width and height are the maximum end points of the square

// Look at the constructor of the TextureInfo

}

void OnCollisionEnter(Collision _colObject)
{
// Here I'm deforming the terrain based on the position of the contact point. It could be a good idea to put a condition to make a certain object with a certain tag can modify the terrain, otherwise, anything which is colliding with the terrain will deform it.

}
void Update () {
if(Input.GetKeyDown(KeyCode.R))

SavedTerrainState = targetTerrain.terrainData.GetHeights(0, 0, targetTerrain.terrainData.heightmapWidth, targetTerrain.terrainData.heightmapHeight);

if(Input.GetKeyDown(KeyCode.E))
targetTerrain.terrainData.SetHeights(0, 0, SavedTerrainState);

}
}


вот тут нашел один пример, но что-то не понятное(


Всё мрак, спасенья нет

Сообщение отредактировал terami - Вторник, 23 Мая 2017, 22:02
teramiДата: Вторник, 23 Мая 2017, 17:29 | Сообщение # 19 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
EchoIT, тут не совсем понятно как использовать Get.heigts, как считать данные высот карты, нужно ли создавать массив?

Всё мрак, спасенья нет

Сообщение отредактировал terami - Вторник, 23 Мая 2017, 18:18
teramiДата: Понедельник, 22 Мая 2017, 19:40 | Сообщение # 20 | Тема: unity как сохранить тереин
был не раз
Сейчас нет на сайте
seaman, я рукожоп и единственное что нашел так вот это:
get.heigts
TerrainData.GetHeights
Other Versions
public float[,] GetHeights(int xBase, int yBase, int width, int height);
Parameters

xBase First x index of heightmap samples to retrieve.
yBase First y index of heightmap samples to retrieve.
width Number of samples to retrieve along the heightmap's x axis.
height Number of samples to retrieve along the heightmap's y axis.
Description

Get an array of heightmap samples.

Returns a two dimensional array of heightmap samples. The samples are represented as float values ranging from 0 to 1. The array has the dimensions [height,width] and is indexed as [y,x].


Всё мрак, спасенья нет
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг