Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Ctrooper

Pages: [1] 2 3 4 5 6 ... 8
1
Suggestions & Requests / More team events and features.
« on: November 13, 2018, 08:27:43 PM »
Im aware that there are some team events out there but they are either not in depth enough or they don't work on dedicated servers. Here are some events i was i thinking could be added:

Output Event: AddLifeTickets[TeamName][Amount]
Output Event: AddLives[TeamName][Amount]
Output Event: RespawnTeam[TeamName]

A feature that i've always wanted was Wave spawning. Similar to how Insurgency does it if anyone is familiar with that game.

Another addition that would be really beneficial to Capture points is the ability to cap points in a zone rather than standing on a plate. Have it to where you can set the dimensions of the capture zone and everything else basically works the same.

As for the events, there are events that can accomplish what im looking for however they do not work when i host on a dedicated server, along with a couple other addons such as Swollow's Server events, if that could work on my dedicated server that would open up a lot of possibilities for me.

Anyways, thoughts, opinions, and guidance more than welcome.

2
Help / Creating a VPS to host servers
« on: August 26, 2018, 02:37:22 AM »
Since Glass isn't selling servers anymore i need to use a VPS to start hosting my server dedicated, i cant host it regular because the wireless service that i use doesn't allow me to forward ports.
I need help setting one up to host, i need someone to break this down Barney style. Currently signed up for Microsoft Azure and i have no idea how to use it or anything about VPSs really.

3
General Discussion / Project Blockality [Development Page]
« on: May 26, 2018, 11:47:53 AM »
                                                      PROJECT BLOCKALITY



What the project is:
Project Blockality is intended to be a team based semi tactical TDM with a slower, more careful approach to engagements.




Planned Features:


>
In depth atmosphere through well designed audio and special effects

>
Larger scale maps to include and encourage different types of engagements and firefights

>
Different factions as well as their corresponding service weapons to use

>
Various classes with specific roles


Development Team:



<Modelers>


>
Open Slot

>
Open Slot


<Scripters>


>
Open Slot

>
Open Slot


<Map Builders>


>
Open Slot

>
Open Slot

>
Open Slot

>
Open Slot


Contact Info:


Steam:
Fiercedrummer117

Discord:
Drummershocked #8560

Other:
Or just PM me


About the project/Dev Team info:
Alright, now that im in a place in my life where i can have some freedom again and actually be able to sit down at my laptop again id like to bring back and old idea but this time actually dedicate myself and anyone who would be willing to work with me to this idea. Now just so were clear this is something im serious on wanting to do, make work, and have fun with. When i hire people to work on this, i will be actually HIRING you. If your a good builder, scripter, map maker or what have you and want to contribute and be a part of my team i will pay you. If you are interested i need people who are consistent and can push out good material in a timely manner, im not asking to make this a full time job but just dont take 3 months to make one thing, i hate that stuff. If ou become a part of the team im going to want to communicate and get to know you and all that trash so ive set up a discord so we can all keep in touch, this will be an organized project.


How to apply:
Just use the contact information ive given as well as work you have done. Im looking for good modelers, scripters, and map builders. If your a modeler it would be preferred if you could animate. Like i said i will be paying out people in the team, im not gonna pay you for a novice looking product.












4
Drama / Grimlock [20075] and Rally [107346] Map stealing and stuff talking
« on: December 20, 2017, 08:59:32 PM »
Average day on my discord when i get word that Grimlock and Rally stole my map and were talking stuff about me

http://prntscr.com/hqbpc0
Apparently Rally stole it and Grimlock is using it for his TDM. I joined the server as soon as i heard this was going down. Right when i confronted Grimlock he muted me and then kicked me. My buddy Spuds was able to take pictures of the confrontation.

Unfortunately the lightshot pictures taken of the confrontation wont preload right away but ive included the urls for the pics themselves here

This is what was said:
1.

http://prntscr.com/hqbmpn
2.

http://prntscr.com/hqbmsz
3.

https://prnt.sc/hqbmvx
4.

http://prntscr.com/hqbmxr
5.

http://prntscr.com/hqbn2i
6.

http://prntscr.com/hqbn56
7.

http://prntscr.com/hqbop8
8.

http://prntscr.com/hqbos6
9.

http://prntscr.com/hqbowv
10.

http://prntscr.com/hqbpfc
11.

http://prntscr.com/hqbppf
12.

http://prntscr.com/hqbquc
13.

http://prntscr.com/hqbr5x

