Quantcast

Jump to content

» «
Photo

Removing Buildings by Script

36 replies to this topic
stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#1

Posted 16 April 2014 - 09:44 AM

Hey guys,

 

I was wondering if it was possible to hide and disable the collission of buildings is something like this possible ?


pedro2555
  • pedro2555

    Open Sourcer

  • Members
  • Joined: 02 Sep 2012
  • Portugal

#2

Posted 16 April 2014 - 11:29 AM

Of buildings I doubt, but you can disable the collisions of other entities. 


LordOfTheBongs
  • LordOfTheBongs

    Deceased

  • Members
  • Joined: 21 Sep 2013
  • None

#3

Posted 16 April 2014 - 03:26 PM

if u were to remove the building it would just be a big hole u could fall into, there isnt any ground under the buildings


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#4

Posted 16 April 2014 - 05:40 PM Edited by stef538, 16 April 2014 - 05:40 PM.

I know, i just want to know if it's possible :), i know it's possible in III/VC/SA


LordOfTheBongs
  • LordOfTheBongs

    Deceased

  • Members
  • Joined: 21 Sep 2013
  • None

#5

Posted 16 April 2014 - 05:56 PM

I know, i just want to know if it's possible :), i know it's possible in III/VC/SA

if u have ever installed a map mod before then u would notice there is some file in the common/data folder (i think or it might be somewhere else) that has a list of map objects to load, maybe editing this files would prevent certain buildings from loading... u can do it via script if u can find where these get loaded and maybe edit the values in memory or detour the function that loads them maybe. Via script is not a beginner task.


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#6

Posted 16 April 2014 - 06:07 PM

Hmmm


Hitoyoshi
  • Hitoyoshi

    Player Hater

  • Members
  • Joined: 06 May 2013

#7

Posted 18 April 2014 - 06:43 PM

i have tried but i dont know how the remove the collisions


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#8

Posted 19 April 2014 - 08:31 AM

so you know how to remove the buildings but not the collision ?


NTAuthority
  • NTAuthority

    hell, no, tunnel, no

  • Feroci
  • Joined: 09 Sep 2008
  • European-Union
  • Most Knowledgeable [Technology] 2013
    Best Map 2013 "ViceCityStories PC Edition"
    Contribution Award [Modding]

#9

Posted 19 April 2014 - 03:25 PM

so you know how to remove the buildings but not the collision ?

the same way you just remove buildings, as collision is separate from the building objects


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#10

Posted 19 April 2014 - 06:49 PM Edited by stef538, 19 April 2014 - 06:49 PM.

yeah but how to remove the building, scriptwise i mean :p


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#11

Posted 09 June 2014 - 04:36 PM

found a native like this : IS_MODEL_IN_CDIMAGE so Going to try it again!


InfamousSabre
  • InfamousSabre

    Harpocrates

  • Members
  • Joined: 03 Jan 2013

#12

Posted 10 June 2014 - 04:14 AM

Have you tried this native function?

SWAP_NEAREST_BUILDING_MODEL(float x, float y, float z, float radius, uint modelfrom, uint modelto);

Note that I have not tried this at all. Just saw the native and it looks useful if you can figure out the int (uint) to use for the models.
  • stef538 likes this

stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#13

Posted 10 June 2014 - 07:46 AM Edited by stef538, 10 June 2014 - 08:44 AM.

Only need to fix the collision, and how to get it back ? because REQUEST_MODEL doesn't exactly work..


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#14

Posted 10 June 2014 - 12:01 PM

ok so i got the model to be visible again, but still no luck with the collision.


NTAuthority
  • NTAuthority

    hell, no, tunnel, no

  • Feroci
  • Joined: 09 Sep 2008
  • European-Union
  • Most Knowledgeable [Technology] 2013
    Best Map 2013 "ViceCityStories PC Edition"
    Contribution Award [Modding]

#15

Posted 10 June 2014 - 12:12 PM

collisions for buildings are fixed in place as static bounds, nothing to do about that


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#16

Posted 10 June 2014 - 12:23 PM

