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

WiseRock

Members
  • Posts

    499
  • Joined

  • Last visited

    Never

Everything posted by WiseRock

  1. > Still looking forward to this. Also, how does the mail system work? I can't seem to figure that one out. > > Oh, and I don't know if you're still taking name ideas for this engine but hows this: Eclipse Orijanes ![](http://www.touchofdeathforums.com/community/public/style_emoticons/default/wink.png) How does it work? Other than that looks really awesome looking forward to the Achievement System. It will give self-esteem to some players :D Anyways good job on it :D
  2. > Updated: All weapons will be equipped in a unique way. You everytime u equip a shield or a weapon you will always get the other. Example Wooden Sword will equip Wooden Sword and Shield etc. I wanted to explain this a bit. You will get a equip items through Armor Chest. Example for example the Golden Armor Chest will give full gold gear and sword and shield. Rings and Trinkets will be separate though. *Note Quote says for all weapons what I meant is all Armor
  3. > This looks amazing! I love gamemaker and its simplicity. > > What do you plan to release this on? HTML5? Win? IOS? etc… > > > > I also see that you plan on adding a networking system. I recommend you stay away from 39dll as it is poorly programmed. Try FaucetNet and using a C# sever. > > > > Best of luck with this! Thanks I am mostly likely going to release for Windows or HTML5 and I am going use mostly likely EO 3.0 for the MMO Part. Thanks, Just a quick question will u be testing the game. > I would love to test it. I really like this game! :D Cool 3 spots left Might have to delay the testing in a few days It should be available testing from August 4th to 6th Have to do some important things
  4. Cool thanks So 4 Positions left for Testing. Testing Will Begin on Saturday, August 2nd You will be testing mostly the Core Functions of the game. There will not be much NPCs or Items.
  5. Updated with Ogre Sprite this guy took a while. ![](http://i58.tinypic.com/2wodce8.png) I need testers who are willing to Test my game. As a reward for testing you will receive The Providence Game of course including the Expansion Pack Rise of the Saken and in the MMO we will have a Redeem System and each code costs $0.99 and you will get a chance of winning prizes that you can vendor or you can get awesome gear. Testers will receive 5 free codes. Again for more Info please either PM me or post it here! :D
  6. Status Update of Providence Coding - 15% GFX - 5% Sound - Undefined ATM Maps - 1% Total = Providence is 21% done I have been thinking of removing the Turn Based Battle System and replacing it with a Real Time Attack System. Your character attacks in real time. He will have spells and etc. What do you guys think? I will have a Poll posted.
  7. Hate reanimating threads but how would I make this compatible with sending Items
  8. I've made the Black GUI translucent so it looks like a gray. >! ![](http://i57.tinypic.com/b3ubup.png) Updated: All weapons will be equipped in a unique way. You everytime u equip a shield or a weapon you will always get the other. Example Wooden Sword will equip Wooden Sword and Shield etc.
  9. Should [http://www.eclipseorigins.com/community/index.php?/topic/134336-eo-map-instances/](http://www.eclipseorigins.com/community/index.php?/topic/134336-eo-map-instances/) work with this Engine?
  10. > nice feature but i think That black box(gui) wont fit your game…you going to change it? Yeah it was just a test. Thinking of making it translucent any Ideas about colours?
  11. Added Custom MSG boxes These will most likely be used for Tutorials and etc. Thanks to [Beatson](http://gmc.yoyogames.com/index.php?showuser=108784&tab=reputation&app_tab=forums&type=received&st=0) for helping me with this ![](http://i58.tinypic.com/10erd77.png)
  12. Are there any tutorials on this or Can anyone guide me on How to do this. I wanted a Title System that can be Achieved through an Item. Regards, Render
  13. Update v0.1.4 GFX: Added dragon sprite(under the logo to the left) Added Items and Paperdolls. Added a new Battle Sprite with Attack Animations. Edited GUI a bit GamePlay: Added Inventory System with 12 slots Planned Features Transport System (You can control Vehicles such as boats and ride them on the water.). Added a Sprite Sheet with all my GFX so far >! ![](http://i58.tinypic.com/28juwkz.png)
  14. > A feature that I would think to be made would be a full character customization. Different hair styles, face styles, eyes, and different colors for all that. Also included in that would be race selection, faction selection, and gender. Its a lot but I thought it was one of eclipses biggest downfall. > > Also what happened to that engine with action combat you had? I would like to see eclipse games with interesting combat. I do admire the Idea of Races and Factions. They can be linked to a Battleground which the different factions fight each other and Achievements are they hard to make?
  15. > @ Peaverin > > I've updated just your modRendering, you can download it here [http://www.canadianparamedicjobs.ca/updater/modRendering.zip](http://www.canadianparamedicjobs.ca/updater/modRendering.zip) > > > > In your modRendering, with Sub DrawPlayer, I see this > > ``` > ' Set the left > Select Case GetPlayerDir(Index) > Case DIR_UP > spritetop = Heart(77) > Case DIR_RIGHT > spritetop = Heart(80) > Case DIR_DOWN > spritetop = Heart(78) > Case DIR_LEFT > spritetop = Heart(79) > End Select > > ``` > I'm not sure why it was set to Heart() array > > > > I've changed it to > > ``` > ' Set the left > Select Case GetPlayerDir(Index) > Case DIR_UP > spritetop = 3 > Case DIR_RIGHT > spritetop = 2 > Case DIR_DOWN > spritetop = 0 > Case DIR_LEFT > spritetop = 1 > End Select > > ``` Its was because he was using the [Super MMO Maker Box](http://www.eclipseorigins.com/community/index.php?/topic/133221-super-mmorpg-maker-box-03x/). There is a special editor that you edit the Core of the game. Its called the Heart Editor. P.S Can you make a Title System that works through an Item and you need like a Player Kill Req. and for the AH (great system!) How would I configure it to the Event System.
  16. > @ Render, here's an Auction House System > > > > You'll want to tweak the settings as you want! > > > > It allows you to post items, and the currency, so you can post a Dagger for Example, but set it so that you only want bids in Gold, or Bids in whatever item you want! > > There is a button on the Form, but you could easily set this to be activated by an NPC with a little tweaking > > Bidding higher than the buyout will automatically give you an item > > By default the constants allow bids to be online for 2 hours, you can change this with a single line, same with the maximum number of auctions. > > Use drag and drop to auction off items In the Post Auction Window. > > When an auction ends or someone buys it out, it is up to the seller to check their auctions and claim their reward. > > It is up to the seller to check auctions and reclaim any items that have expired. > > > > You can download the complete system here [http://www.canadianparamedicjobs.ca/updater/EOWithAuctions.zip](http://www.canadianparamedicjobs.ca/updater/EOWithAuctions.zip) > > > >! ![](http://www.canadianparamedicjobs.ca/updater/auction1.png) > >! > >! ![](http://www.canadianparamedicjobs.ca/updater/auction2.png) > >! > >! ![](http://www.canadianparamedicjobs.ca/updater/auction3.png) > >! > >! Otherwise, this is the tutorial (you'll need to copy the Control Objects like the Listboxes and Picture Boxes from the source I've attached!) > >! > >! > >! **SERVER SIDE** > >! In modHandleData, at the bottom of InitMessages add > >! ``` > HandleDataSub(CSaveAuction) = GetAddress(AddressOf HandleSaveAuction) > HandleDataSub(CAuctionBid) = GetAddress(AddressOf HandleAuctionBid) > HandleDataSub(CClaimAuction) = GetAddress(AddressOf HandleClaimAuction) > >! ``` > In modServerLoop, after it does the top dim's for dim tmr1000, add the following > >! ``` > 'For Auction house > Dim Seconds As Long > >! ``` > Further down in the Sub ServerLoop, after tmr1000 = GetTickCount + 1000 add. > >! ``` > Seconds = Seconds + 1 > If Seconds >= 60 Then > CheckAuctions > Seconds = 0 > End If > >! ``` > In modPlayer, find Sub JoinGame, after it sends the welcome message, add > >! ``` > Call SendAuctionsToAll > >! ``` > In modGeneral, Sub InitServer, after Load SystemTray, add > >! ``` > Call SetStatus("Loading Auctions...") > Call LoadAuctions > >! ``` > In subHandleData, at the bottom Add a new Sub > >! ``` > Sub HandleSaveAuction(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) > Dim AuctionSlot As Long > Dim buffer As clsBuffer, i As Long > Dim FoundAuction As Boolean > > Set buffer = New clsBuffer > buffer.WriteBytes Data() > > 'Default Auction Slot > FoundAuction = False > > 'First let's see if we have any available slots open for a new auction! (We will find any with a Claimed status and reuse it! > For i = 1 To MAX_AUCTIONS > If FoundAuction = False Then > If Auction(i).ItemNum = 0 Then > FoundAuction = True > AuctionSlot = i > End If > End If > Next i > > 'We have room! > If AuctionSlot > 0 Then > 'Let's see if we can take the item, > > Auction(AuctionSlot).ItemNum = buffer.ReadLong > Auction(AuctionSlot).Amount = buffer.ReadLong > Auction(AuctionSlot).Current_Bid = buffer.ReadLong > Auction(AuctionSlot).Buyout_Bid = buffer.ReadLong > Auction(AuctionSlot).Currency_ItemNum = buffer.ReadLong > Auction(AuctionSlot).Owner = GetPlayerName(index) > Auction(AuctionSlot).Current_Bid_Owner = GetPlayerName(index) > Auction(AuctionSlot).Status = Auction_Running > Auction(AuctionSlot).Claimed = NO > Auction(AuctionSlot).MinuteCounter = 1 > TakeInvItem index, Auction(AuctionSlot).ItemNum, 1 > Call SaveAuctions > Call PlayerMsg(index, "Auction Posted!", BrightGreen) > End If > > 'No room for auctions, tell the user! > If AuctionSlot = 0 Then > Call PlayerMsg(index, "There is no more room for any auctions at the moment, wait until current auctions end or contact an Administrator!", BrightRed) > End If > > Set buffer = Nothing > > End Sub > Sub HandleAuctionBid(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) > > Dim ViewAuctionNum As Long > Dim ViewAuctionBid As Long > Dim TakeItemNum As Long > Dim buffer As clsBuffer, i As Long > Set buffer = New clsBuffer > > > > buffer.WriteBytes Data() > ViewAuctionNum = buffer.ReadLong > ViewAuctionBid = buffer.ReadLong > TakeItemNum = Auction(ViewAuctionNum).Currency_ItemNum > Call PlayerMsg(index, "You've bid " & ViewAuctionBid & " " & Trim(Item(Auction(ViewAuctionNum).Currency_ItemNum).Name) & " on " & Trim(Item(Auction(ViewAuctionNum).ItemNum).Name), BrightGreen) > If TakeInvItem(index, TakeItemNum, ViewAuctionBid) = False Then > > 'Let's see if we only bid, or if we paid the Bought Out! > If ViewAuctionBid < Auction(ViewAuctionNum).Buyout_Bid Then > Auction(ViewAuctionNum).Current_Bid = ViewAuctionBid > Auction(ViewAuctionNum).Current_Bid_Owner = Trim(GetPlayerName(index)) > Call SendAuctionsToAll > Call PlayerMsg(index, "You successfully bid on " & Trim(Item(Auction(ViewAuctionNum).ItemNum).Name), BrightGreen) > End If > > 'If we bought out the item! > If ViewAuctionBid >= Auction(ViewAuctionNum).Buyout_Bid Then > Auction(ViewAuctionNum).Current_Bid = ViewAuctionBid > Auction(ViewAuctionNum).Current_Bid_Owner = Trim(GetPlayerName(index)) > Auction(ViewAuctionNum).Status = Auction_Successful > GiveInvItem index, Auction(ViewAuctionNum).ItemNum, 1, True > Call SendAuctionsToAll > Call PlayerMsg(index, "You successfully bought out " & Trim(Item(Auction(ViewAuctionNum).ItemNum).Name), BrightGreen) > End If > Else > Call PlayerMsg(index, "Not enough " & Trim(Item(TakeItemNum).Name) & "!", BrightRed) > End If > > > > End Sub > Sub HandleClaimAuction(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) > Dim buffer As clsBuffer, i As Long > Set buffer = New clsBuffer > buffer.WriteBytes Data() > > Dim ViewAuctionNum As Long > Dim ViewAuctionReward As Long > Dim GiveItemNum As Long > > ViewAuctionNum = buffer.ReadLong > 'Exit out if it's not a real auction > If ViewAuctionNum > > 'If it was a successul auction > If Auction(ViewAuctionNum).Status = Auction_Successful Then > > 'If the username is the same as the owner of the auction, let's give them their currency reward > If Trim(GetPlayerName(index)) = Trim(Auction(ViewAuctionNum).Owner) Then > GiveItemNum = Auction(ViewAuctionNum).Currency_ItemNum > ViewAuctionReward = Auction(ViewAuctionNum).Current_Bid > GiveInvItem index, GiveItemNum, ViewAuctionReward, True > Auction(ViewAuctionNum).Amount = 0 > Auction(ViewAuctionNum).ItemNum = 0 > Auction(ViewAuctionNum).Claimed = YES > Auction(ViewAuctionNum).Buyout_Bid = 0 > Auction(ViewAuctionNum).MinuteCounter = 0 > Auction(ViewAuctionNum).Currency_ItemNum = 0 > End If > 'if the username is the same as the highest bidder, we give them the item! > If Trim(GetPlayerName(index)) = Trim(Auction(ViewAuctionNum).Owner) Then > GiveItemNum = Auction(ViewAuctionNum).ItemNum > ViewAuctionReward = 1 > GiveInvItem index, GiveItemNum, ViewAuctionReward, True > Auction(ViewAuctionNum).Amount = 0 > Auction(ViewAuctionNum).ItemNum = 0 > Auction(ViewAuctionNum).Claimed = YES > Auction(ViewAuctionNum).Buyout_Bid = 0 > Auction(ViewAuctionNum).MinuteCounter = 0 > Auction(ViewAuctionNum).Currency_ItemNum = 0 > End If > End If > If Auction(ViewAuctionNum).Status = Auction_Expired Then > 'If the username is the same as the owner of the auction, let's give them their currency reward > If Trim(GetPlayerName(index)) = Trim(Auction(ViewAuctionNum).Owner) Then > GiveItemNum = Auction(ViewAuctionNum).ItemNum > ViewAuctionReward = 1 > GiveInvItem index, GiveItemNum, ViewAuctionReward, True > Auction(ViewAuctionNum).Amount = 0 > Auction(ViewAuctionNum).ItemNum = 0 > Auction(ViewAuctionNum).Claimed = YES > Auction(ViewAuctionNum).Buyout_Bid = 0 > Auction(ViewAuctionNum).MinuteCounter = 0 > Auction(ViewAuctionNum).Currency_ItemNum = 0 > End If > End If > Call SendAuctionsToAll > Set buffer = Nothing > End Sub > >! ``` > Create a brand new module and paste the following code in > >! ``` > 'Max Number of Auctions on going at any one time, this must match client and server! > Public Const MAX_AUCTIONS As Long = 20 > 'How long Auctions Appear in the Auction House for (in minutes) > Public Const MAX_AUCTION_TIME As Long = 120 > 'Auction DataType > Public Type AuctionRec > ItemNum As Long > Amount As Long > Owner As String > Current_Bid As Long > Current_Bid_Owner As String > Buyout_Bid As Long > Currency_ItemNum As Long > MinuteCounter As Long > Status As Byte > Claimed As Byte > End Type > > 'Auction Array > Public Auction(1 To MAX_AUCTIONS) As AuctionRec > 'Used to Determine Auction Status when player comes back to the Auction House to see if anything has sold. > Public Const Auction_Running As Byte = 0 > Public Const Auction_Successful As Byte = 1 > Public Const Auction_Expired As Byte = 2 > Public Sub CheckAuctions() > Dim i As Integer > For i = 1 To MAX_AUCTIONS > 'We only check auctions that are currently running > If Auction(i).Status = Auction_Running Then > > 'Increase the Auction Minute Counter > Auction(i).MinuteCounter = Auction(i).MinuteCounter + 1 > > 'We've hit the end of the timer for this auction, > If Auction(i).MinuteCounter >= MAX_AUCTION_TIME Then > > 'Let's see if we have a winner! > If Auction(i).Current_Bid > 0 And Auction(i).Current_Bid_Owner "" Then > Auction(i).Status = Auction_Successful > Auction(i).Claimed = NO > End If > > 'We didn't have a winner! > If Auction(i).Current_Bid = 0 And Auction(i).Current_Bid_Owner = "" Then > Auction(i).Status = Auction_Expired > Auction(i).Claimed = NO > End If > > End If > > End If > > Next i > Call SendAuctionsToAll > End Sub > Public Sub SendAuctionsToAll() > Dim buffer As clsBuffer > Dim i As Long > Set buffer = New clsBuffer > buffer.WriteLong SSendAuctions > 'Loop through and send each auction > For i = 1 To MAX_AUCTIONS > buffer.WriteLong Auction(i).ItemNum > buffer.WriteLong Auction(i).Amount > buffer.WriteString Auction(i).Owner > buffer.WriteLong Auction(i).Current_Bid > buffer.WriteString Auction(i).Current_Bid_Owner > buffer.WriteLong Auction(i).Buyout_Bid > buffer.WriteLong Auction(i).Currency_ItemNum > buffer.WriteLong Auction(i).MinuteCounter > buffer.WriteByte Auction(i).Status > buffer.WriteByte Auction(i).Claimed > Next i > SendDataToAll buffer.ToArray() > Set buffer = Nothing > End Sub > Public Sub SendAuctionsToIndex(ByVal index As Long) > Dim buffer As clsBuffer > Dim i As Long > Set buffer = New clsBuffer > buffer.WriteLong SSendAuctions > 'Loop through and send each auction > For i = 1 To MAX_AUCTIONS > buffer.WriteLong Auction(i).ItemNum > buffer.WriteLong Auction(i).Amount > buffer.WriteString Auction(i).Owner > buffer.WriteLong Auction(i).Current_Bid > buffer.WriteString Auction(i).Current_Bid_Owner > buffer.WriteLong Auction(i).Buyout_Bid > buffer.WriteLong Auction(i).Currency_ItemNum > buffer.WriteLong Auction(i).MinuteCounter > buffer.WriteLong Auction(i).Status > buffer.WriteLong Auction(i).Claimed > Next i > SendDataTo index, buffer.ToArray() > Set buffer = Nothing > End Sub > Public Sub SaveAuctions() > 'Vars > Dim FileName As String > Dim i As Long > 'The Auction File stored in your server's app.data path > FileName = App.path & "\data\auctions.dat" > 'Loop through each auction and save it in the file > For i = 1 To MAX_AUCTIONS > Call PutVar(FileName, "AUCTION" & i, "ItemNum", STR(Auction(i).ItemNum)) > Call PutVar(FileName, "AUCTION" & i, "Amount", STR(Auction(i).Amount)) > Call PutVar(FileName, "AUCTION" & i, "Owner", Auction(i).Owner) > Call PutVar(FileName, "AUCTION" & i, "Current_Bid", STR(Auction(i).Current_Bid)) > Call PutVar(FileName, "AUCTION" & i, "Current_Bid_Owner", Auction(i).Current_Bid_Owner) > Call PutVar(FileName, "AUCTION" & i, "Buyout_Bid", STR(Auction(i).Buyout_Bid)) > Call PutVar(FileName, "AUCTION" & i, "Currency_ItemNum", STR(Auction(i).Currency_ItemNum)) > Call PutVar(FileName, "AUCTION" & i, "MinuteCounter", STR(Auction(i).MinuteCounter)) > Call PutVar(FileName, "AUCTION" & i, "Status", STR(Auction(i).Status)) > Call PutVar(FileName, "AUCTION" & i, "Claimed", STR(Auction(i).Claimed)) > Next i > Call SendAuctionsToAll > End Sub > Public Sub LoadAuctions() > 'Vars > Dim FileName As String > Dim i As Long > 'The Auction File stored in your server's app.data path > FileName = App.path & "\data\auctions.dat" > 'Loop through each auction and save it in the file > For i = 1 To MAX_AUCTIONS > Auction(i).ItemNum = Val(GetVar(FileName, "AUCTION" & i, "ItemNum")) > Auction(i).Amount = Val(GetVar(FileName, "AUCTION" & i, "Amount")) > Auction(i).Owner = GetVar(FileName, "AUCTION" & i, "Owner") > Auction(i).Current_Bid = Val(GetVar(FileName, "AUCTION" & i, "Current_Bid")) > Auction(i).Current_Bid_Owner = GetVar(FileName, "AUCTION" & i, "Current_Bid_Owner") > Auction(i).Buyout_Bid = Val(GetVar(FileName, "AUCTION" & i, "Buyout_Bid")) > Auction(i).Currency_ItemNum = Val(GetVar(FileName, "AUCTION" & i, "Currency_ItemNum")) > Auction(i).MinuteCounter = Val(GetVar(FileName, "AUCTION" & i, "MinuteCounter")) > Auction(i).Status = Val(GetVar(FileName, "AUCTION" & i, "Status")) > Auction(i).Claimed = Val(GetVar(FileName, "AUCTION" & i, "Claimed")) > Next i > End Sub > >! ``` > > >! > >! > >! **Client Side AND Server Side** > >! In modEnumerations, at the bottom, just ABOVE CMSG_COUNT, add > >! ``` > CSaveAuction > CAuctionBid > CClaimAuction > >! ``` > In modEnumerations, at the bottom, just ABOVE SMSG_COUNT, add > >! ``` > SSendAuctions > >! ``` > > >! **CLIENT SIDE** > >! In modGraphics, Sub DrawGDI, just after where it says If frmMain.picTrade.Visible Then DrawTrade add, > >! ``` > If frmMain.picAuction.Visible Then DrawNewAuctionItem > If frmMain.picAuction.Visible Then DrawNewAuctionCurrencyItem > If frmMain.picAuction.Visible Then DrawViewAuctionItem > >! ``` > In modHandleData, in Sub InitMessages, at the bottom add > >! ``` > HandleDataSub(SSendAuctions) = GetAddress(AddressOf HandleSendAuctions) > >! ``` > At the bottom of modHandleData add the following new Sub, > >! ``` > Private Sub HandleSendAuctions(ByVal Index As Long, ByRef data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) > Dim buffer As clsBuffer > Dim i As Long > > 'Clear the List of Auctions on the Main Page > frmMain.listAuctions.Clear > Set buffer = New clsBuffer > buffer.WriteBytes data() > For i = 1 To MAX_AUCTIONS > Auction(i).ItemNum = buffer.ReadLong > Auction(i).Amount = buffer.ReadLong > Auction(i).Owner = buffer.ReadString > Auction(i).Current_Bid = buffer.ReadLong > Auction(i).Current_Bid_Owner = buffer.ReadString > Auction(i).Buyout_Bid = buffer.ReadLong > Auction(i).Currency_ItemNum = buffer.ReadLong > Auction(i).MinuteCounter = buffer.ReadLong > Auction(i).Status = buffer.ReadByte > Auction(i).Claimed = buffer.ReadByte > 'Add running items to the list > If Auction(i).Status = Auction_Running Then > If Auction(i).ItemNum > 0 Then > frmMain.listAuctions.AddItem Trim(Item(Auction(i).ItemNum).name) & " [Current Bid: " & Auction(i).Current_Bid & " " & Trim(Item(Auction(i).Currency_ItemNum).name) & "] - [Buyout: " & Auction(i).Buyout_Bid & "] " & Trim(Item(Auction(i).Currency_ItemNum).name) > Else > frmMain.listAuctions.AddItem "Available Auction Slot" > End If > End If > 'Add successful items to the list > If Auction(i).Status = Auction_Successful Then > If Auction(i).ItemNum > 0 Then > frmMain.listAuctions.AddItem "Ended Successfully - " & Trim(Item(Auction(i).ItemNum).name) & " [Current Bid: " & Auction(i).Current_Bid & " " & Trim(Item(Auction(i).Currency_ItemNum).name) & "]" > Else > frmMain.listAuctions.AddItem "Available Auction Slot" > End If > End If > 'Add expired items to the list > If Auction(i).Status = Auction_Expired Then > If Auction(i).ItemNum > 0 Then > frmMain.listAuctions.AddItem "Expired - " & Trim(Item(Auction(i).ItemNum).name) & " [Current Bid: " & Auction(i).Current_Bid & " " & Trim(Item(Auction(i).Currency_ItemNum).name) & "]" > Else > frmMain.listAuctions.AddItem "Available Auction Slot" > End If > End If > Next i > End Sub > >! ``` > Create a brand new Module, called modAuctions and paste this code in > >! ``` > Public InventoryCurX As Single > Public InventoryCurY As Single > 'Max Number of Auctions on going at any one time, this must match client and server! > Public Const MAX_AUCTIONS As Long = 20 > 'How long Auctions Appear in the Auction House for (in minutes) > Public Const MAX_AUCTION_TIME As Long = 120 > 'Auction DataType > Public Type AuctionRec > ItemNum As Long > Amount As Long > Owner As String > Current_Bid As Long > Current_Bid_Owner As String > Buyout_Bid As Long > Currency_ItemNum As Long > MinuteCounter As Long > Status As Byte > Claimed As Byte > End Type > 'Used to Store info about a new auction we are creating > Public New_Auction As AuctionRec > 'Auction Array > Public Auction(1 To MAX_AUCTIONS) As AuctionRec > 'Store the ID of the Auction we are viewing > Public ViewAuctionNum As Long > 'Used for Dragging from picInventory > Public Auction_InvNum As Long > 'Used to Determine Auction Status when player comes back to the Auction House to see if anything has sold. > Public Const Auction_Running As Byte = 0 > Public Const Auction_Successful As Byte = 1 > Public Const Auction_Expired As Byte = 2 > 'Save an Auction > Public Sub SaveAuction() > New_Auction.Current_Bid = frmMain.txtStartingAmount.text > New_Auction.Buyout_Bid = frmMain.txtBuyoutAmount.text > New_Auction.Amount = 1 > Dim buffer As clsBuffer > Set buffer = New clsBuffer > buffer.WriteLong CSaveAuction > buffer.WriteLong New_Auction.ItemNum > buffer.WriteLong New_Auction.Amount > buffer.WriteLong New_Auction.Current_Bid > buffer.WriteLong New_Auction.Buyout_Bid > buffer.WriteLong New_Auction.Currency_ItemNum > SendData buffer.ToArray() > Set buffer = Nothing > End Sub > Public Sub ClaimAuction() > Dim buffer As clsBuffer > Set buffer = New clsBuffer > buffer.WriteLong CClaimAuction > buffer.WriteLong ViewAuctionNum > SendData buffer.ToArray > Set buffer = Nothing > End Sub > Public Sub BidAuction() > Dim buffer As clsBuffer > Dim AuctionBid As Long > AuctionBid = Val(frmMain.txtAuctionBid.text) > Set buffer = New clsBuffer > buffer.WriteLong CAuctionBid > buffer.WriteLong ViewAuctionNum > buffer.WriteLong AuctionBid > SendData buffer.ToArray > Set buffer = Nothing > End Sub > Public Sub DrawNewAuctionItem() > Dim rec As RECT, rec_pos As RECT, srcRect As D3DRECT, destRect As D3DRECT > Dim ItemNum As Long, itempic As Long > ItemNum = New_Auction.ItemNum > > If ItemNum > 0 And ItemNum itempic = Item(ItemNum).Pic > > If itempic = 0 Then Exit Sub > > Direct3D_Device.Clear 0, ByVal 0, D3DCLEAR_TARGET, D3DColorRGBA(0, 0, 0, 255), 1#, 0 > Direct3D_Device.BeginScene > > With rec > .Top = 0 > .Bottom = .Top + PIC_Y > .Left = Tex_Item(itempic).Width / 2 > .Right = .Left + PIC_X > End With > With rec_pos > .Top = 2 > .Bottom = .Top + PIC_Y > .Left = 2 > .Right = .Left + PIC_X > End With > RenderTextureByRects Tex_Item(itempic), rec, rec_pos > With frmMain.picNewAuctionItem > .Visible = True > .ZOrder (0) > End With > With srcRect > .x1 = 0 > .x2 = 32 > .y1 = 0 > .y2 = 32 > End With > With destRect > .x1 = 2 > .y1 = 2 > .y2 = .y1 + 32 > .x2 = .x1 + 32 > End With > Direct3D_Device.EndScene > Direct3D_Device.Present srcRect, destRect, frmMain.picNewAuctionItem.hwnd, ByVal (0) > End If > > End Sub > Public Sub DrawNewAuctionCurrencyItem() > Dim rec As RECT, rec_pos As RECT, srcRect As D3DRECT, destRect As D3DRECT > Dim ItemNum As Long, itempic As Long > ItemNum = New_Auction.Currency_ItemNum > > If ItemNum > 0 And ItemNum itempic = New_Auction.Currency_ItemNum > > If itempic = 0 Then Exit Sub > > Direct3D_Device.Clear 0, ByVal 0, D3DCLEAR_TARGET, D3DColorRGBA(0, 0, 0, 255), 1#, 0 > Direct3D_Device.BeginScene > > With rec > .Top = 0 > .Bottom = .Top + PIC_Y > .Left = Tex_Item(itempic).Width / 2 > .Right = .Left + PIC_X > End With > With rec_pos > .Top = 2 > .Bottom = .Top + PIC_Y > .Left = 2 > .Right = .Left + PIC_X > End With > RenderTextureByRects Tex_Item(itempic), rec, rec_pos > With frmMain.picNewAuctionCurrency > .Visible = True > .ZOrder (0) > End With > With srcRect > .x1 = 0 > .x2 = 32 > .y1 = 0 > .y2 = 32 > End With > With destRect > .x1 = 2 > .y1 = 2 > .y2 = .y1 + 32 > .x2 = .x1 + 32 > End With > Direct3D_Device.EndScene > Direct3D_Device.Present srcRect, destRect, frmMain.picNewAuctionCurrency.hwnd, ByVal (0) > End If > > End Sub > Public Sub DrawViewAuctionItem() > Dim rec As RECT, rec_pos As RECT, srcRect As D3DRECT, destRect As D3DRECT > Dim ItemNum As Long, itempic As Long > If Not frmMain.picViewAuction.Visible Then Exit Sub > ItemNum = Auction(ViewAuctionNum).ItemNum > > If ItemNum > 0 And ItemNum itempic = Item(ItemNum).Pic > > If itempic = 0 Then Exit Sub > > Direct3D_Device.Clear 0, ByVal 0, D3DCLEAR_TARGET, D3DColorRGBA(0, 0, 0, 255), 1#, 0 > Direct3D_Device.BeginScene > > With rec > .Top = 0 > .Bottom = .Top + PIC_Y > .Left = Tex_Item(itempic).Width / 2 > .Right = .Left + PIC_X > End With > With rec_pos > .Top = 2 > .Bottom = .Top + PIC_Y > .Left = 2 > .Right = .Left + PIC_X > End With > RenderTextureByRects Tex_Item(itempic), rec, rec_pos > With frmMain.picViewAuctionItem > .Visible = True > .ZOrder (0) > End With > With srcRect > .x1 = 0 > .x2 = 32 > .y1 = 0 > .y2 = 32 > End With > With destRect > .x1 = 2 > .y1 = 2 > .y2 = .y1 + 32 > .x2 = .x1 + 32 > End With > Direct3D_Device.EndScene > Direct3D_Device.Present srcRect, destRect, frmMain.picViewAuctionItem.hwnd, ByVal (0) > End If > > End Sub > >! ``` > > Its a nice system thanks for doing it. How goes the PVP Rank System and One more thing I would like to request. > > Arenas! Like WoW you form only a 2v2 and u can queue for Arenas and such > > Again I dont need these now I'll need them about January maybe March but I'd love to test these to see if its possible.
  17. > @ Render, still working on it, give me about another hour and I'll paste the tutorial here along with a Zipped version of the code. It's built with a clean EO3.0 and not your source, as it's meant to be a tutorial for everyone ;) Nice how about the PvP ranking system. Could you do that?
  18. > Sure I'll tackle the Auction House now, so here's my question. > > By default, EO uses currency as an inventory item. So do you want it so that when a users posts a new auction, they have to select the type of item they want payment in (for Example: you post an item, and you want the payment currency to be "Gold Coins" or something)? Yea that would be cool. Thanks I will be using mostly likely EO 3.0 You can PM me if u have any other questions
  19. Could you make an Auction House that is activated by an NPC and PvP Rank System like the one similar to [Vanilla WoW 1.12.1 here for Reference](http://www.wowwiki.com/Honor_system_(pre-2.0)) with a little Title Editor I do not need these now but I will in about year so you can take your time! Thanks for doing this :D
×
×
  • Create New...