I did nothing to provoke any of this. Not once have i ever talked any kind of negativity to either of these users. It kind of sucks because i had a decent amount of respect for Rally being that hes a content creator and he makes some pretty damn good stuff, some of which i use and will continue to use despite his poor character. Obviously map stealing isn't technically against the rules, but it is a stuffty thing to do especially if no credit is given. Im not sure what to do other than expose the situation to the forum because this is not right.

5
Suggestions & Requests / Request for extra Slayer events
« on: December 17, 2017, 06:53:30 PM »
So i have some new Slayer event ideas that would help me with projects of mine and hopefully projects that other people have that uses Slayer

1. Incorporate Team Lives. An output event that adds or subtracts team lives
2. Wave spawning with adjustable wave time limits
3. SetTeamTransform. An output event that would teleport the entire team to a brick.

If these have been made already please link me to them for i have had no luck finding any of these.

6
Modification Help / Playing sound from location of projectile impact?
« on: October 30, 2017, 11:40:45 PM »
So im using the SFX system that Package_Complex uses for my weapons and im having trouble implementing sounds played from locations that projectiles land.

Heres the support script:
Code: [Select]
function strStart(%str, %search)
{
    return getSubStr(%str, 0, strlen(%search)) $= %search;
}

function strEnd(%str, %search)
{
    %len1 = strlen(%str);
    %len2 = strlen(%search);

    return strlen(%len1) >= strlen(%len2) && getSubStr(%str, %len1 - %len2, %len2) $= %search;
}

function strStartCut(%str, %search)
{
    return getSubStr(%str, strlen(%search), strlen(%str));
}

function strirpos(%str, %search)
{
    %len = strlen(%search);

    for (%i = strlen(%str) - %len; %i >= 0; %i--)
    {
        if (getSubStr(%str, %i, %len) $= %search)
            return %i;
    }

    return -1;
}