Damn.. :(


hardsty1e
  • hardsty1e

    RIP Yeardley Diamond

  • Members
  • Joined: 02 May 2009
  • Philippines

#17

Posted 10 June 2014 - 01:30 PM Edited by hardsty1e, 10 June 2014 - 01:34 PM.

maybe edit memory address while in-game? this open source by thaCURSEDpie might help you.

 

StructEdit mod by thaCURSEDpie
A mod for GTA:IV which allows the in-game editing of specified memory values, such as the parameters listed in heandling.dat, weaponinfo.xml

http://gtaforums.com...niv-structedit/

 

https://github.com/t...Dpie/StructEdit


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#18

Posted 11 June 2014 - 02:54 PM

didn't really work, but can't we convert model to object ?


LordOfTheBongs
  • LordOfTheBongs

    Deceased

  • Members
  • Joined: 21 Sep 2013
  • None

#19

Posted 11 June 2014 - 04:03 PM Edited by LordOfTheBongs, 11 June 2014 - 04:13 PM.

 

Have you tried this native function?

SWAP_NEAREST_BUILDING_MODEL(float x, float y, float z, float radius, uint modelfrom, uint modelto);

Note that I have not tried this at all. Just saw the native and it looks useful if you can figure out the int (uint) to use for the models.

 

 

try this to test...

 

Vector3 p = Game.LocalPlayer.Character.Position;
uint maxValueToCheck = 1000;//use whatever u like
float radius = 10f;//go near some building
 
for (uint x = 0; x <= maxValueToCheck; x++)
{
    bool exit = false;

    for (uint y = 0; y <= maxValueToCheck; y++)
    {
        if (Game.isKeyPressed(Keys.End))
        {
            Game.DisplayText("Exiting Building Swap Test...");
            exit = true;
            break;
        }
 
        Game.DisplayText("Calling SWAP_NEAREST_BUILDING_MODEL Native With Params:\nPosition: " + p.ToString() + "\nRadius: " + radius.ToString() + "\nModel From: " + x.ToString() + "\nModel To: " + y.ToString() + "\n\nPress Enter To Test!!");
 
        while (!Game.isKeyPressed(Keys.Enter)) Wait(0);

        GTA.Native.Function.Call("SWAP_NEAREST_BUILDING_MODEL", p.X, p.Y, p.Z, radius, x, y);
 
        Game.DisplayText("Did anything happen?? Press Enter To Continue!!");

        while (!Game.isKeyPressed(Keys.Enter)) Wait(0);
    }
    if (exit) break;
}

 

didn't really work, but can't we convert model to object ?

Model is a property of GTA objects (peds, vehicles, objects) so no... u can spawn an object with a specific model ;)


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#20

Posted 11 June 2014 - 04:40 PM Edited by stef538, 11 June 2014 - 04:40 PM.

Nope nothing happends... 

 

 

 

Model is a property of GTA objects (peds, vehicles, objects) so no... u can spawn an object with a specific model ;)

 

But you can't do that with a building.. right ? Or am I completely wrong here ?


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#21

Posted 11 June 2014 - 04:46 PM Edited by stef538, 11 June 2014 - 04:47 PM.

Well, I found this : 

