For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

[227e] Some help

The section related to UnrealScript and modding. This board is for coders to discuss and exchange experiences or ask questions.
User avatar
Age
OldUnreal Member
Posts: 848
Joined: Sat Dec 29, 2007 5:25 pm

[227e] Some help

Post by Age »

How to use functions:
native(1722) final function bool CanReachPoint( vector Start, vector End, float ColRadius, float ColHeight, float JumpZ, float XYSpeed );
native(1708) final iterator function AllDownloaders( out NetConnection Connect, out string File, out int Sent, out int TotalSz );
native(1707) final iterator function AllConnections( out NetConnection Connect );
And other new native functions??

Didn't found any of examples or help.
Last edited by Age on Thu Jul 24, 2008 3:09 pm, edited 1 time in total.
User avatar
[]KAOS[]Casey
OldUnreal Member
Posts: 4497
Joined: Sun Aug 07, 2011 4:22 am
Location: over there

Re: [227e] Some help

Post by []KAOS[]Casey »

check engine.gameinfo for the connections functions usage.

CanReachPoint is just like a trace, except made mostly for a pawn's navigation, XYSpeed = groundspeed for most purposes
User avatar
Chaos13
OldUnreal Member
Posts: 951
Joined: Sat Feb 16, 2008 10:24 am

Re: [227e] Some help

Post by Chaos13 »

It seems that NetCon is native and you need to use Level functions to use them.
Last edited by Chaos13 on Sat Aug 02, 2008 10:27 am, edited 1 time in total.
Skydev = Chaos13 = Dimension4
Pravin

Re: [227e] Some help

Post by Pravin »

Hmm, I made a download reporter for use with my gametype, that takes advantage of the AllDownloads iterator. Here's a code snippet:

Code: Select all

      Function bool Update()
      {
      // Returning
      local int DLerListIndex;                        // Used to increment through the arrays
      local String ConnectionNameList[6];            // List of connections to be 'returned'
      local String FileNameList[6];                  // "      " filenames
      local Byte PercentageList[6];                  // "      " Percentages
      
      // Iteration
      local int Sent,TotalSize;                        // Bytes sent out of total bytes
      local int Iteration;                              // Drives for loop
      local NetConnection Connection;                  // The connection being evaluated
      local string FileName;                              // Name of the file being sent
      local string PlayerName;                        // Name of the connection's player
      local string tempName;                              // Temp name to link arrays

      local string ConData;                              // The options this connection entered with

      local bool bDownloaders;                        // Because HasDownloaders SUCKS!!
      local int conState;

            // Handle idiocy
            If( myReporter == None )
                  return False;


            DLerListIndex = 0;      
            Foreach Level.AllConnections(connection)
            {
                  If( Connection.Actor == None )
                  {
                        bDownloaders = True;
                        ConData = Level.GetConOpts(Connection);
                        ConnectionNameList[DLerListIndex] = ParseOption(ConData,"Name");
                        If( ConnectionNameList[DLerListIndex] == "" )
                              Continue;      // Ignore ASSHOLES WHO STOPPED DOWNLOADING...
                        FileNameList[DLerListIndex] = "N/A";
                        PercentageList[DLerListIndex] = 0;
                        DLerListIndex++;
                  }
            }

            if( bDownloaders )
                  Foreach Level.AllDownloaders( Connection, Filename, Sent, TotalSize )
                  {
                        ConData = Level.GetConOpts(Connection);
                        tempName = ParseOption(ConData,"Name");
                        For( Iteration = 0; Iteration < DLerListIndex; Iteration++ )
                        {
                              // Attempt to find the correct connection without an actor
                              If( TempName == ConnectionNameList[Iteration] )
                              {
                                    // Found it
                                    FileNameList[Iteration] = FileName;
                                    PercentageList[Iteration] = Byte(100*(Float( Sent )/Float( TotalSize )) );
                                    break;
                              }
                        }
                  }
      
            // Update the info
            myReporter.UpdateDownloaderList( ConnectionNameList, FileNameList, 
                                                                  PercentageList, DLerListIndex );
            return True;
      }
Basically, this function gets called repeatedly, updating the class's downloader list. Sorry for the rude comments in the source, bad habit. :P

Hope this helps.

Return to “UScript Board”