function SFXEffect::onAdd(%this)
{
    %name = %this.getName();

    if (%name $= "")
    {
        error("ERROR: SFXEffect objects must have a name!");
        %this.delete();
        return;
    }

    // If this is a duplicate, delete the old one.
    %this.setName("");
    %original = nameToID(%name);
    %this.setName(%name);

    if (%original != -1 && %original.class $= "SFXEffect")
        %original.delete();

    // Go through fields to discover all layers
    // We'll have to use local variables for everything because this looks
    // through the fields of %this, and we don't want to mess it up.
    for (%i = 0; 1; %i++)
    {
        %tag = %this.getTaggedField(%i);

        if (%tag $= "")
            break;

        %field = getField(%tag, 0);
        %value = getFields(%tag, 1, getFieldCount(%tag));

        // This part is really repetitive because we can't use fields here
        // Sorry! :P
        // Technically it could be cleaned up with globals but that's a whole
        // other can of worms
        if (strStart(%field, "file"))
        {
            %field = strStartCut(%field, "file");
            %index = strirpos(%field, "_");

            if (%index != -1)
            {
                %handle = getSubStr(%field, %index + 1, strlen(%field));
                %field = getSubStr(%field, 0, %index);
            }
            else
                %handle = "";

            if (!%isLayer[%field])
            {
                %isLayer[%field] = true;
                %layer[%maxLayer++] = %field;
            }

            %sample[%field, %maxSample[%field]++] = %handle;
        }
        else if (strStart(%field, "description"))
        {
            %field = strStartCut(%field, "description");
            %index = strirpos(%field, "_");

            if (%index != -1)
            {
                %handle = getSubStr(%field, %index + 1, strlen(%field));
                %field = getSubStr(%field, 0, %index);
            }

            if (!%isLayer[%field])
            {
                %isLayer[%field] = true;
                %layer[%maxLayer++] = %field;
            }

            %sample[%field, %maxSample[%field]++] = %handle;
        }
        else if (strStart(%field, "profile"))
        {
            %field = strStartCut(%field, "profile");
            %index = strirpos(%field, "_");

            if (%index != -1)
            {
                %handle = getSubStr(%field, %index + 1, strlen(%field));
                %field = getSubStr(%field, 0, %index);
            }

            if (!%isLayer[%field])
            {
                %isLayer[%field] = true;
                %layer[%maxLayer++] = %field;
            }

            %sample[%field, %maxSample[%field]++] = %handle;
        }
        // Now that I think about it, maybe globals would be better...
        // else if (strStart(%field, "useSource2D"))
        // {
        //     %field = strStartCut(%field, "useSource2D");
        //
        //     if (!%isLayer[%field])
        //     {
        //         %isLayer[%field] = true;
        //         %layer[%maxLayer++] = %field;
        //     }
        // }
        // else if (strStart(%field, "distanceThreshold"))
        // {
        //     %field = strStartCut(%field, "distanceThreshold");
        //
        //     if (!%isLayer[%field])
        //     {
        //         %isLayer[%field] = true;
        //         %layer[%maxLayer++] = %field;
        //     }
        // }
    }

    // Thank god that's over, now we can start making a mess with fields!
    %this.layerCount = 0;

    for (%layerIndex = 1; %layerIndex <= %maxLayer; %layerIndex++)
    {
        %layerName = %layer[%layerIndex];
        %layerMaxSample = %maxSample[%layerName];

        if (%layerMaxSample < 1)
        {
            // TODO: Do this after trying to load samples so that invalid samples don't count
            warn("SFXEffect " @ %name @ " has no samples on layer " @ %layerName @ ", ignoring layer...");
            continue;
        }

        %this.layerName[%this.layerCount] = %layerName;
        %this.layerCount++;
        %this.sampleCount[%layerName] = 0;

        for (%sampleIndex = 1; %sampleIndex <= %layerMaxSample; %sampleIndex++)
        {
            %sampleName = %sample[%layerName, %sampleIndex];

            if (%this.profile[%layerName, %sampleName] $= "")
            {
                if (%this.file[%layerName, %sampleName] $= "")
                {
                    warn("SFXEffect " @ %name @ " has no file or profile for sample " @ %sampleName @ " on layer " @ %layerName @ ", ignoring sample...");
                    continue;
                }

                %fileName = %this.file[%layerName, %sampleName];
                %description = FireSFX3d;
                %preload = true;

                if (%this.description[%layerName, %sampleName] !$= "")
                    %description = %this.description[%layerName, %sampleName];

                // Should probably getSafeVariableName the %name
                %profileName = "__SFXEffect_AudioProfile_" @ %name @ "_" @ getSafeVariableName(%layerName) @ "_" @ getSafeVariableName(%sampleName);
                %profile = nameToID(%profileName);

                if (!isObject(%profile))
                {
                    %profileName = "__SFXEffect_AudioProfile_" @ getSafeVariableName(%fileName) @ "_" @ getSafeVariableName(%description.getName());
                    echo("making " @ %profileName);
                    eval("datablock AudioProfile(" @ %profileName @ "){fileName=%fileName;description=%description;preload=%preload;};");
                    %profile = nameToID(%profileName);
                }

                if (!isObject(%profile))
                {
                    warn("SFXEffect " @ %name @ " failed to create profile for sample " @ %sampleName @ " on layer " @ %layerName @ ", ignoring sample...");
                    continue;
                }

                %this.profile[%layerName, %sampleName] = %profile;
            }

            %this.sampleHandle[%layerName, %this.sampleCount[%layerName]] = %sampleName;
            %this.sampleCount[%layerName]++;
        }
    }
}

function SFXEffect::playTo(%this, %client, %position, %source)
{
    %control = %client.getControlObject();

    if (!isObject(%control))
    {
        %client.debugSFX(%this, "not playing: no control object");
        return;
    }

    %isSource = %client == %source;
    %distance = vectorDist(%position, %control.getPosition());

    for (%i = 0; %i < %this.layerCount; %i++)
    {
        %layerName = %this.layerName[%i];

        if (%this.sampleCount[%layerName] < 1)
        {
            %client.debugSFX(%this, "not playing " @ %layerName @ ": no samples");
            continue;
        }

        switch$ (%this.filterListener[%layerName])
        {
            case "source": if (!%isSource) { %client.debugSFX(%this, "not playing " @ %layerName @ ": filterListener"); continue; }
            case "other": if (%isSource) { %client.debugSFX(%this, "not playing " @ %layerName @ ": filterListener"); continue; }
        }

        if (%this.filterDistanceMin[%layerName] !$= "" && %distance < %this.filterDistanceMin[%layerName])
        {
            %client.debugSFX(%this, "not playing " @ %layerName @ ": filterDistanceMin" SPC %distance);
            continue;
        }

        if (%this.filterDistanceMax[%layerName] !$= "" && %distance > %this.filterDistanceMax[%layerName])
        {
            %client.debugSFX(%this, "not playing " @ %layerName @ ": filterDistanceMax" SPC %distance);
            continue;
        }

        %use2D = false;

        switch$ (%this.use2D[%layerName])
        {
            case "always" or "1": %use2D = true;
            case "source": %use2D = %isSource;
            case "other": %use2D = !%isSource;
            default: %use2D = false;
        }

        %sampleIndex = getRandom(%this.sampleCount[%layerName] - 1);
        %sampleHandle = %this.sampleHandle[%layerName, %sampleIndex];

        %profile = %this.profile[%layerName, %sampleHandle];

        if (!isObject(%profile))
        {
            %client.debugSFX(%this, "not playing " @ %layerName @ ": invalid sample " @ %sampleHAndle);
            continue;
        }

        %client.debugSFX(%this, "playing " @ %layerName @ ": " @ %use2D SPC %sampleHandle);

        if (%use2D)
            %client.play2D(%profile);
        else
            %client.play3D(%profile, %position);
    }
}

