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

killerminx

Members
  • Posts

    110
  • Joined

  • Last visited

    Never

Posts posted by killerminx

  1. well ive spent alot of time in frmnewchar latly but im thinking if you edit wherever it loads gui/heads then just add a if above that stateing like
    if frmNewChar.cmbClass = "Orc" Then
    "gui/heads2"
    ElseIf frmNewChar.cmbClass = "Human" Then
    "gui/heads"
    End if.

    Of course that not how your gonna write it, its just a example to help you out.
  2. Thanks it helped.

    Wells here what i got in my game.

    **Client side**

    **frmnewchar**

    I added 2 combo boxes named one cmbPath and cmbElement

    Private Sub Form_Load()

    'Add this to the bottom of this
    ```
    cmbElement.addItem "Fire"
    cmbElement.addItem "Wind"
    cmbElement.addItem "Water"
    cmbElement.addItem "Earth"
    cmbElement.addItem "Lightning"
    ```
    Private Sub picAddChar_Click()

    'Add this right under where you dim i As Long
    ```
        If cmbElement = "" Then
            MsgBox "You need to choose an element."
            Exit Sub
        End If

        If cmbPath = "" Then
            MsgBox "You need to choose a ninja path to follow."
            Exit Sub
        End If
    ```
    Private Sub cmbClass_Click()

    'add at the botom above end sub
    ```
      If cmbClass = "Konoha" Then

        cmbPath.Clear

        cmbPath.addItem "Naruto's Goal"
        cmbPath.addItem "Uchiha Destiny"
        cmbPath.addItem "Lee's Path"

        ElseIf cmbClass = "Suna" Then

        cmbPath.Clear

        cmbPath.addItem "Puppeteer"
        cmbPath.addItem "Fan User"
        cmbPath.addItem "Sand Controller"

        End If
    ```
    **Modgamelogic**

    Sub MenuState(ByVal State As Long)

    "changed the 1st to the second
    ```
            Case MENU_STATE_ADDCHAR
                frmNewChar.Visible = False

                If ConnectToServer Then
                    Call SetStatus("Connected. Creating Character...")

                    If frmNewChar.optMale.Value Then
                        Call SendAddChar(frmNewChar.txtName, 0, frmNewChar.cmbClass.ListIndex, frmChars.lstChars.ListIndex + 1, frmNewChar.HScroll1.Value, frmNewChar.HScroll2.Value, frmNewChar.HScroll3.Value)
                    Else
                        Call SendAddChar(frmNewChar.txtName, 1, frmNewChar.cmbClass.ListIndex, frmChars.lstChars.ListIndex + 1, frmNewChar.HScroll1.Value, frmNewChar.HScroll2.Value, frmNewChar.HScroll3.Value)
                    End If
                End If
    ```
    replaced with this
    ```
          Case MENU_STATE_ADDCHAR
                frmNewChar.Visible = False

                If ConnectToServer Then
                    Call SetStatus("Connected. Creating Character...")

                    If frmNewChar.optMale.Value Then
                        Call SendAddChar(frmNewChar.txtName, 0, frmNewChar.cmbClass.ListIndex, frmChars.lstChars.ListIndex + 1, frmNewChar.HScroll1.Value, frmNewChar.HScroll2.Value, frmNewChar.HScroll3.Value, frmNewChar.cmbPath.ListIndex + 1, frmNewChar.cmbElement.ListIndex + 1)
                    Else
                        Call SendAddChar(frmNewChar.txtName, 1, frmNewChar.cmbClass.ListIndex, frmChars.lstChars.ListIndex + 1, frmNewChar.HScroll1.Value, frmNewChar.HScroll2.Value, frmNewChar.HScroll3.Value, frmNewChar.cmbPath.ListIndex + 1, frmNewChar.cmbElement.ListIndex + 1)
                    End If
                End If
    ```
    **Modhandledata**

    Sub HandleData(ByVal Data As String)

        ' ::::::::::::::::::::::::
        ' :: Player data packet ::
        ' ::::::::::::::::::::::::
    'Iadded this at the botom of the packets
    ```
            Call SetPlayerClass2(i, Val(parse(18)))
            Call SetPlayerElement(i, Val(parse(19)))
    ```
    **ModclientTCP**

    Changed
    ```
    Sub SendAddChar(ByVal Name As String, ByVal Sex As Long, ByVal ClassNum As Long, ByVal slot As Long, ByVal HeadC As Long, ByVal BodyC As Long, ByVal LegC As Long)
        Call SendData("addchar" & SEP_CHAR & Trim$(Name) & SEP_CHAR & Sex & SEP_CHAR & ClassNum & SEP_CHAR & slot & SEP_CHAR & HeadC & SEP_CHAR & BodyC & SEP_CHAR & LegC  & END_CHAR)
    End Sub
    ```'to
    ```
    Sub SendAddChar(ByVal Name As String, ByVal Sex As Long, ByVal ClassNum As Long, ByVal slot As Long, ByVal HeadC As Long, ByVal BodyC As Long, ByVal LegC As Long, ByVal Class2Num As Long, ByVal ElementNum As Long)
        Call SendData("addchar" & SEP_CHAR & Trim$(Name) & SEP_CHAR & Sex & SEP_CHAR & ClassNum & SEP_CHAR & slot & SEP_CHAR & HeadC & SEP_CHAR & BodyC & SEP_CHAR & LegC & END_CHAR & Class2Num & END_CHAR & ElementNum & END_CHAR)
    End Sub
    ```
    **Moddatabase**
    ```
    Function GetPlayerClass2(ByVal Index As Long) As Long
        GetPlayerClass2 = Player(Index).Path
    End Function

    Sub SetPlayerClass2(ByVal Index As Long, ByVal ClassNum As Long)
        Player(Index).Path = ClassNum
    End Sub

    Function GetPlayerElement(ByVal Index As Long) As Long
        GetPlayerElement = Player(Index).element
    End Function

    Sub SetPlayerElement(ByVal Index As Long, ByVal ClassNum As Long)
        Player(Index).element = ClassNum
    End Sub
    ```'I added these at the bottom.

    **ModTypes**

    I added this at Type PlayerRec at the end

    ```
        Path As Long
        Element As Long
    ```
    –------------------------------------------------------------------------------------------------
    ------**Serverside**–------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------

    **ModTypes**

    Add this at the end of PlayerRec

    ```
        Path As Integer
        Element As Integer
    ```
    **ModDatabase**

    Sub AddChar

    'Ichanged
    ```
    Sub AddChar(ByVal Index As Long, ByVal Name As String, ByVal Sex As Byte, ByVal ClassNum As Byte, ByVal CharNum As Long, ByVal headc As Long, ByVal bodyc As Long, ByVal logc As Long)
    ```to
    ```
    Sub AddChar(ByVal Index As Long, ByVal Name As String, ByVal Sex As Byte, ByVal ClassNum As Byte, ByVal CharNum As Long, ByVal headc As Long, ByVal bodyc As Long, ByVal logc As Long, ByVal Class2Num As Byte, ByVal ElementNum As Byte)
    ```
    'I added
    ```
            Player(Index).Char(CharNum).Path = Class2Num
            Player(Index).Char(CharNum).Element = ElementNum
    ```under
            Player(Index).Char(CharNum).Class = ClassNum

    Post at the bottom of maddatabase

    ```
    Function GetPlayerClass2(ByVal Index As Long) As Long
        GetPlayerClass2 = Player(Index).Char(Player(Index).CharNum).Path
    End Function

    Sub SetPlayerClass2(ByVal Index As Long, ByVal ClassNum As Long)
        Player(Index).Char(Player(Index).CharNum).Path = ClassNum
    End Sub

    Function GetPlayerElement(ByVal Index As Long) As Long
        GetPlayerElement = Player(Index).Char(Player(Index).CharNum).Element
    End Function

    Sub SetPlayerElement(ByVal Index As Long, ByVal ClassNum As Long)
        Player(Index).Char(Player(Index).CharNum).Element = ClassNum
    End Sub
    ```
    **clsCommands**

    Add this at the bottom

    ```
    Function GetPlayerClass2(ByVal Index As Long) As Long
        GetPlayerClass2 = Player(Index).Char(Player(Index).CharNum).Path
    End Function

    Sub SetPlayerClass2(ByVal Index As Long, ByVal ClassNum As Long)
        Player(Index).Char(Player(Index).CharNum).Path = ClassNum
    End Sub

    Function GetPlayerElement(ByVal Index As Long) As Long
        GetPlayerElement = Player(Index).Char(Player(Index).CharNum).Element
    End Function

    Sub SetPlayerElement(ByVal Index As Long, ByVal CharNum As Long)
        Player(Index).Char(Player(Index).CharNum).Element = CharNum
    End Sub

    ```
    'At the bottom of
    Sub SendPlayerData(ByVal Index As Long)

    add these 2 below    packet = packet & GetPlayerPaperdoll(Index) & SEP_CHAR
    ```
        packet = packet & GetPlayerClass2(Index) & SEP_CHAR
        packet = packet & GetPlayerElement(Index) & SEP_CHAR
    ```
    **modServerTCP**

    Under Sub SendJoinMap(ByVal Index As Long)

    Change this
    ```
                        packet = packet & GetPlayerLevel(I) & SEP_CHAR
                        packet = packet & END_CHAR
    ```to
    ```
                        packet = packet & GetPlayerLevel(I) & SEP_CHAR
                        packet = packet & GetPlayerClass2(Index) & SEP_CHAR
                        packet = packet & GetPlayerElement(Index) & SEP_CHAR
                        packet = packet & END_CHAR
    ```

    'At the bottom of
    Sub SendPlayerData(ByVal Index As Long)

    add these 2 below    packet = packet & GetPlayerPaperdoll(Index) & SEP_CHAR
    ```
        packet = packet & GetPlayerClass2(Index) & SEP_CHAR
        packet = packet & GetPlayerElement(Index) & SEP_CHAR
    ```
    **ModHandleData**

    Under Sub HandleData(ByVal Index As Long, ByVal Data As String)

    I changed
    ```
            Case "addchar"
                Call Packet_AddCharacter(Index, Parse(1), Val(Parse(2)), Val(Parse(3)), Val(Parse(4)), Val(Parse(5)), Val(Parse(6)), Val(Parse(7)))
                Exit Sub
    ```to
    ```
            Case "addchar"
                Call Packet_AddCharacter(Index, Parse(1), Val(Parse(2)), Val(Parse(3)), Val(Parse(4)), Val(Parse(5)), Val(Parse(6)), Val(Parse(7)), Val(Parse(8)), Val(Parse(9)))
                Exit Sub
    ```
    At Public Sub Packet_AddCharacter

    I changed
    ```
    Public Sub Packet_AddCharacter(ByVal Index As Long, ByVal Name As String, ByVal Sex As Long, ByVal Class As Long, ByVal CharNum As Long, ByVal Head As Long, ByVal Body As Long, ByVal Leg As Long)
    ```to
    ```
    Public Sub Packet_AddCharacter(ByVal Index As Long, ByVal Name As String, ByVal Sex As Long, ByVal Class As Long, ByVal CharNum As Long, ByVal Head As Long, ByVal Body As Long, ByVal Leg As Long, ByVal Class2 As Long, ByVal Element As Long)
    ```
    then i changed
    ```
    Call AddChar(Index, Name, Sex, Class, CharNum, Head, Body, Leg)
    ```to
    ```
    Call AddChar(Index, Name, Sex, Class, CharNum, Head, Body, Leg, Class2, Element)
    ```
    –---------------------------------------------
    Anywho after doing all of this everytime i click add character at the character screen it stays in

    Status "Connected. Creating Character..."

    which means my problems start at Clint side Sub MenuState but i just cant seem to figure it out sorry id like some help....like i said im a source newbie
  3. ```
            frmNewChar.cmbClass.Clear
            For i = 0 To Max_Classes
                If Class(i).Locked = 0 Then
                    frmNewChar.cmbClass.addItem Trim$(Class(i).Name)
                End If
            Next i
            frmNewChar.cmbClass.ListIndex = 0
            frmNewChar.lblClassDesc = Class(0).desc
            If ClassesOn = 1 Then
                frmNewChar.cmbClass.Visible = True
                frmNewChar.lblClassDesc.Visible = True
            ElseIf ClassesOn = 0 Then
                frmNewChar.cmbClass.Visible = False
                frmNewChar.lblClassDesc.Visible = False
            End If
    ```
    in that code im wondering if
    ```
                    frmNewChar.cmbClass.addItem Trim$(Class(i).Name)
    ```is putting out a number or the name?

    ok second question
    what is it doing here
    ```
            frmNewChar.cmbClass.ListIndex = 0
    ```don't tell me its giving it a val i understand that, i mean why they add it here
  4. okay im trying to change

    ```
    cmbClass2.ItemData(cmbClass2.NewIndex) = 1
    ```
    to

    ```
    Player(index).Char(Player(index).CharNum).Class2 = 1
    ```
    but im having problems

    ```
    Player(index).Char(Player(index).CharNum).Class2 = 1
    ```wouldn't work cause the Char(Player(index).CharNum) wasn't defind so VB6 wouldn't let me even make a client.

    ```
    Player(Index).Class2 = 1
    ```Same problem so tried this

    ```
    Player(NewIndex).Class2 = 1
    ```I ended up with a RTE 9

    ```
    Player(cmbClass2.Index).Class2 = 1
    ```Now im geting a RTE  343 which says
    "Object not an array

    Im confused on how to set the data in mod type

    –----------------------------------------------------
    for now i went bk to the method of storeing data by

    cmbClass2.itemdata blah blah blah way but when creating a newchar it freezes so look below to help me copy what they do in class combobox
  5. ```
    Function GetPlayerClass2(ByVal Index As Long) As Long
        GetPlayerClass2 = Player(Index).Char(Player(Index).CharNum).Class
    End Function

    Sub SetPlayerClass2(ByVal Index As Long, ByVal ClassNum As Long)
        Player(Index).Char(Player(Index).CharNum).Class2 = ClassNum
    End Sub
    ```
    ```
    Function GetPlayerElement(ByVal Index As Long) As Long
        GetPlayerElement = Player(Index).Char(Player(Index).CharNum).Element
    End Function

    Sub SetPlayerElement(ByVal Index As Long, ByVal ElementNum As Long)
        Player(Index).Char(Player(Index).CharNum).Element = ElementNum
    End Sub
    ```
    i placed that in clsCommands server side

    ```
        Class2 As Long
        Element As Long
    ```
    I placed that below PlayerRec

    ```
      If cmbClass = "Warrior" Then

        cmbClass2.Clear

        cmbClass2.addItem "Knight"
        cmbClass2.ItemData(cmbClass2.NewIndex) = 1
        cmbClass2.addItem "Samuria"
        cmbClass2.ItemData(cmbClass2.NewIndex) = 2

        ElseIf  cmbClass = "Mage" Then

        cmbClass2.Clear

        cmbClass2.addItem "White Mage"
        cmbClass2.ItemData(cmbClass2.NewIndex) = 3
        cmbClass2.addItem "Black Mage"
        cmbClass2.ItemData(cmbClass2.NewIndex) = 4
        cmbClass2.addItem "Red Mage"
        cmbClass2.ItemData(cmbClass2.NewIndex) = 5

        End If
    ```
    I placed that under Private Sub cmbClass_Click()

    ```
    cmbElement.addItem "Fire"
    cmbElement.ItemData(cmbElement.NewIndex) = 1
    cmbElement.addItem "Wind"
    cmbElement.ItemData(cmbElement.NewIndex) = 2
    cmbElement.addItem "Water"
    cmbElement.ItemData(cmbElement.NewIndex) = 3
    cmbElement.addItem "Earth"
    cmbElement.ItemData(cmbElement.NewIndex) = 4
    cmbElement.addItem "Lightning"
    cmbElement.ItemData(cmbElement.NewIndex) = 5
    ```
    i placed that under Private Sub Form_Load()

    ```
        If cmbElement = "" Then
            MsgBox "You need to choose an element."
            Exit Sub
        End If

        If cmbClass2 = "" Then
            MsgBox "You need to choose a Primary Class."
            Exit Sub
        End If
    ```
    in add character section

    ```
            cmbClass2.ItemData(cmbClass2.ListIndex) = Player(Index).Char(Player(Index).CharNum).Class2
            cmbElement.ItemData(cmbElement.ListIndex) = Player(Index).Char(Player(Index).CharNum).Element
    ```
    the line above Call MenuState(MENU_STATE_ADDCHAR)
    In the add character button area.

    anything looking wrong?
  6. Balliztik yea that would be the smart way to go. but if i do that id need a command to retrive that value for me and a command to change that value. As i stated im not that good in source and if i went the putvar and getvar route i already have those to commands and id rather script over source anyday. but ill try it the source  way first and see if i can make a command to go along with the data.
  7. ok so i found out the easy way to add choices to the combo box. I just use .additem in form load , anywho wil putvar work in source i don't think it will

    ```
    Private Sub cmbElement_Click()

    If cmbElement = "Fire" Then

    End If

    End Sub
    ```
    i don't know what to put in there to store the data to my ini file?
  8. no i don't need to know how to make an ini file i know that read what i wrote "newchar form"  the page where you make a new character i want to know how to add a bar like the class bar where you choose the element and the data is sent to the ini file i put up there above.
  9. I have tried to learn source and cant so im sticking with sadscript, anyways like the class bar, i want 2 more bars one to choose elemnt type and the other to choose like a second class, but i want the choice to be sent as a```
    putvar(index, "scripts/char/" & getplayername(index) & ".ini" , "STATS", element, 1-5)
    ```

    ```
    putvar(index, "scripts/char/" & getplayername(index) & ".ini" , "STATS", class2, 1-20)
    ```
    how can this be done?
  10. ok yea i really don't need the alignment all i really need is the anim,ation num and the coordinates so when i post it on a custom menu its where you want it, i don't think i need alignment or picture_index, but let me post the two commands im working with.

    This is call custom menu picture
    ```
    Sub CustomMenuPicture(ByVal player_index As Long, ByVal picture_index As Long, ByVal FileName As String, ByVal Left As Long, ByVal top As Long)
        Dim packet As String

        If picture_index < 0 Or player_index <= 0 Or player_index > MAX_PLAYERS Then
            Exit Sub
        End If

        packet = "loadpiccustommenu" & SEP_CHAR & picture_index & SEP_CHAR & FileName & SEP_CHAR & Left & SEP_CHAR & top & END_CHAR
        Call SendDataTo(player_index, packet)

    End Sub
    ```
    this is too call spellanim

    ```
    Sub SpellAnim(ByVal SpellNum As Long, ByVal mapper As Long, ByVal X As Long, ByVal Y As Long)
        Call SendDataToMap(mapper, "scriptspellanim" & SEP_CHAR & SpellNum & SEP_CHAR & Spell(SpellNum).SpellAnim & SEP_CHAR & Spell(SpellNum).SpellTime & SEP_CHAR & Spell(SpellNum).SpellDone & SEP_CHAR & X & SEP_CHAR & Y & SEP_CHAR & Spell(SpellNum).Big & END_CHAR)
    End Sub
    ```
    So i tried to combine the 2

    ```
    Sub CustomMenuanime(ByVal SpellNum As Long, ByVal Left As Long, ByVal top As Long)
        Dim packet As String

        packet = "scriptspellanim" & SEP_CHAR Left & SEP_CHAR & top & END_CHAR
        Call SendDataTo(player_index, packet)

    End Sub
    ```
  11. Im trying to make a command custommenuspellanime i thought basically i could just copy a custom menu thing and plug the spell information in ther and it did not work

    ```
    Sub CustomMenuanime(ByVal SpellNum As Long, ByVal picture_index As Long, ByVal Left As Long, ByVal top As Long)
        Dim packet As String

        If alignment < 0 Or alignment > 2  Or picture_index < 0 Or player_index <= 0 Or player_index > MAX_PLAYERS Then
            Exit Sub
        End If

        packet = "scriptspellanim" & SEP_CHAR & picture_index & SEP_CHAR & Left & SEP_CHAR & top & END_CHAR
        Call SendDataTo(player_index, packet)

    End Sub
    ```
    could anyone help me?
  12. So I tried to figure it out all night and still nothing….anyone else any ideas. I tried searching for pokemon cirus game to see what they did but couldn't find it on here i thought someone posted for the forums use.

    Right after posting this i came up with a new idea, what if i just copy the background where im gonna place the pic, the only problem, with this is more scripting and more pictures, so until then ill go with its but i hope someone figures something out soon id really appreciate it.
  13. ```
    If Clicked_Index = 2 Then     
        Call CustomMenuClose(Index)
    ElseIf Clicked_Index = 1 Then
        If CanTake(Index, 3, 1) = false Then
              Call PlayerMsg(Index, "You didn't get the item! Go buy it from the merchant!", RED)
        Else
              Call TakeItem(index, 3, 1)
              Call SetPlayerSprite(Index, 2)
              Call PlayerMsg(Index, "Thanks, here's your reward!", RED)
        End If
    End If
    ```
  14. oh ok well then i see no problem with the code then, is the scripts working? as in /testscripts. Also try this

    ```
    If Clicked_Index = 1 Then     
        Call PlayerMsg(Index, "You clicked label 1", RED)
    ElseIf Clicked_Index = 2 Then
        Call PlayerMsg(Index, "You clicked label 2", RED)
    End If
    Call CustomMenuClose(Index)
    ```
    that should test to see if your labels are working also i noticed in the "endif" you forgot to separate them.
  15. ```
    If Clicked_Index = 2 Then     
        Call CustomMenuClose(Index)
    ElseIf Clicked_Index = 1 Then
        If CanTake(Index, 3, 1) = false Then
              Call PlayerMsg(Index, "You didn't get the item! Go buy it from the merchant!", RED)
        Else
              Call TakeItem(index, 3, 1)
              Call SetPlayerSprite(Index, 2)
              Call PlayerMsg(Index, "Thanks, here's your reward!", RED)
        EndIf
    EndIf
    ```
    Code wise it looks good i think, Make sure your takeitem sub is there and workin, the only thing im thinking is most functions give numbers are you sure that cantake uses true and false?

    If anything can you show me the sub?
×
×
  • Create New...