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

Richy420Rich

Members
  • Posts

    904
  • Joined

  • Last visited

    Never

Everything posted by Richy420Rich

  1. Lol now that's a sad way to be begging for a feature :P EDIT: Lemme get back on topic by saying, my quest code is really a mess and probably could do better by creating a whole new sub like the one you so kindly showed me… So I will be editing a load of the bulk in a new sub just to have a cleaner quest module.
  2. Well the x to y is 1 to 5 in this mod. It's easy to edit for more just by changing the UDT's and loops.. Gotta be careful though cause if a player has no inventory room, they won't be getting any more non-stackable items no matter how many one wishes to give. I've yet to fix that, requires rolling back in the code adding more checks and probably another UDT.
  3. Exit Sub saves the code from scanning all the cases after the initial case. Basically you're trying to call the same quest progress 2 times in your code. Making 1 of them not responding because the other one is being scanned. ``` Case 1 If Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 3 Then Call PlayerMsg(attacker, "I have nothing more for you.", Green) ElseIf Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 2 Then If HasItem(attacker, 4) Then Call TakeInvItem(attacker, 4, 0) Call PlayerMsg(attacker, "Angel: thanks, dude", Green) Call PlayerMsg(attacker, "You just obtained 200 Gold!", Green) Call GiveInvItem(attacker, 1, 200, True) Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 3 Else Call PlayerMsg(attacker, "Angel: I really don't know where to get one. haha.", Green) End If ElseIf Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 1 Then If HasItem(attacker, 3) Then Call TakeInvItem(attacker, 3, 0) Call PlayerMsg(attacker, "Angel: Wow, I needed this. Now I can make a stronger potion! Here's your reward. Now get me the other item.", Green) Call PlayerMsg(attacker, "You just obtained 100 Gold!", Green) Call GiveInvItem(attacker, 1, 100, True) Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 2 Else Call PlayerMsg(attacker, "Angel: I believe you can get a Weird Potion by cutting down one of these trees, don't know how you obtain a Potion for it though haha.", Green) End If ElseIf Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 0 Then Call PlayerMsg(attacker, "Angel: Hey.. Maybe you can help me, I like to get a Weird Potion? I'll reward you...", Green) Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 1 End If Exit Sub ```
  4. For to take more than 1 item, the item needs to be stacked.. (Only Currency type items can be stacked unless edited in the source.) My next update will include a multiple give/take option however which will beable to give/take upto 5 items at once.
  5. EDIT: You're also missing 3 End If's in the bottom of that code, if you posted the whole thing. ``` If NpcX = GetPlayerX(attacker) Then x = Trim(Npc(npcNum).AttackSay) CanPlayerAttackNpc = False If NpcY = GetPlayerY(attacker) Then If Npc(npcNum).Behaviour = NPC_BEHAVIOUR_SHOPKEEPER Then If Len(Trim$(Shop(x).Name)) > 0 Then Call SendOpenShop(index, x) TempPlayer(index).InShop = x ' stops movement and the like End If End If End If End If ``` Let me lessen the worse case scenario's lol.
  6. Well I can add .ogg support for Jessica, bout the most I'm gonna do since I do not have an MP3 license.
  7. Alright I won't be touching it then, thanks Rithy.. Question though, what about .ogg support?
  8. ``` SendOpenShop index, x Or Call SendOpenShop(index, x) ```
  9. You'd have to change the variable type of AttackSay cause right now it's sending strings through the packet. (If I'm not mistaking) I don't think the buffer will read sending a long through a string, since the shop call is by shopnumber. ``` x = Trim(Npc(npcNum).AttackSay) ``` Really all I can think of, if this don't work, you could add a new UDT on the bottom of NpcRec as Long, and then code it into the server to check if AttackSay is numeric or string then tie them to either variable.
  10. Might be a bit out my league but I'll take a lookie lol. EDIT: Way out my league =\
  11. In the server, frmserver.. right click in frmserver like before, but click "View Code".. Look for Sub mnuMapper And place this code inside that Sub before the End Sub. ``` Dim Name As String Name = frmServer.lvwInfo.SelectedItem.SubItems(3) If Not Name = "Not Playing" Then Call SetPlayerAccess(FindPlayer(Name), 1) Call SendPlayerData(FindPlayer(Name)) Call PlayerMsg(FindPlayer(Name), "You have been granted monitor access", BrightCyan) End If ```
  12. Yup, you got to click insert to put into the Menu List.
  13. We could make them move on rail with some hard code and an NPC train sprite. :P
  14. http://www.freemmorpgmaker.com/files/imagehost/pics/b976ec73edf5d02eaf8b06437798c274.PNG http://www.freemmorpgmaker.com/files/imagehost/pics/f6452dffbc91fe6be618c9f0d8d3bcb4.PNG http://www.freemmorpgmaker.com/files/imagehost/pics/5d0fb5cba6b71d12ee841905b722b2fe.PNG
  15. @n00b: > All that is already programmed, you just need to add the menu code into the server. Right click on the frmserver and click Menu Editor. Add mnuMapper and the menu title in.
  16. You shoulda posted me the whole sub but it's cool.. I'm send you the whole sub so you overwrite yours, it'll have your changes already in place. ``` Public Sub HandleKeyPresses(ByVal KeyAscii As Integer) Dim ChatText As String Dim Name As String Dim I As Long Dim n As Long Dim Command() As String Dim Buffer As clsBuffer ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler ChatText = Trim$(MyText) If LenB(ChatText) = 0 Then Exit Sub MyText = LCase$(ChatText) ' Handle when the player presses the return key If KeyAscii = vbKeyReturn Then ' Broadcast message If Left$(ChatText, 1) = "'" Then ChatText = Mid$(ChatText, 2, Len(ChatText) - 1) If Len(ChatText) > 0 Then Call BroadcastMsg(ChatText) End If MyText = vbNullString frmMain.txtMyChat.text = vbNullString Exit Sub End If ' Emote message If Left$(ChatText, 1) = "-" Then MyText = Mid$(ChatText, 2, Len(ChatText) - 1) If Len(ChatText) > 0 Then Call EmoteMsg(ChatText) End If MyText = vbNullString frmMain.txtMyChat.text = vbNullString Exit Sub End If ' Player message If Left$(ChatText, 1) = "!" Then Exit Sub ChatText = Mid$(ChatText, 2, Len(ChatText) - 1) Name = vbNullString ' Get the desired player from the user text For I = 1 To Len(ChatText) If Mid$(ChatText, I, 1) Space(1) Then Name = Name & Mid$(ChatText, I, 1) Else Exit For End If Next ChatText = Mid$(ChatText, I, Len(ChatText) - 1) ' Make sure they are actually sending something If Len(ChatText) - I > 0 Then MyText = Mid$(ChatText, I + 1, Len(ChatText) - I) ' Send the message to the player Call PlayerMsg(ChatText, Name) Else Call AddText("Usage: !playername (message)", AlertColor) End If MyText = vbNullString frmMain.txtMyChat.text = vbNullString Exit Sub End If If Left$(MyText, 1) = "/" Then Command = Split(MyText, Space(1)) Select Case Command(0) Case "/help" Call AddText("Social Commands:", HelpColor) Call AddText("'msghere = Broadcast Message", HelpColor) Call AddText("-msghere = Emote Message", HelpColor) Call AddText("!namehere msghere = Player Message", HelpColor) Call AddText("Available Commands: /info, /who, /fps, /fpslock", HelpColor) Case "/info" ' Checks to make sure we have more than one string in the array If UBound(Command) < 1 Then AddText "Usage: /info (name)", AlertColor GoTo Continue End If If IsNumeric(Command(1)) Then AddText "Usage: /info (name)", AlertColor GoTo Continue End If Set Buffer = New clsBuffer Buffer.WriteLong CPlayerInfoRequest Buffer.WriteString Command(1) SendData Buffer.ToArray() Set Buffer = Nothing ' Whos Online Case "/who" SendWhosOnline ' Checking fps Case "/fps" BFPS = Not BFPS ' toggle fps lock Case "/fpslock" FPS_Lock = Not FPS_Lock ' Request stats Case "/stats" Set Buffer = New clsBuffer Buffer.WriteLong CGetStats SendData Buffer.ToArray() Set Buffer = Nothing ' // Monitor Admin Commands // ' Admin Help Case "/admin" If GetPlayerAccess(MyIndex) < ADMIN_MONITOR Then GoTo Continue frmMain.picAdmin.Visible = Not frmMain.picAdmin.Visible ' Kicking a player Case "/kick" If GetPlayerAccess(MyIndex) < ADMIN_MONITOR Then GoTo Continue If UBound(Command) < 1 Then AddText "Usage: /kick (name)", AlertColor GoTo Continue End If If IsNumeric(Command(1)) Then AddText "Usage: /kick (name)", AlertColor GoTo Continue End If SendKick Command(1) ' // Mapper Admin Commands // ' Location Case "/loc" If GetPlayerAccess(MyIndex) < ADMIN_MAPPER Then GoTo Continue BLoc = Not BLoc ' Map Editor Case "/editmap" If GetPlayerAccess(MyIndex) < ADMIN_MAPPER Then GoTo Continue SendRequestEditMap ' Warping to a player Case "/warpmeto" If GetPlayerAccess(MyIndex) < ADMIN_MONITOR Then GoTo Continue If UBound(Command) < 1 Then AddText "Usage: /warpmeto (name)", AlertColor GoTo Continue End If If IsNumeric(Command(1)) Then AddText "Usage: /warpmeto (name)", AlertColor GoTo Continue End If WarpMeTo Command(1) ' Warping a player to you Case "/warptome" If GetPlayerAccess(MyIndex) < ADMIN_MONITOR Then GoTo Continue If UBound(Command) < 1 Then AddText "Usage: /warptome (name)", AlertColor GoTo Continue End If If IsNumeric(Command(1)) Then AddText "Usage: /warptome (name)", AlertColor GoTo Continue End If WarpToMe Command(1) ' Warping to a map Case "/warpto" If GetPlayerAccess(MyIndex) < ADMIN_MONITOR Then GoTo Continue If UBound(Command) < 1 Then AddText "Usage: /warpto (map #)", AlertColor GoTo Continue End If If Not IsNumeric(Command(1)) Then AddText "Usage: /warpto (map #)", AlertColor GoTo Continue End If n = CLng(Command(1)) ' Check to make sure its a valid map # If n > 0 And n 0 Then Call SayMsg(ChatText) End If MyText = vbNullString frmMain.txtMyChat.text = vbNullString Exit Sub End If ' Handle when the user presses the backspace key If (KeyAscii = vbKeyBack) Then If LenB(MyText) > 0 Then MyText = Mid$(MyText, 1, Len(MyText) - 1) End If ' And if neither, then add the character to the user's text buffer If (KeyAscii vbKeyReturn) Then If (KeyAscii vbKeyBack) Then MyText = MyText & ChrW$(KeyAscii) End If End If ' Error handler Exit Sub errorhandler: HandleError "HandleKeyPresses", "modInput", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub ``` If this don't work.. look back in the servers menu editor and make sure you do have the code I posted in the right menu sub. If it still don't work, I can't really be of much more help.
  17. All that is already programmed, you just need to add the menu code into the server. Right click on the frmserver and click Menu Editor. Add mnuMapper and the menu title in. Then in code look for Sub mnuMapper, paste this in; ``` Dim Name As String Name = frmServer.lvwInfo.SelectedItem.SubItems(3) If Not Name = "Not Playing" Then Call SetPlayerAccess(FindPlayer(Name), 2) Call SendPlayerData(FindPlayer(Name)) Call PlayerMsg(FindPlayer(Name), "You have been granted mapper access", BrightCyan) End If ``` Access 1 is just a moderator only allowed to kick/ban though (If I'm not mistaking). You can change that code in Client Side / modInput / HandleKeyPresses But following the same routine, you can add all the access levels in.
  18. Client side source, modText, DrawPlayerName,
  19. Yeah, was trying for a garden type thing there lol. Thanks. Anti-Symmetric people will hate me the more for this though haha.
  20. As the subject says.. I was sitting around and was like, I should make a map lol. Here it is. [See it here.](http://www.freemmorpgmaker.com/files/imagehost/pics/182cae5aad2e51d772af4b75983b04f9.jpg)
  21. In modGeneral, PopulateList Just put this in.. And it'll work for EO 2.0 leaving everything else the same. (Won't even have to sacrifice .mid files) ``` strLoad = Dir(App.Path & MUSIC_PATH & "*.mp3") I = I Do While strLoad > vbNullString ReDim Preserve musicCache(1 To I) As String musicCache(I) = strLoad strLoad = Dir I = I + 1 Loop ```
  22. @[Jake: > link=topic=69078.msg745565#msg745565 date=1298426662] > Awesome edits man! Now if you added an option for attack animations I would use it over VBG for sure. ;) > > -Jake Maybe I'm misunderstanding what you mean, but isn't there already an animation option in Item Editor that allows you to set different animation per weapon? @JessicaLecroix: > This is really fantastic; especially for people who aren't proficient coders… Like me. However, there is one things I was wondering... Have you considered adding MP3 support for map music? There's a tutorial already, as I'm sure you know, and somebody's already mentioned that they were able to get it working with the base EO 2.0\. If it's not something you'd like to add, or is not compatible with something you've changed, that's fine, of course. It's up to you what features to have, not me. I might look into it.. If the person who created the tutorial will let me release it with their credit intact then it's very possible to include it in next update. @DishWasher: > the only thing I hate in quest system is that "pictures" for each quest name .. > I wont use that anyway XP > its just a sugestion Understood, though I wanted to make it an option that could allow the work of both ways. I prefer the text way myself, but others may want to make it more fancy on the graphical side. I will look into pushing the option better..
  23. And the same "bug" found was on EO 2.0 lol. I'll look at it in next release though. Robin doesn't consider it a bug :P
  24. I always think the worse case scenario lol.
  25. That sucks, I know my VB6 crashed recently and wouldn't let me compile cause it always crashed thereafter, I tried reinstalling but got errors during reinstallation, so I reformatted my pc. Maybe it's due to something in my VB install that causes something to fail. Not much I can really do about that right now. Maybe you could try porting all the work over in another engine source project. copy/paste the src folder in a clean install, then unload/reload the forms/modules.
×
×
  • Create New...