function SFXEffect::play(%this, %position, %source)
{
    %count = ClientGroup.getCount();

    for (%i = 0; %i < %count; %i++)
        %this.playTo(ClientGroup.getObject(%i), %position, %source);
}

function SFXEffect::playFrom(%this, %position, %object)
{
    if (!isFunction(%object.getClassName(), "getControllingClient"))
        return %this.play(%position, 0);

    return %this.play(%position, %object.getControllingClient());
}

function GameConnection::debugSFX(%this, %sfx, %text)
{
    if (%this.debugSFX || %this.debugSFX[%sfx.getName()])
        messageClient(%this, '', "\c4debugSFX (" @ %sfx.getName() @ ")\c6: " @ %text);
}

and using this guy
Code: [Select]
FireSFX.playFrom(%obj.getMuzzlePoint(%slot), %obj);
I can play a set of audio from the position "MuzzlePoint"

Now i want to be able to play the SFX when a projectile explodes or collides with the ground but im not sure how to write it out so it gets the location of the projectile and plays the SFX from there.

The HE grenade in Package_Complex does this
Code: [Select]
HEGrenadeExplodeSFX.playFrom(%position, %object);

but ive tried this with my weapons plus other variations (which is basically just me plopping random variables) and ive gotten no luck.
Can someone show me how to set this up or tell me what im doing wrong?

This is what i have for the projectile that im using
Code: [Select]
function SMAWProjectile::onCollision(%this, %slot)
{
ATExplosionSFX.playFrom(%this.getPosition(%slot), %this);
}

7
Suggestions & Requests / More in-depth Mortar weapon
« on: October 04, 2017, 12:25:20 AM »
So we have a couple mortar weapons already but i would like to see a mortar that has features that require the player to actually use the weapon like a traditional mortar. One big flaw in our current mortar weapons is that they are all direct fire weapons meaning you have to be in line of sight of the object to actually target it. Most traditional mortars are in-direct fire weapons, meaning; using range calculations you can accurately place rounds in an area that you do not have LOS of.

So for a new mortar, it could be constructed with these features

1.In-direct firing capabilities, possibly using something like Strato's range finder for the M1 Abrams to calculate projectile paths

2.Deploy feature. Something similar to 40K's mortar but it should actually take some time. Maybe have an animation play of the character physically setting up the mortar, give the client a message "Deploying Mortar...", have it last maybe 6-10 or so seconds before it is ready to operate. This should prevent players from using it as a hand cannon.

3.Round loading, and finite ammo. Similar to how Gcat's howitzer works making for either an efficient 2-3 man mortar team, or a less efficient one man mortar. As for the ammo, instead of just carrying like one shell, you could have ammo bundles of like 5 or 10 that can be carried as items and load into the mortar similar to how shells are loaded into the howitzer

4. Ammo Types. Just like the Gcat howitzer, we could have HE, Smoke, heck maybe even airburst, that would be coolio

5. Not as important as 1 through 4 but some immersive features would be cool, such as sounds for Rounds hitting close, near and far, as well as a sound for incoming rounds

Anyways i feel like this would be hella cool and might spark some fun teamplay on TDM and RP servers.

If anyone decides to get serious with this i can help out by providing sounds and particle effects.

8
Suggestions & Requests / Wave Spawning
« on: August 22, 2017, 01:12:52 AM »
Wave spawning for slayer.
With option to set the time for each wave

Is there one out there or can someone make this?