#include <natives.h>
#include <common.h>
#include <strings.h>
#include <types.h>
#include <consts.h>
void PrintMenu(char *string)
{
PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 2500, 1);
}
Object mapObject;
SpawnobjectwithWandH(int mObject, float x, float y, float z, float h, float qx, float qy, float qz, float qw, bool freeze)
{
if (IS_MODEL_IN_CDIMAGE(mObject))
{
REQUEST_MODEL(mObject);
while (!HAS_MODEL_LOADED(mObject)) WAIT(0);
CREATE_OBJECT(mObject, x, y, z, &mapObject, true);
SET_OBJECT_HEADING(mapObject, h);
SET_OBJECT_QUATERNION(mapObject, qx, qy, qz, qw);
SET_OBJECT_PROOFS(mapObject, true, true, true, true, true);
SET_OBJECT_VISIBLE(mapObject, true);
FREEZE_OBJECT_POSITION(mapObject, freeze);
MARK_MODEL_AS_NO_LONGER_NEEDED(mObject);
}
else
{
PrintMenu("Error, Model Does Not Exist In .img");
}
}
void spawnmap(void)
{
SpawnobjectwithWandH(0xBDB1B3E5, -827.942, 1709.24, -2.46431, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -826.783, 1705.2, -2.46178, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -825.679, 1701.36, -2.65925, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -816.59, 1705.22, -2.65672, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -816.855, 1708.68, -3.2542, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -818.314, 1711.59, -3.25167, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -816.243, 1702.2, -2.44913, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0xBDB1B3E5, -815.358, 1697.67, -2.4466, 196.026, 0, 0, 0.990236, -0.139398, true);
SpawnobjectwithWandH(0x3CEF0069, -804.224, 1713.74, -19.3254, 299.612, 0, 0, -0.502926, 0.864329, true);
SpawnobjectwithWandH(0x3CEF0069, -801.275, 1708.63, -19.7234, 296.973, 0, 0, -0.522703, 0.852515, true);
SpawnobjectwithWandH(0x3CEF0069, -800.766, 1703.48, -18.9214, 289.293, 0, 0, -0.57862, 0.815597, true);
SpawnobjectwithWandH(0x3CEF0069, -747.914, 1737.73, -19.0394, 299.394, -0.020386, -0.0390128, -0.504166, 0.862484, true);
SpawnobjectwithWandH(0x3CEF0069, -761.133, 1753.61, -18.1178, 328.333, 0.0208511, 0.0506641, -0.272106, 0.960706, true);
SpawnobjectwithWandH(0x3CEF0069, -769.658, 1731.98, -19.7154, 309.692, 0, 0, -0.425052, 0.905169, true);
SpawnobjectwithWandH(0x3CEF0069, -784.438, 1720.05, -19.3134, 308.252, 0, 0, -0.436393, 0.899756, true);
SpawnobjectwithWandH(0x3CEF0069, -782.843, 1713.75, -18.8488, 307.378, -0.00642379, -0.0365416, -0.443275, 0.895618, true);
SpawnobjectwithWandH(0x3CEF0069, -787.555, 1724.48, -19.0272, 307.454, 0.0296862, 0.0460472, -0.44168, 0.895498, true);
SpawnobjectwithWandH(0x3CEF0069, -772.99, 1737.5, -18.6194, 315.614, 0.0263349, 0.0480426, -0.376849, 0.924653, true);
SpawnobjectwithWandH(0x3CEF0069, -766.101, 1726.68, -18.8424, 307.073, -0.0177277, -0.0402904, -0.445276, 0.894311, true);
SpawnobjectwithWandH(0xBDB1B3E5, -751.915, 1740.69, -2.34794, 31.2687, 0, 0, 0.269497, 0.963001, true);
SpawnobjectwithWandH(0xBDB1B3E5, -755.947, 1742.53, -2.34541, 39.2687, 0, 0, 0.336016, 0.941856, true);
SpawnobjectwithWandH(0xBDB1B3E5, -758.45, 1745.91, -2.34288, 39.2687, 0, 0, 0.336016, 0.941856, true);
SpawnobjectwithWandH(0xBDB1B3E5, -755.195, 1754.29, -2.14035, 51, 0, 0, 0.430511, 0.902585, true);
SpawnobjectwithWandH(0xBDB1B3E5, -752.167, 1751.09, -2.73782, 57, 0, 0, 0.477159, 0.878817, true);
SpawnobjectwithWandH(0xBDB1B3E5, -748.773, 1749.52, -2.73529, 34, 0, 0, 0.292372, 0.956305, true);
SpawnobjectwithWandH(0xBDB1B3E5, -745.443, 1746.44, -2.73276, 46, 0, 0, 0.390731, 0.920505, true);
SpawnobjectwithWandH(0x3CEF0069, -734.837, 1754.56, -18.8722, 340.507, -0.0206315, -0.12011, -0.16803, 0.97822, true);
SpawnobjectwithWandH(0x3CEF0069, -732.603, 1772.16, -18.9644, 5.5067, 0.00585418, -0.121729, 0.0476785, 0.9914, true);
SpawnobjectwithWandH(0x3CEF0069, -739.481, 1791.53, -18.8109, 32.5067, 0.0341094, -0.116999, 0.277799, 0.952877, true);
SpawnobjectwithWandH(0x3CEF0069, -756.503, 1804.91, -18.5176, 68.5067, 0.0685946, -0.100732, 0.558658, 0.820396, true);
SpawnobjectwithWandH(0x3CEF0069, -780.416, 1808.4, -18.6607, 93.5068, 0.088771, -0.0834976, 0.722982, 0.680033, true);
SpawnobjectwithWandH(0x3CEF0069, -783.604, 1793.65, -18.6951, 257.507, 0.0950396, 0.0762865, 0.774035, -0.621303, true);
SpawnobjectwithWandH(0x3CEF0069, -753.951, 1770.73, -18.4506, 172.507, 0.00870789, -0.000570235, 0.997825, 0.0653424, true);
SpawnobjectwithWandH(0x3CEF0069, -763.354, 1786.11, -18.5778, 243.507, 0.00742037, 0.00459246, 0.850289, -0.526244, true);
SpawnobjectwithWandH(0x53052C95, -746.741, 1771.05, -20.2843, 165.37, 0, 0, 0.991861, 0.127322, true);
SpawnobjectwithWandH(0x53052C95, -743.065, 1770.09, -20.8819, 170.37, 0, 0, 0.996471, 0.0839366, true);
SpawnobjectwithWandH(0x53052C95, -739.159, 1769.1, -21.3224, 183.37, 0, 0, 0.999568, -0.0294066, true);
SpawnobjectwithWandH(0x53052C95, -758.757, 1795.01, -20.5047, 239.37, -0.0378948, -0.0216018, 0.867933, -0.494762, true);
SpawnobjectwithWandH(0x53052C95, -783.91, 1800.57, -21.6678, 266.004, -0.0623791, -0.0227135, 0.728631, -0.681682, true);
SpawnobjectwithWandH(0xBDB1B3E5, -763.229, 1802.26, -2.5776, 162.958, 0, 0, 0.988962, 0.14817, true);
SpawnobjectwithWandH(0xBDB1B3E5, -768.807, 1794.97, -1.97506, 157.958, 0, 0, 0.981558, 0.191167, true);
SpawnobjectwithWandH(0xBDB1B3E5, -757.963, 1789.28, -1.97253, 146.958, 0, 0, 0.958716, 0.284365, true);
SpawnobjectwithWandH(0xBDB1B3E5, -748.291, 1782.9, -1.97, 132.958, 0, 0, 0.916915, 0.399083, true);
SpawnobjectwithWandH(0xBDB1B3E5, -740.95, 1785.25, -1.96747, 116.958, 0, 0, 0.85245, 0.522809, true);
SpawnobjectwithWandH(0xBDB1B3E5, -748.697, 1794.16, -1.82138, 144.099, -0.0298576, -0.0636389, 0.94878, 0.30802, true);
SpawnobjectwithWandH(0xBDB1B3E5, -757.663, 1800.19, -2.063, 152.099, -0.0253456, -0.0655667, 0.967955, 0.241086, true);
SpawnobjectwithWandH(0xBDB1B3E5, -774.404, 1804.61, -2.38027, 189.954, -0.0130402, -0.00113566, 0.996144, -0.0867526, true);
SpawnobjectwithWandH(0xBDB1B3E5, -770.433, 1727.4, -2.92622, 35.9767, 0, 0, 0.308824, 0.951119, true);
SpawnobjectwithWandH(0xBDB1B3E5, -769.504, 1735.48, -2.92369, 35.9767, 0, 0, 0.308824, 0.951119, true);
SpawnobjectwithWandH(0xBDB1B3E5, -737.679, 1777.21, -2.00748, 99.0897, 0, 0, 0.760914, 0.648853, true);
SpawnobjectwithWandH(0xBDB1B3E5, -779.449, 1796.77, -2.29663, 168.074, -0.0693791, 0.00724665, 0.992167, 0.103632, true);
SpawnobjectwithWandH(0x4F9981BE, -799.528, 1746.52, -20.3649, 266.885, -0.00633604, -0.0060006, 0.726038, -0.6876, true);
SpawnobjectwithWandH(0x4F9981BE, -776.538, 1767.79, -19.9722, 266.885, -0.00633604, -0.0060006, 0.726037, -0.6876, true);
SpawnobjectwithWandH(0xAA730FAF, -793.103, 1794.95, -0.305444, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -789.262, 1807.36, -0.271913, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -744.566, 1798.12, -0.238382, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -753.855, 1778.61, -0.204851, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -733.228, 1761.08, -0.17132, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -759.628, 1731.99, -0.137789, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -797.678, 1717.74, -0.104258, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -808.473, 1700.74, -0.0707269, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xAA730FAF, -811.927, 1708.84, -0.0371958, 293.103, 0, 0, -0.551189, 0.83438, true);
SpawnobjectwithWandH(0xBDB1B3E5, -783.352, 1801.72, -2.19414, 0.459654, 0, 0, 0.00401123, 0.999992, true);
SpawnobjectwithWandH(0xBDB1B3E5, -750.28, 1766.84, -1.51079, 83.8781, 0, 0, 0.66834, 0.743856, true);
}
void main(void)
{
PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", "The Reefer", 2500, 1);
spawnmap();
while(true)
{
THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
WAIT(0);
}
}  

