Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Thanks to WIZE for the motivation to do this XD
- //
- // Let me know that I did it for a reason, you can support me
- // http://paypal.me/s3vdit0
- global carePackage = gsc.getent("care_package", "targetname");
- global targetString = carePackage.get("target");
- global airdropCollision = gsc.getent(targetString, "targetname");
- def CreateRamp(top, bottom, isInvisible)
- {
- var distance = gsc.distance(top, bottom);
- var blocks = (int)(distance / 30) + 1;
- var A = [(top[0] - bottom[0]) / blocks, (top[1] - bottom[1]) / blocks, (top[2] - bottom[2]) / blocks];
- var temp = gsc.vectorToAngles([top[0] - bottom[0], top[1] - bottom[1], top[2] - bottom[2]]);
- var BA = [temp[2], temp[1] + 90, temp[0]];
- for (var b = 0; b <= blocks; ++b) {
- var crate = gsc.spawn("script_model", [bottom[0] + A[0] * b, bottom[1] + A[1] * b, bottom[2] + A[2] * b]);
- crate.setModel("com_plasticcase_friendly");
- crate.clonebrushmodeltoscriptmodel(airdropCollision);
- crate.rotateTo(BA, 1);
- if(isInvisible)
- {
- crate.Hide();
- }
- }
- }
- def CreateFloor(corner1, corner2, isInvisible)
- {
- var width = corner1[0] - corner2[0];
- if (width < 0)
- {
- width = width * -1;
- }
- var length = corner1[1] - corner2[1];
- if (length < 0)
- {
- length = length * -1;
- }
- var bwide = gsc.Floor(width / 50);
- var blength = gsc.Floor(length / 30);
- var C = [corner2[0] - corner1[0], corner2[1] - corner1[1], corner2[2] - corner1[2]];
- var A = [C[0] / bwide, C[1] / blength, 0];
- for (var i = 0; i < bwide; ++i)
- {
- for (var j = 0; j < blength; ++j)
- {
- var crate = gsc.spawn("script_model", [corner1[0] + A[0] * i, corner1[1] + A[1] * j, corner1[2]]);
- crate.setModel("com_plasticcase_friendly");
- crate.clonebrushmodeltoscriptmodel(airdropCollision);
- if(isInvisible)
- {
- crate.Hide();
- }
- }
- }
- }
- def CreateWall(start, end, isInvisible)
- {
- var D = gsc.Distance2D(start, end);
- var H = gsc.Distance([0, 0, start[2]], [0, 0, end[2]]);
- var blocks = gsc.Ceil(D / 60);
- var height = gsc.Ceil(H / 30);
- var C = [end[0] - start[0], end[1] - start[1], end[2] - start[2]];
- var A = [C[0] / blocks, C[1] / blocks, C[2] / height];
- var TXA = A[0] / 4;
- var TYA = A[1] / 4;
- var angle = gsc.VectorToAngles(C);
- angle = [0, angle[1], 90];
- for (var h = 0; h < height; ++h)
- {
- var crate = gsc.spawn("script_model", [start[0] + TXA, start[1] + TYA, start[2] + 15 + A[2] * h]);
- crate.setModel("com_plasticcase_friendly");
- crate.clonebrushmodeltoscriptmodel(airdropCollision);
- crate.RotateTo(angle, 1);
- if(isInvisible)
- {
- crate.Hide();
- }
- for (var i = 0; i < blocks; ++i)
- {
- crate = gsc.spawn("script_model", [start[0] + A[0] * i, start[1] + A[1] * i, start[2] + 15 + A[2] * h]);
- crate.setModel("com_plasticcase_friendly");
- crate.clonebrushmodeltoscriptmodel(airdropCollision);
- crate.RotateTo(angle, 1);
- if(isInvisible)
- {
- crate.Hide();
- }
- }
- crate = gsc.spawn("script_model", [start[0] + TXA * -1, start[1] + TYA * -1, start[2] + 15 + A[2] * h]);
- crate.setModel("com_plasticcase_friendly");
- crate.clonebrushmodeltoscriptmodel(airdropCollision);
- crate.RotateTo(angle, 1);
- if(isInvisible)
- {
- crate.Hide();
- }
- }
- }
- level.onNotify("prematch_done", fun(arguments)
- {
- switch(gsc.GetDvar("mapname"))
- {
- case("mp_rust")
- {
- CreateRamp([0, 0, 512], [512, 512, 0], false);
- CreateFloor([0, 0, 0], [512, 512, 0], false);
- CreateWall([512, 512, 0], [0, 0, 512], false);
- break;
- }
- case("mp_dome")
- {
- CreateRamp([0, 0, 512], [512, 512, 0], false);
- CreateFloor([0, 0, 0], [512, 512, 0], false);
- CreateWall([512, 512, 0], [0, 0, 512], false);
- break;
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement