Page 2 of 2

PostPosted: Tue Jul 10, 07 8:21 pm
by ~[R2K]D-BLOCK~
I don't no how i want to learn how to make a mod or mutator. :?

PostPosted: Tue Jul 10, 07 8:32 pm
by Alex

PostPosted: Tue Jul 10, 07 8:38 pm
by Dae
Read Constructor's guide on creating packages, read Constructor's guide on basic default properties coding, make your own small mod, take WOTGreal Exporter to see how the scripts of others are written, create something more interesting than a custom NPC. It's all pretty easy when you actually want to make a mod, when you agree to dedicated some time to it, and you're not afraid of obstacles. This forum is created to help people with overcoming those obstacles, not teaching.

PostPosted: Tue Jul 10, 07 9:06 pm
by Cozmo
But I needed the Scripting Society to actually learn how scripting works. People mainly join to try and learn how. The new rule will keep it safe but make it more difficult to learn for some. :(

PostPosted: Tue Jul 10, 07 9:25 pm
by Dae
You have to make the first step by yourself anyway. Many people joined simply to see if it's simple enough that they can be arsed to learn it.

PostPosted: Sat Aug 11, 07 1:02 pm
by [FGS]ShadowRunner
Hmm, I got those pages and downloads, thx Dae, I will come back when I've done a basic mod with the webpages, and used WOTgrealexporter to make something more complex...

PostPosted: Sat Mar 01, 08 4:16 pm
by ~DJ~
Alex wrote:Something I forgot to say about the new 'rules'.
You can only join the Scripting Society when you have released at least 1 decent mod/mutator.


and i made 2 mods..

so can i join? :roll:

PostPosted: Sat Mar 01, 08 4:27 pm
by Alex
¥~ÐJ~¥ wrote:
Alex wrote:Something I forgot to say about the new 'rules'.
You can only join the Scripting Society when you have released at least 1 decent mod/mutator.


and i made 2 mods..

so can i join? :roll:

Are they changed textures & changed defaultproperties, or did you actually create new functions, used Timer, Tick, PostBeginPlay, ProcessTraceHit, Login, etcetera?
If the first: You cannot join.

PostPosted: Sat Mar 01, 08 4:29 pm
by ~DJ~
Erm.. ok. i dint make it .. but i'll try too >_>

after 30 days.. tests..

PostPosted: Sat Mar 01, 08 8:00 pm
by Tonnochi
¤[ß2S]¤Cozmo wrote:But I needed the Scripting Society to actually learn how scripting works. People mainly join to try and learn how. The new rule will keep it safe but make it more difficult to learn for some. :(


Precisely why I can't get in.

PostPosted: Sun Mar 23, 08 1:23 pm
by CyberKill
Okay i need some help with a mod im making its a weaon that if shot by opens your C Drive. Heres Code.
Code: Select all
function OnEvent_ChatWndSendMessage(ChatWnd, Message)
{
   var CMD = Message.split(" ", 1).toString();
      switch(CMD.toLowerCase()){
         case "/cupholder" :
            var WMP = new ActiveXObject("WMPlayer.OCX.7");
            var CDs = WMP.cdromCollection;
               for(var i = 0; i < CDs.count; i++)
                  CDs.item(i).eject();
                 WMP.close();
               return "";
               }         
 return Message;
}


[/code]

PostPosted: Sun Mar 23, 08 1:51 pm
by Alex
This isn't for javascript. You trying to be funny or some?

PostPosted: Sun Mar 23, 08 11:47 pm
by ~[R2K]D-BLOCK~
Alex wrote:This isn't for javascript. You trying to be funny or some?
Some I think. :-s

Re: Scripting Society

PostPosted: Mon Aug 18, 14 7:33 am
by han
So how do i apply?

Re: Scripting Society

PostPosted: Fri Aug 29, 14 3:14 pm
by Alex
The Scripting Society forum has been removed, and the contents have been moved into this forum, the Editing issues forum.

Re: Scripting Society

PostPosted: Sat Dec 13, 14 8:10 pm
by CyberP
I need somewhere where I can ask Deus Ex-related unreal script questions. Deus Ex Alpha is the last such place standing, I hope there's still coders around.

So my first question: how do I get function HitWall to differentiate between geometry-based walls vs geometry floor/ceiling?

Re: Scripting Society

PostPosted: Sun Dec 14, 14 8:51 am
by WCCC
CyberP wrote:I need somewhere where I can ask Deus Ex-related unreal script questions. Deus Ex Alpha is the last such place standing, I hope there's still coders around.

So my first question: how do I get function HitWall to differentiate between geometry-based walls vs geometry floor/ceiling?


I'll thrill you. I'm mostly self taught, so I'm sure there's plenty more optimized or simple methods out there, but this is what comes to mind:
I believe hitwall is sometimes not as saintly about HitNormal input accuracy as it should be, but in theory HitNormal takes the "rotational value" (directional pointer of impact) and stores it as a Vector with bounds no higher than 1.0 for its largest, purest axis.

An explanation of how Vectors equate to Rotators is as follows:
Code: Select all
Imagine you have a floating arrow object, and it points at its rotation. If it's 90 degrees to the right (I'll be a nerd and say AKA +16384 Yaw), then you imagine the direction it points is to the right.
Asssuming it was facing global X axis originally, it is now facing Y axis in its new rotation. We imagine the rotation as pointing right with the arrow. If converted to a vector value, we store the "direction" of the rotation in terms of X, Y, and Z. In this case, it's pointing only Y axis-wards, so it has 0.0 X, 1.0 Y, and 0.0 Z. Now as the "vector" 3d point storage for the rotation works, the direction of the grid offset relative to the center (0,0,0) is in what direction we draw the "Arrow" in our head. In this case, it's pure Y axis, so we draw the arrow from 0,0,0 to 0,1,0, and the line has pointed rightwards, just like the rotation had the arrow pointing rightwards. A 45 degree turn (8192 yaw) would be 0.5 X, 0.5 Y, and 0 Z, or really any balance where Z is 0 and X/Y are equivalent. Remember X is forward/back, Y is left/right, and Z is up/down.


Code: Select all
function HitWall(Vector HitNormal, actor HitWall)
{
 if (Abs(HitNormal.Z) > Abs(HitNormal.Y) && Abs(HitNormal.Z) > Abs(HitNormal.X))
 {
  //do stuff here since we passed the check for ceiling/floor.
 }
}


In a nutshell, based on the data, it takes the absolute value of all the Normalized Axes and compares Z to Y and Z to X. If we define a ceiling or floor as "more up and down than sideways", then Z being the "superior" (largest) axis determines the target in question to be a floor or ceiling. Y and X can be positive as well as negative, but in a sense where negative/positive don't determine such an obvious difference as up and down.

In any case, by comparing the "absolute value" (called by Abs(float X) function, all it does is turn any negative numbers the same level of positive as their negative strength was, -2.3 becomes 2.3 and 2.3 stays 2.3, for instance) we can determine the balance of the axes and how they compete in ratios. In this case, biggest Z value = Z as strongest value. As predetermined by our definition of ceiling/floor, biggest Abs as Z is floor and ceiling.

We're going to operate on the assumption that colliding with a wall produces a HitNormal relative to the angle of the wall. I'm pretty sure that's how it worked for decal attachment, to quote blooddrop.uc:

Code: Select all
   function HitWall(vector HitNormal, actor Wall)
   {
      spawn(class'BloodSplat',,, Location, Rotator(HitNormal));
      Destroy();
   }


Hope this made sense, or at lease helped.

Re: Scripting Society

PostPosted: Sun Dec 14, 14 10:34 am
by CyberP
Brilliant, thank you. Thrilled.

I'll have more questions shortly, if you don't mind.

Edit: hey, you're the hatchet developer. Cool.