but obviously it's in C++

 

So whatever I try, it doesn't really wants to work, but can we define buildings with this ?


Maro Hannover
  • Maro Hannover

    Scriptboy

  • BUSTED!
  • Joined: 06 Jan 2014
  • None

#22

Posted 11 June 2014 - 04:48 PM Edited by Maro Hannover, 11 June 2014 - 04:49 PM.

Why don't turn of the car and player collisons off and fall into blue where there is no builder there :)?


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#23

Posted 11 June 2014 - 04:50 PM Edited by stef538, 11 June 2014 - 04:51 PM.

I'm making a TimeTravel mod, I want to remove the collision and buildings, if i am not in that timezone :), so I don't really want to fall into the blue.

  • Wiebrendh likes this

Wiebrendh
  • Wiebrendh

    C# Programmer

  • Members
  • Joined: 22 Mar 2014
  • Netherlands

#24

Posted 11 June 2014 - 04:52 PM

Why don't turn of the car and player collisons off and fall into blue where there is no builder there :)?

 

Well, if you do that, you will fall trough the ground..


I'm making a TimeTravel mod, I want to remove the collision and buildings, if i am not in that timezone :), so I don't really want to fall into the blue.

 

TimeTravel mod already exists.. It is called Back To The Feature. But that is an old mod, so a new one would be awsome

  • stef538 likes this

