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

Larias

Members
  • Posts

    95
  • Joined

  • Last visited

    Never

Everything posted by Larias

  1. You guys are awesome. Thanks.
  2. Sorry for posting twice in a day, but this has got me riled up because I can't figure out what is going on. Whenever I try to compile, I get an "Argument is not Optional" error, which, from what I understand, means that the If statement will always pick one option. But I don't know why, since I didn't touch this section. Here is the code that is getting error'd: ``` ' in party? If TempPlayer(attacker).inParty > 0 Then ' pass through party sharing function Party_ShareExp TempPlayer(attacker).inParty, exp, attacker Else ' no party - keep exp for self GivePlayerEXP attacker, exp End If ``` Specifically, Party_ShareExp TempPlayer(attacker).inParty, exp, attacker. I added in EXP sharing which is working just fine. However, I wanted only players in party on the map to get experience. Here's my Party_ShareExp: ``` Public Sub Party_ShareExp(ByVal partyNum As Long, ByVal exp As Long, ByVal Index As Long, ByVal mapnum As Long) Dim expShare As Long, i As Long, tmpIndex As Long, LoseMemberCount As Byte ' check if it's worth sharing If Not exp >= Party(partyNum).MemberCount Then ' no party - keep exp for self GivePlayerEXP Index, exp Exit Sub End If ' check members in others maps For i = 1 To MAX_PARTY_MEMBERS tmpIndex = Party(partyNum).Member(i) If tmpIndex > 0 Then If IsConnected(tmpIndex) And IsPlaying(tmpIndex) Then If GetPlayerMap(tmpIndex) mapnum Then LoseMemberCount = LoseMemberCount + 1 End If End If End If Next i ' find out the equal share If (Party(partyNum).MemberCount - LoseMemberCount) = 1 Then expShare = expShare End If If (Party(partyNum).MemberCount - LoseMemberCount) = 2 Then expShare = Round(exp * 0.8) End If If (Party(partyNum).MemberCount - LoseMemberCount) = 3 Then expShare = Round(exp * 0.65) End If If (Party(partyNum).MemberCount - LoseMemberCount) > 3 And Party(partyNum).MemberCount < 8 Then expShare = Round(exp * 0.5) End If If (Party(partyNum).MemberCount - LoseMemberCount) > 7 And Party(partyNum).MemberCount < 11 Then expShare = Round(exp * 0.25) End If If (Party(partyNum).MemberCount - LoseMemberCount) > 10 Then expShare = Round(exp * 0.2) End If ' loop through and give everyone exp For i = 1 To MAX_PARTY_MEMBERS tmpIndex = Party(partyNum).Member(i) ' existing member?Kn If tmpIndex > 0 Then ' playing? If IsConnected(tmpIndex) And IsPlaying(tmpIndex) And GetPlayerMap(tmpIndex) = mapnum Then ' give them their share GivePlayerEXP tmpIndex, expShare End If End If Next End Sub ``` wtf!??!?!
  3. Do they? Because my client doesn't have any constants naturally in it. I suppose I could add them.
  4. Ahhh. So the server uses the constant but the client uses the make properties? Interesting. Thanks, this fixed it.
  5. Commenting out the version check makes it work, so I know there is something going on here. Edit: Sorry, this is vanilla EO2. Here's my login: ``` Public Sub SendLogin(ByVal Name As String, ByVal Password As String) Dim Buffer As clsBuffer ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Set Buffer = New clsBuffer Buffer.WriteLong CLogin Buffer.WriteString Name Buffer.WriteString Password Buffer.WriteLong App.Major Buffer.WriteLong App.Minor Buffer.WriteLong App.Revision SendData Buffer.ToArray() Set Buffer = Nothing ' Error handler Exit Sub errorhandler: HandleError "SendLogin", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub ``` Here's my server side ``` ' Check versions If Buffer.ReadLong < CLIENT_MAJOR Or Buffer.ReadLong < CLIENT_MINOR Or Buffer.ReadLong < CLIENT_REVISION Then Call AlertMsg(Index, "Version outdated, please visit " & Options.Website) Exit Sub End If ``` I've set their versions to the same in the project -> questserver properties -> make area and it still bugs out. Thanks.
  6. I was the one who caused this topic to exist - I asked a question in the chatbox that said essentially "WTF, there are so many versions, which should I use?" because, simply put, there are a lot and it was really confusing on where to start. I downloaded 2.3 because it seemed to be the main one, then I was told event system was laggy, so I tried 3.0, then I told it wasn't supported anymore, then I tried "generic engine name" and so on and so forth until finally I just went with vanilla 2.0 due to pure confusion. I don't regret this choice - now - but for the first hour or two I almost quit just from wanting to slam my face against a wall. Too many people on these forums seem to forget where they started. I personally have absolutely no VB6 experience. It took me 30 minutes to figure out how to find the admin panel because it was hidden when I loaded VB6 for the first time. However, I have the advantage of programming experience & working around programming. So many people do not. So many people have never written a single line of code in any language. Baby steps exist for a reason. That feeling of accomplishment they get when create a spell that does what they want it to do is what will hook them and give them the motivation to learn more. That feeling of failure when they want to know how to do something, can't figure it out themselves because they don't quite understand coding, and don't get good support from the forums will be what drives them away.
  7. Sorry to bump but since TripleX didn't post his solution to the problem, I was wondering if anyone knew of a way to require a specific item type. For example, these abilities can only be used with a 1h sword (but all 1h swords work), 1h wand (but all 1h wands work), etc. Thanks ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons//smile.png)
  8. IS http://www.touchofdeathforums.com/community/index.php?/topic/130991-eo-shop-multiple-item-cost-system/#entry870781 what you're looking for?
  9. Before the wizard appears, you need to go to the gate and hit "Ctrl" - it's the game's default interact button.
×
×
  • Create New...