9
Help / Intense stutter when using NVIDIA 960m (Post driver update)
« on: August 13, 2017, 02:17:06 PM »
So my laptop is the Lenovo Y700 which runs the 960m chip in it. It has integrated intel 530 graphics in it. When i run blockland on the main gpu i get a really intense stutter, no framerate loss just that stutter. It didn't do this before i updated the graphics driver for the 960m, but after i upgraded the driver it stutters. BL runs fine on the integrated graphics but... Ya know, i can barely run my small builds, don't even get me started with smoke grenades and explosions...

Anyways, whats going on here because im lost.

10
Suggestions & Requests / Requesting a scripter
« on: May 06, 2017, 02:06:51 PM »
So me and a friend are looking for people who can script. It will be for fun and we will release things to the public and what not. Sick and tired of scripting stuff for the two of us, its just something i cannot wrap my head around.

If you do decide you'd like to be a part of our little team we are friendly people and will enjoy working with whoever. My friend, Sheepocalypse models, and i will be doing sound and particles. There is no leader in our group, we just do our own thing and bounce ideas off each other, simple as that.

If you wanna collab with us just message me and give a little background of yourself and your abilities to script. The most we would want is 2 of you guys.

11
Modification Help / Weapon FOV saving and loading?
« on: April 25, 2017, 10:02:20 PM »
Alright bit of a back story before i begin; for the record i am an idiot when it comes to coding languages and how they work and im slowly learning, so as this is an issue that i would really love to get resolved soon im going to ask for a little spoon feeding, but at the same time id enjoy if you took a little bit of time to walk me through stuff or show me how it works ect for the future.

Annnnyways
Basically whats going on is that the coding template that im using, courtesy of NEKram, sets FOV to 90 or whatever i specify in the code. Now in the code i can alter FOV for magnified optics, but when you unmount the optic image i have to set the FOV back to specific value.

What i want to do is be able to get the players default FOV and set it back to that FOV value when the player unmounts the optic image.

Heres what i use now:
Code: [Select]
package AK74MSights
{
function armor::onTrigger(%this,%obj,%triggerNum,%val)
{
%client = %obj.client;
if(%obj.getMountedImage(0) $= AK74MImage.getID() && %triggerNum == 4 && %val)
{
%newAmmo = %obj.toolAmmo[%obj.currTool];
%obj.mountImage(AK74MSCImage, 0);
%client.setControlCameraFov(80);
%obj.toolAmmo[%obj.currTool] = %newAmmo;
}
else if(%triggerNum == 4 && %obj.getMountedImage(0) $= AK74MSCImage.getID() && %val)
{
%newAmmo = %obj.toolAmmo[%obj.currTool];
%obj.mountImage(AK74MImage, 0);
%client.setControlCameraFov(90);
%obj.toolAmmo[%obj.currTool] = %newAmmo;
}
Parent::onTrigger(%this,%obj,%triggerNum,%val);
}
function servercmdDropTool(%client,%slot)
{
if(%client.player.getMountedImage(0) $= AK74MSCImage.getID())
{
%client.player.unmountImage(0);
%client.setControlCameraFov(90);
if($BKT::CH)
{
crossHair.setBitmap("base/client/ui/crosshair.png");
}
}
return Parent::servercmdDropTool(%client,%slot);
}
};
activatePackage(AK74MSights);
Code: [Select]
function AK74MSCImage::onMount(%this, %obj, %slot, %client)  
{
%obj.client.setControlCameraFov(80);
commandToClient(%obj.client,'bottomPrint',"<just:right><font:impact:24><color:FF0000>|||  <font:impact:34>\c6" @ %obj.toolAmmo[%obj.currTool]+0 @ " / " @ %obj.client.quantity["AmmoMedium"]+0 @ "", 4, 2, 3, 4);
}

function AK74MSCImage::onUnMount(%this, %obj, %slot, %client)  
{
%obj.client.setControlCameraFov(90);
}

I would be very appreciative if you guys could solve this for me and possibly teach me a few things as well. Bare with me and thanks in advance.

12
Suggestions & Requests / First Person Physics Death
« on: December 20, 2016, 01:39:45 PM »
Could someone make a physics death edit that sets the player's camera to first person when they die? Like first person tumble but with physics death instead because its more stable and doesn't break when I have the defib addon.

13
Modification Help / Returning to a client's default FOV.
« on: November 29, 2016, 06:31:11 PM »
So this was touched up a little on the previous post I made, but I'm in need of a bit more help.

http://pastebin.com/RXkHKHzz

