Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

RetroX

Members
  • Posts

    77
  • Joined

  • Last visited

    Never

Posts posted by RetroX

  1. When someone take the trouble to write code to enable this to work, how much chance do you think that a normal animated gif would function?

    (also, you could have tested this yourself  ;))

    Maps

    Yes.
    In the Server map there is Data.Ini

    Scrolling=1  'to enable scrolling
    ScrollX=30  'tiles horizontaly
    ScrollY=30  'tiles verticaly

    !!! When enter a higher value to ScrollX and/or ScrollY then you should remove all files from in the folder /Maps from Client AND Server. (The Server will make new empty files with the new size)
  2. Dude, dont take it as a personal offense.

    Ofcource they are related due to the simple fact its all about Eclipse (or Internet or Gaming or …)

    I love feedback. But I need it for the code (and not if we should or should not kick players with high pings). And i hate to say but the posts made earlier had little to do about how i should change code....

    But let me get a thing straight: The method that is used for this Ping routine is based on TCP and it should be based on UDP?

    (if not, can you explain a bit more what you ment. if so, what are the differences [in a bit more detail] and do you have some example code for that?)
  3. Lol!
    It probably has multiple 'ticks' within the second. You can add an "allow" var. Like this:

    Dim AllowRun
    AllowRun = 1          '1: Yes,  0: No

    If Seconds = 5 Then
            If AllowRun = 1 Then
                  … execute code ....
                  AllowRun = 0        'so the next time within this second is may not run
            End If
    End If
    If Seconds = 6 Then
            AllowRun = 1                'set the trigger to yes for the next run
    end If
  4. To see if the sub is working at all your could try the following:

    right below:
        Sub TimedEvent(Hours, Minutes, Seconds)

    add the following code:
        Dim Bugtracker
        Bugtracker = "H:" & Hours & " M:" & Minutes & " S:" & Seconds
        Call PlayerMsg(Index, "DEBUG: " & bugtracker , WHITE)

    It should give you actual time based on the variables you need for your 'If … Then' statements.
  5. In the serverfile, frmServer holds a routine called Private Sub Timer1_Timer() that triggers the clock and the "TimedEvent".

    Try This:
    In the serverwindow
    tab: ControlPanel

    Set time to
    Houres: -doesnt matter-
    Minutes: 29
    Seconds: 0

    Gamespeed: 1

    Scripting ON

    When the time reaches x:30:05 it should trigger the script.
  6. I am not keen on setting vars to 0.
    1 minute has 60 seconds, but… are they 0 - 59 or 1 - 60
    You can try figuring out if 0 or 1 is the starting second but the easiest is to simply use a bit higer value.

    If Seconds = 5 Then

    Second thing you could test:
    below: Call SetWeather(MAPWEATHER, Weather, 10)
    you can add: Call PlayerMsg(Index, "DEBUG: Weather should have changed to " & Weather  &  " on map: " & MAPWEATHER, WHITE)

    this way you should read 15 time that the weather changed on the maps (and to what value).
  7. Internet <–---|public ip|---------> [ROUTER] <–---|local ip|--------> [YOUR PC/SERVER]

    Others need the public IP to connect to your router.
    Your router gives a local IP to your PC (and to other pc's in the network)

    Since the Eclipse server is located on the PC and not on the Router (duh) you probably need to set up a thing called portforwarding.

    What is portforwarding (in nutshel):
    - A package that arives at a certain port on the router (from the outside) is send to a specific pc on a local network (as your pc). Seems easy, and thats right, it is.

    What can be a problem? Your router: since most routers use specific software it can be a bit tricky to set up portforwarding. Just take a look in the tutorialsection on the forum. There is enough info on portforwarding.
  8. 1) If you do not want/can host yourself: You can host it at a dedicated server. This will cost you some money (starting at $99/month).
    2) I dont know the rate for electricity in your country but when i keep my PC on 24/7 all year it probably cost me about 30-40 euro (40-55 dollar) a year.
    3) Starting programs when windows start is easy. Just place a shortcut in the "StartUp" folder in your startmenu.
  9. Ehm… the IP adress (wich the outside world can reach you on) is provided to you (or to the mainrouter if on a network) by your ISP (Internet Service Provider). You can check it by, for example: http://www.whatismyip.com/

    If you are using software for local ip distribution within your own network i suggest you check the manual/f.a.q. that your software provides. Also have a look into the tutorialsection ;)
  10. Some people (and myself) would like an animated menu. For this i experimented with some code.

    Limitations:
    - files must be named MainMenu**X**.gif
    - limited to 4 frames. (more are easy to add but requires some modifications in the code below)
    - high interval required (since the image changing is kind of bold you will experience "flashes" when the interval is set to a low number [low number = shorter time a single image is displayed)

    Add to **modGlobals**
    ```
    ' Animated main menu (credit: RetroX)
    Public MainMenuFrames As Integer
    Public MainMenuFrameSet As Integer
    Public buffer1 As PictureBox
    Public buffer2 As PictureBox
    Public buffer3 As PictureBox
    Public buffer4 As PictureBox

    ```
    At the code of **frmMainMenu** find the sub **Private Sub Form_Load()**
    replace the whole sub (from Private Sub  until  End Sub) with the code below:
    ```
    Private Sub Form_Load()
        Dim i As Long
        Dim Ending As String
        MainMenuFrames = 0            'if used by postfix gif the nr will increase

        For i = 1 To 4
            If i = 1 Then
                Ending = ".gif"
            End If

            If i = 2 Then
                Ending = ".jpg"
            End If

            If i = 3 Then
                Ending = ".png"
            End If

            If i = 4 Then          '-
                Ending = "0.gif"
            End If

            If FileExists("GUI\MainMenu" & Ending) Then
                If i < 4 Then
                    frmMainMenu.Picture = LoadPicture(App.Path & "\GUI\MainMenu" & Ending)    'gif/jpg/png load normal
                Else
                    Status.Interval = 1500  '<------- This is the interval (plucked from the original form). Time is miliseconds (1500 = 1.5 second)
                    If FileExists("GUI\MainMenu0.gif") Then
                        Set buffer1 = Controls.Add("vb.picturebox", "buffer1")
                        buffer1.Visible = False
                        buffer1.Picture = LoadPicture(App.Path & "\GUI\MainMenu0.gif")
                        MainMenuFrames = 1
                    End If
                    If FileExists("GUI\MainMenu1.gif") Then
                        Set buffer2 = Controls.Add("vb.picturebox", "buffer2")
                        buffer2.Visible = False
                        buffer2.Picture = LoadPicture(App.Path & "\GUI\MainMenu1.gif")
                        MainMenuFrames = 2
                    End If
                    If FileExists("GUI\MainMenu2.gif") Then
                        Set buffer3 = Controls.Add("vb.picturebox", "buffer3")
                        buffer3.Visible = False
                        buffer3.Picture = LoadPicture(App.Path & "\GUI\MainMenu2.gif")
                        MainMenuFrames = 3
                    End If
                    If FileExists("GUI\MainMenu3.gif") Then
                        Set buffer4 = Controls.Add("vb.picturebox", "buffer4")
                        buffer4.Visible = False
                        buffer4.Picture = LoadPicture(App.Path & "\GUI\MainMenu3.gif")
                        MainMenuFrames = 4
                    End If
                    frmMainMenu.Picture = buffer1    'Sets buffer1 as starting image
                    MainMenuFrameSet = 1
                End If
            End If
        Next i

        Ending = ReadINI("CONFIG", "MenuMusic", App.Path & "\config.ini")
        If LenB(Ending) <> 0 Then
            Call MenuMusic.PlayMedia(App.Path & "\Music\" & Ending, True)
        End If

        Call MainMenuInit
    End Sub

    ```
    at the same file (frmMainMenu) find the sub **Private Sub Status_Timer()**
    right under this line add the following code:
    ```
        If MainMenuFrames > 0 Then
            MainMenuFrameSet = MainMenuFrameSet + 1        'set index to next image
            If MainMenuFrameSet > MainMenuFrames Then      'at end of sequence start over
                MainMenuFrameSet = 1
            End If

            Select Case MainMenuFrameSet
            Case 1
                frmMainMenu.Picture = buffer1.Picture
            Case 2
                frmMainMenu.Picture = buffer2.Picture
            Case 3
                frmMainMenu.Picture = buffer3.Picture
            Case 4
                frmMainMenu.Picture = buffer4.Picture
            End Select
        End If

    ```

    The script itself checks the amount of files for the MainMenu. So when you only have 2 frames name them: MainMenu0.gif & MainMenu1.gif
    when you want to add a 3rd just name that one MainMenu2.gif

    Have fun!
  11. It really doesn't matter if it was or was not. It isn't there now.

    Vortigem want an animated menu (and i dont mind it also). This means we need to focus on how to create that.

    Since no-one has posted code (old or not) it needs to be posted if Vortigem wants to use it.

    Therefor I am working on some new code  ;)

    –----

    _edit:_
    Done. Code can be found here: http://www.touchofdeathforums.com/smf/index.php/topic,34099.0.html
  12. @Marsh:

    > not many poeple no but its already implamented
    > you have to name your files like
    > mainmenu0.gif mainmenu1.gif for every part of the animation.

    This not true!

    The code to load the mainmenu is

    > For i = 1 To 3
    >         If i = 1 Then
    >             Ending = ".gif"
    >         End If
    >
    >         If i = 2 Then
    >             Ending = ".jpg"
    >         End If
    >
    >         If i = 3 Then
    >             Ending = ".png"
    >         End If
    >
    >         If FileExists("GUI\MainMenu" & Ending) Then
    >             frmMainMenu.Picture = LoadPicture(App.Path & "\GUI\MainMenu" & Ending)
    >         End If
    >     Next i

    This basicly tells you it looks for a picture called: GUI\MainMenu  with an extension .gif .jpg or .png
    This routine has nothing to do with aditional numbers for animation.

    Perhaps you can support your statment by posting the code that makes it animated like you say?

    –-----------------------

    **_edit:_
    Update:**
    The code i found is to buggy to use. However, because of the comment Marsh made I thought of something else to try. Loading images into buffers and displaying them in sequence based upon a timer. Ill update my post later today.

    **_edit:_
    Update 2:**
    Yay, i got the mainmenu animated! Need to clean up to code and make it a bit more friendy so you can copy it for own usage. Ill post the code in 1 or 2 houres.
×
×
  • Create New...