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

Unknown_raven

Members
  • Posts

    39
  • Joined

  • Last visited

    Never

Everything posted by Unknown_raven

  1. Ok I finally downloaded the EO 1.1.0 source to have a look at it. I found the issue with the code which had been mentioned a bit above. Its a very small change. Look at the sub ``` Sub HandleBuyItem(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) ``` close to the bottom your see where it uses the GiveItem and TakeItem commands in the old tutorial. In the new source they are replaced with GiveInvItem and TakeInvItem. If you installed the old version of this tutorial then all you got to do is replace those lines. For other users, I have updated this tutorial so it works with EO 1.1.0 via copy and paste unless you happened to have made some drastic changes to the source.
  2. Best one that I can think of that is free to play would be Anarchy Online. Its a sci-fi based game and it does have a pay version of it. Basically if you play the base version its free, but if you want access to the expansions you have to pay per month. Its in my opinion a nice RPG and there are really a lot of players.
  3. I dunno about other places but God Bless America… and Pie http://www.youtube.com/watch?v=ed1Ucnvn08s
  4. Ok I've been looking through the E-Stable to see if I can't figure out whats going on and I have only partially managed to fix it. Heres what you do need to do in order to full fix it. In both the client and the Server, there are packets that send the stats back and forth, the problem is that some packets send the stats in this order, STR-DEF-MAGI-SPEED while others send it in this order STR-DEF-SPEED-MAGI Now from what I can see with the way its structured, the correct order is supposed to be the second one, STR-DEF-SPEED-MAGI. So inorder to fix the problems you need to go into both sources and look for any packets that are not sending the data in the right order, and flip them around. I will post some of what I've found but be cautioned that this doesnt fix the entire thing, there is still an issue with it giving you energy when you level up speed. ==SERVER SIDE== -Open ModHandelData and find ``` Public Sub Packet_UseStatPoint ``` -look down in the select case part for ``` Case 2 Call SetPlayerMAGI(index, GetPlayerMAGI(index) + 1) Call BattleMsg(index, "You have gained more magic!", 15, 0) Case 3 Call SetPlayerSPEED(index, GetPlayerSPEED(index) + 1) Call BattleMsg(index, "You have gained more speed!", 15, 0) ``` -now switch those around so it looks like this ``` Case 2 Call SetPlayerSPEED(index, GetPlayerSPEED(index) + 1) Call BattleMsg(index, "You have gained more speed!", 15, 0) Case 3 Call SetPlayerMAGI(index, GetPlayerMAGI(index) + 1) Call BattleMsg(index, "You have gained more magic!", 15, 0) ``` ==CLIENT SIDE== -open ModHandleData and find ``` Public Sub Packet_PlayerStatsPacket ``` -change this: ``` Public Sub Packet_PlayerStatsPacket(ByVal STR As Long, ByVal DEF As Long, ByVal Mag As Long, ByVal Spe As Long, ByVal MaxExp As Long, ByVal Exp As Long, ByVal lvl As Long) ``` -into this: ``` Public Sub Packet_PlayerStatsPacket(ByVal STR As Long, ByVal DEF As Long, ByVal Spe As Long, ByVal Mag As Long, ByVal MaxExp As Long, ByVal Exp As Long, ByVal lvl As Long) ``` When I get home today I'll try and look through the source some more to find all the issues. For now only use the above code as a reference, don't make the changes until you've found all the problems.
  5. Well that explains why my channels suddenly went out!
  6. Next time you start recording it, you need to get something in the forefront as a reference point. You need to get trees, maybe even a person, just something so you can better compare the movements of the light and the movement of the camera.
  7. Ok so I was trying to vote cake and some weird error message popped up. It said: > "forum handle error 3.14 zomg pie is rulorz!" So I went ahead and just voted pie.
  8. Well actually I think what would be even better is if the tool had a bonus percentage stat so basically… Lets say the Stone your mining has a 30% chance of giving you a gem. Well on the pick axe there would be a percentage bonus that you could perhaps set to 5% which means when your mining that particular stone using this special pickaxe your have a total of 35%.
  9. Eclipse Origins Description: This adds a success rate bar 1-100% to resources. This determines your chances at getting the reward or simply getting nothing. ==CLIENT SIDE== -open modTypes find Private Type ResourceRec then change it to ``` Private Type ResourceRec Name As String * NAME_LENGTH SuccessMessage As String * NAME_LENGTH EmptyMessage As String * NAME_LENGTH ResourceType As Byte ResourceImage As Byte ExhaustedImage As Byte ItemReward As Long ToolRequired As Long Health As Byte RespawnTime As Long Walkthrough As Boolean Animation As Long SuccessRate As Byte End Type ``` -open up form ResourceEditor and add a new scroll bar named scrlSuccess (make sure to set the scroll bars Min to 1 and max value to 100) -also add a lable above it named lblSuccess -If your not understanding heres the image http://img.photobucket.com/albums/v352/salcon/ResourceEditor.png -double click on the new scroll bar so it opens up this code ``` Private Sub scrlSuccess_Change() End Sub ``` -next replace that with this ``` Private Sub scrlSuccess_Change() lblSuccess.Caption = "Success: " & scrlSuccess.Value & "%" Resource(EditorIndex).SuccessRate = scrlSuccess.Value End Sub ``` -find Public Sub ResourceEditorInit() then change the whole sub to this: ``` Public Sub ResourceEditorInit() If frmEditor_Resource.Visible = False Then Exit Sub EditorIndex = frmEditor_Resource.lstIndex.ListIndex + 1 frmEditor_Resource.scrlExhaustedPic.Max = NumResources frmEditor_Resource.scrlNormalPic.Max = NumResources frmEditor_Resource.scrlAnimation.Max = MAX_ANIMATIONS frmEditor_Resource.txtName.text = Trim$(Resource(EditorIndex).Name) frmEditor_Resource.txtMessage.text = Trim$(Resource(EditorIndex).SuccessMessage) frmEditor_Resource.txtMessage2.text = Trim$(Resource(EditorIndex).EmptyMessage) frmEditor_Resource.cmbType.ListIndex = Resource(EditorIndex).ResourceType frmEditor_Resource.scrlNormalPic.Value = Resource(EditorIndex).ResourceImage frmEditor_Resource.scrlExhaustedPic.Value = Resource(EditorIndex).ExhaustedImage frmEditor_Resource.scrlReward.Value = Resource(EditorIndex).ItemReward If Resource(EditorIndex).SuccessRate 0 Then ' cut it down! If ResourceCache(GetPlayerMap(Index)).ResourceData(Resource_num).cur_health - Damage
  10. This fix is really simple and is for the Eclipse Origins Source. Description: Inside the item editor, for the stat bonus's there is a glitch where the two stats Intelligence and Will get mixed up. ==CLIENT SIDE== -Find Private Sub scrlStatBonus_Change(Index As Integer) and replace the whole thing with this: ``` Private Sub scrlStatBonus_Change(Index As Integer) Dim text As String Select Case Index Case 1 ' str text = "+ Str: " Case 2 ' end text = "+ End: " Case 3 ' vit text = "+ Vit: " Case 4 ' will text = "+ Will: " Case 5 ' int text = "+ Int: " Case 6 ' spr text = "+ Spr: " End Select lblStatBonus(Index).Caption = text & scrlStatBonus(Index).Value Item(EditorIndex).Add_Stat(Index) = scrlStatBonus(Index).Value End Sub ```
  11. I am liking a lot of things about this source Robin, not just the speed of it but the layout of things. I especially like the resource system. One thing I did do for you very quickly is modified your ShopEditor to support item fusing. You should take a look at the tutorial and hopefully your be interested in throwing it into the source. Anyhow I'll keep playing with it and see where this project goes. [EDIT 10-07-10] I found a small bug with the item editor. I have posted a fix for it. I'll post a link to the Shop Feature tutorial as well as the bug fix for anyone intersted. Item Editor Fix: http://www.touchofdeathforums.com/smf/index.php/topic,60099.0.html Shop Feature: http://www.touchofdeathforums.com/smf/index.php/topic,60070.msg635178.html#msg635178
  12. Ok this tutorial is for Eclipse Origins Source. Its a very quick and easy thing to implement. [Update] Novemeber 1, 2010 - Now supported by EO 1.1.0 Credit goes to: Unknown_Raven DESCRIPTION: Normally a shop lets you trade 1 item for another. This one allows you to trade in two items to get a single one. Example: "For 25 gold & 1 wooden rod, you get axe/s." You can still choose to only trade 1 item for another. This is a good way to allow item fusing in your game. Ok Server side is shorter so we will do that first. ==SERVER SIDE== -open up modTypes -find Private Type TradeItemRec and change to this: ``` Private Type TradeItemRec Item As Long ItemValue As Long costitem As Long costvalue As Long costitem2 As Long costvalue2 As Long End Type ``` -open up modHandelData -Find Sub HandleBuyItem and replace with: ``` Sub HandleBuyItem(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim Buffer As clsBuffer Dim shopslot As Long Dim shopnum As Long Dim itemamount As Long Dim itemamount2 As Long Set Buffer = New clsBuffer Buffer.WriteBytes Data() shopslot = Buffer.ReadLong ' not in shop, exit out shopnum = TempPlayer(Index).InShop If shopnum < 1 Or shopnum > MAX_SHOPS Then Exit Sub With Shop(shopnum).TradeItem(shopslot) ' check trade exists If .Item < 1 Then Exit Sub ' check has the cost item itemamount = HasItem(Index, .costitem) itemamount2 = HasItem(Index, .costitem2) If .costitem2 = 0 Then If itemamount = 0 Or itemamount < .costvalue Then PlayerMsg Index, "You do not have enough to buy this item.", BrightRed ResetShopAction Index Exit Sub End If Else If itemamount = 0 Or itemamount < .costvalue Or itemamount2 = 0 Or itemamount2 < .costvalue2 Then PlayerMsg Index, "You do not have enough to buy this item.", BrightRed ResetShopAction Index Exit Sub End If End If ' it's fine, let's go ahead If .costitem2 = 0 Then TakeInvItem Index, .costitem, .costvalue GiveInvItem Index, .Item, .ItemValue Else TakeInvItem Index, .costitem, .costvalue TakeInvItem Index, .costitem2, .costvalue2 GiveInvItem Index, .Item, .ItemValue End If End With ' send confirmation message & reset their shop action PlayerMsg Index, "Trade successful.", BrightGreen ResetShopAction Index Set Buffer = Nothing End Sub ``` ==CLIENT SIDE== open up modTypes -find Private Type TradeItemRec and change to this: ``` Private Type TradeItemRec Item As Long ItemValue As Long costitem As Long costvalue As Long costitem2 As Long costvalue2 As Long End Type ``` -find Private Sub cmdUpdate_Click() and replace entire sub with: ``` Private Sub cmdUpdate_Click() Dim Index As Long Index = lstTradeItem.ListIndex + 1 If Index = 0 Then Exit Sub With Shop(EditorIndex).TradeItem(Index) .Item = cmbItem.ListIndex .ItemValue = Val(txtItemValue.text) .costitem = cmbCostItem.ListIndex .costvalue = Val(txtCostValue.text) If cmbCostItem.ListIndex > 0 Then .costitem2 = cmbCostItem2.ListIndex .costvalue2 = Val(txtCostValue2.text) End If End With Call UpdateShopTrade End Sub ``` -Open Shop editor Form and add two new text boxes. One will be named cmbCostItem2, the other txtCostValue2 they will mimic the boxes for the Item's Price. For those that really don't understand, http://img.photobucket.com/albums/v352/salcon/ShopEditor.png -Find Public Sub ShopEditorInit() and replace the entire sub with: ``` Public Sub ShopEditorInit() Dim I As Long If frmEditor_Shop.Visible = False Then Exit Sub EditorIndex = frmEditor_Shop.lstIndex.ListIndex + 1 frmEditor_Shop.txtName.text = Trim$(Shop(EditorIndex).Name) If Shop(EditorIndex).BuyRate > 0 Then frmEditor_Shop.scrlBuy.Value = Shop(EditorIndex).BuyRate Else frmEditor_Shop.scrlBuy.Value = 100 End If frmEditor_Shop.cmbItem.Clear frmEditor_Shop.cmbItem.AddItem "None" frmEditor_Shop.cmbCostItem.Clear frmEditor_Shop.cmbCostItem.AddItem "None" frmEditor_Shop.cmbCostItem2.Clear frmEditor_Shop.cmbCostItem2.AddItem "None" For I = 1 To MAX_ITEMS frmEditor_Shop.cmbItem.AddItem I & ": " & Trim$(Item(I).Name) frmEditor_Shop.cmbCostItem.AddItem I & ": " & Trim$(Item(I).Name) frmEditor_Shop.cmbCostItem2.AddItem I & ": " & Trim$(Item(I).Name) Next frmEditor_Shop.cmbItem.ListIndex = 0 frmEditor_Shop.cmbCostItem.ListIndex = 0 frmEditor_Shop.cmbCostItem2.ListIndex = 0 UpdateShopTrade Shop_Changed(EditorIndex) = True End Sub ``` -find Public Sub UpdateShopTrade() and replace entire sub with: ``` Public Sub UpdateShopTrade() Dim I As Long frmEditor_Shop.lstTradeItem.Clear For I = 1 To MAX_TRADES With Shop(EditorIndex).TradeItem(I) ' if none, show as none If .Item = 0 And .costitem = 0 Then frmEditor_Shop.lstTradeItem.AddItem "Empty Trade Slot" ElseIf .costitem2 = 0 Then frmEditor_Shop.lstTradeItem.AddItem I & ": " & .ItemValue & "x " & Trim$(Item(.Item).Name) & " for " & .costvalue & "x " & Trim$(Item(.costitem).Name) Else frmEditor_Shop.lstTradeItem.AddItem I & ": " & .ItemValue & "x " & Trim$(Item(.Item).Name) & " for " & .costvalue & "x " & Trim$(Item(.costitem).Name) & " & " & .costvalue2 & "x " & Trim$(Item(.costitem2).Name) End If End With Next frmEditor_Shop.lstTradeItem.ListIndex = 0 End Sub ``` -Find Private Sub picShopItems_MouseDown and replace entire sub with: ``` Private Sub picShopItems_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim shopItem As Long shopItem = IsShopItem(X, Y) If shopItem > 0 Then Select Case ShopAction Case 0 ' no action, give cost With Shop(InShop).TradeItem(shopItem) If .costitem2 = 0 Then AddText "You can buy this item for " & .costvalue & " " & Trim$(Item(.costitem).Name) & ".", White Else AddText "You can buy this item for " & .costvalue & " " & Trim$(Item(.costitem).Name) & " & " & .costvalue2 & " " & Trim$(Item(.costitem2).Name) & ".", White End If End With Case 1 ' buy item ' buy item code BuyItem shopItem End Select End If End Sub ``` thats all there is to it.
  13. Ok so this is a small display bug. It occurs if you open up the item editor, then set a new item to the weapon property. In the bottom your notice the Bow display control screen. But if you then change the property to something like a ring, the Bow screen will still be displayed. The fix is extremely simple. ==SERVER SIDE== -Open up Form itemEditor -Search for the Sub ``` Private Sub cmbType_Click() ``` -then find where it reads ``` If cmbType.ListIndex = ITEM_TYPE_WEAPON Then fraBow.Visible = True End If ``` -Replace with ``` If cmbType.ListIndex = ITEM_TYPE_WEAPON Then fraBow.Visible = True Else fraBow.Visible = False End If ```
×
×
  • Create New...