The lines of code used for switching between weapon states are in the link. I'm not sure how to set the client's FOV back to their default FOV after un-aiming.

I have referenced this topic: https://forum.blockland.us/index.php?topic=289786.0
But I still have trouble setting everything up.

Any guidance is appreciated, as well as patience... That would be very appreciated.

14
Modification Help / fix fov problem
« on: August 25, 2016, 11:54:21 PM »
So in my weapon i have a fire mode switching package that utilizes the brick cancel key to switch between image states. I have AK74MImage/AK74MImageADS and AK74MImageS/AK74MImageSADS. "S" stands for Semi, or Semi-Auto. So i am currently using gravity cat's method for fixing FOV. i have this package enabled in my effects.cs:

Code: [Select]
package ScopesPackage
{
  function GameConnection::onClientLeaveGame(%client)
  {
    if(isObject(%client.player.lasereffect)) %client.player.lasereffect.delete();
    parent::onClientLeaveGame(%client);
  }
  function serverCmdFixFov(%client,%fov)
  {
    if(isObject(%client))
    {
      %client.defaultZoom = mClampF(%fov,75,120);
      %client.noZoomCheck = true;
      if(%client.zoomnote $= "")
      {
        messageClient(%client,'',"Fixed default FOV to " @ %client.defaultZoom @ ".");
        %client.zoomnote = true;
      }
    }
  }
  function GameConnection::spawnPlayer(%client)
  {
    parent::spawnPlayer(%client);
    if(%client.noZoomCheck != true)
    {
      %client.defaultZoom = %client.getControlCameraFov();
      messageClient(%client,'',"\c3Type \c0/fixfov [your fov]\c3 to set the field of view to which weapons reset.");
    }
  }
  function GameConnection::onDeath(%this,%killerPlayer,%killer,%damageType,%damageLoc) { %player.client.setControlCameraFov(%player.client.defaultZoom); parent::onDeath(%this,%killerPlayer,%killer,%damageType,%damageLoc); }
  function Armor::onTrigger(%this,%player,%slot,%val)
  {
    if(isObject(%player)) {
    if(%player.getMountedImage(0).MeleeSecondary == 1 && %slot $= 4 && %val) {
    if(%player.getImageState(0) $= "Ready") %player.setImageAmmo(0,0); } }
      if(isObject(%player.getMountedImage(0)))
      {
        %image = %player.getMountedImage(0);
        if(isObject(%player.getObjectMount()))
        {
          %vehicle = %player.getObjectMount();
          for(%i=0;%i<8;%i++)
          {
            if(%vehicle.getMountedObject(%i) == %player) { %vehicleSlot = %i; break; }
          }
        }
        if(%image.item.zoom $= "") { parent::onTrigger(%this,%player,%slot,%val); return; }
        if((%image.item.image $= %image.getName()) && %slot $= 4 && %val)
        {
          %player.mountImage(%image.item.image @ "ADS",0);
          %player.client.setControlCameraFov(%image.item.zoom);
          if(%vehicle !$= "") Schedule(100,0,remount,%vehicle,%player,%vehicleSlot);
        }
        if(((%image.item.image @ "ADS") $= %image.getName()) && %slot $= 4 && %val)
        {
          %player.mountImage(%image.item.image,0);
          %player.client.setControlCameraFov(%player.client.defaultZoom);
//          messageClient(%player.client,toggleZoom());
          if(%vehicle !$= "") Schedule(100,0,remount,%vehicle,%player,%vehicleSlot);
        }
        parent::onTrigger(%this,%player,%slot,%val);
      }
      else
        parent::onTrigger(%this,%player,%slot,%val);
  }
};
activatePackage(ScopesPackage);

I then use
Code: [Select]
zoom = 90;
in the Item data.

Whats happening is that on full auto, or the first set of image states "AK74MImage/AK74MImageADS this method works perfectly. However when i switch to single "AK74MImageS/AK74MImageSADS, i can no longer Aim Down Sights

There are no syntax errors, what should ido?

15
Suggestions & Requests / A way to randomly pick named bricks
« on: August 07, 2016, 08:31:17 PM »
So basically what i want is some sort of event or system that picks from named bricks at random.

For example if i have 5 bricks each named "Brick", the event would pick one of those 5 named bricks to do an output event on.

could go in this order possibly? OnActivate-NamedBrick[Brick][Random]-SetRendering

Where [Random] is a secondary box where you can set whether it chooses the named bricks randomly or not.


Pages: [1] 2 3 4 5 6 ... 8