LetsPlayOrDy
  • LetsPlayOrDy

    Too fast for ya

  • Members
  • Joined: 24 Aug 2013
  • United-States

#25

Posted 11 June 2014 - 04:57 PM

I'm making a TimeTravel mod, I want to remove the collision and buildings, if i am not in that timezone :), so I don't really want to fall into the blue.

 

Turn off collisions, get the current ground position, and make a tick event that teleports you to that ground position?


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#26

Posted 11 June 2014 - 04:58 PM Edited by stef538, 11 June 2014 - 04:58 PM.

 

 

TimeTravel mod already exists.. It is called Back To The Future*. But that is an old mod, so a new one would be awsome

 

I know.. http://www.moddb.com/mods/back-to-liberty-city 

 

lol. this one is mine.

  • Wiebrendh likes this

LordOfTheBongs
  • LordOfTheBongs

    Deceased

  • Members
  • Joined: 21 Sep 2013
  • None

#27

Posted 11 June 2014 - 05:05 PM

Nope nothing happends... 

 

 

 

Model is a property of GTA objects (peds, vehicles, objects) so no... u can spawn an object with a specific model ;)

 

But you can't do that with a building.. right ? Or am I completely wrong here ?

u tried the test code i made? did the test actually work? i never tested but was hoping u would be able to see some result in game testing different values


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#28

Posted 11 June 2014 - 05:11 PM Edited by stef538, 11 June 2014 - 05:12 PM.

I did try, and it didn't work :(, I only got some lag for 1 second. so it might have done something but I don't know..

 

 

I'm making a TimeTravel mod, I want to remove the collision and buildings, if i am not in that timezone :), so I don't really want to fall into the blue.

 

Turn off collisions, get the current ground position, and make a tick event that teleports you to that ground position?

 

 

This also does not work, because the building collision is still there.


LetsPlayOrDy
  • LetsPlayOrDy

    Too fast for ya

  • Members
  • Joined: 24 Aug 2013
  • United-States

#29

Posted 11 June 2014 - 05:20 PM

I did try, and it didn't work :(, I only got some lag for 1 second. so it might have done something but I don't know..

 

 

I'm making a TimeTravel mod, I want to remove the collision and buildings, if i am not in that timezone :), so I don't really want to fall into the blue.

 

Turn off collisions, get the current ground position, and make a tick event that teleports you to that ground position?

 

 

This also does not work, because the building collision is still there.

 

It is, but player collision is off, so you would just go right through.


stef538
  • stef538

    It's just me, going 88 MPH.

  • Members
  • Joined: 06 Oct 2012
  • Netherlands

#30

Posted 11 June 2014 - 05:24 PM

whoa.. that isn't playable..





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users