Lucas Roberto Administrador
Mensagens : 711
| Assunto: [EO]Craft,Blacksmith,Alquemia Sex 10 Dez 2010, 21:14 | |
| ~Descrição~•É um sistema para o Eclipse Origins com cuja função de Craft exemplo Espada + Diamante = Espada Divina Vamos ao que importa Uu No Server Side No modTypes procure por Private Type ItemRec e add no fundo dela antes do End Type - Spoiler:
Tool As Long ToolReq As Long
Depois va em ModConstant procure por Public Const ITEM_TYPE_SPELL As Byte = 13 e logo embaixo coloque - Spoiler:
Public Const ITEM_TYPE_RECIPE As Byte = 14
Logo em seguida va em modHandleData e procure por sub HandleUseItem e embaixo de : Set Buffer = Nothing Adicione: - Spoiler:
Dim Item1 As Long Dim Item2 As Long Dim Result As Long
e antes de End Select adicione - Spoiler:
Case ITEM_TYPE_RECIPE ' Get the recipe information Item1 = Item(GetPlayerInvItemNum(Index, InvNum)).Data1 Item2 = Item(GetPlayerInvItemNum(Index, InvNum)).Data2 Result = Item(GetPlayerInvItemNum(Index, InvNum)).Data3
' Perform Recipe checks If Item1 <= 0 Then Call PlayerMsg(Index, "Esta incompleto o recipe...", White) Exit Sub End If
If Item2 <= 0 Then Call PlayerMsg(Index, "Esta incompleto o recipe...", White) Exit Sub End If
If Result <= 0 Then Call PlayerMsg(Index, "Esta incompleto o recipe...", White) Exit Sub End If
If GetPlayerEquipment(Index, Weapon) <= 0 Then Call PlayerMsg(Index, "Não pode usar item que esta Equipado!", White) Exit Sub End If
If Item(GetPlayerEquipment(Index, Weapon)).Tool = Item(GetPlayerInvItemNum(Index, InvNum)).ToolReq Then ' Give the resulting item If HasItem(Index, Item1) Then If HasItem(Index, Item2) Then Call TakeInvItem(Index, Item1, 1) Call TakeInvItem(Index, Item2, 1) Call GiveInvItem(Index, Result, 1) Call TakeInvItem(Index, GetPlayerInvItemNum(Index, InvNum), 0) Call PlayerMsg(Index, "Teve sucesso em criar o item " & Trim(Item(Result).Name) & ".", White) Else Call PlayerMsg(Index, "Falta Itens para o Crafts.", White) Exit Sub End If Else Call PlayerMsg(Index, "Falta Itens para o Craft.", White) Exit Sub End If Else Call PlayerMsg(Index, "Você não tem o recipe.", White) Exit Sub End If
Fim Server Side No Client Side va em modTypes e procure por Private Type ItemRec e antes de End Type Adicione - Spoiler:
Tool As Long ToolReq As Long
Agora va em modConstants procure por Public Const ITEM_TYPE_SPELL As Byte = 13 e embaixo coloque - Spoiler:
Public Const ITEM_TYPE_RECIPE As Byte = 14
Logo em seguida va em modGameEditors procure por - Spoiler:
If (frmEditor_Item.cmbType.ListIndex = ITEM_TYPE_SPELL) Then frmEditor_Item.fraSpell.Visible = True frmEditor_Item.scrlSpell.Value = .Data1 Else frmEditor_Item.fraSpell.Visible = False End If
e embaixo adicione: - Spoiler:
If (frmEditor_Item.cmbType.ListIndex = ITEM_TYPE_RECIPE) Then frmEditor_Item.fraRecipe.Visible = True frmEditor_Item.scrlItem1.Value = .Data1 frmEditor_Item.scrlItem2.Value = .Data2 frmEditor_Item.scrlResult.Value = .Data3 frmEditor_Item.cmbCToolReq.ListIndex = .ToolReq Else frmEditor_Item.fraRecipe.Visible = False End If
Agora va em modGameLogic e procure por UpdateDescWindow e em baixo de Dim Name As String adicione - Spoiler:
Dim Item1 As Long Dim Item2 As Long [/spoile]
e ainda dentro da sub procure por
' Currency
e adicione em cima
[spoiler] If Item(itemnum).Type = ITEM_TYPE_WEAPON Then .lblItemDescStats.Caption = "Damage: " & Item(itemnum).Data2 Select Case Item(itemnum).Tool Case 0 .lblItemDescType = "None." Case 1 .lblItemDescType = "Crafting Tool" Case 2 .lblItemDescType = "Alchemy Tool" End Select End If
If Item(itemnum).Type = ITEM_TYPE_RECIPE Then .lblItemDescStats.Caption = "A " & Trim$(Item(Item1).Name) & " and " & Trim$(Item(Item2).Name) Select Case Item(itemnum).ToolReq Case 0 .lblItemDescType = "No tool required." Case 1 .lblItemDescType = "Crafting Tool" Case 2 .lblItemDescType = "Alchemy Tool" End Select End If
Client Finalizado apenas abaixe as duas ferramentas nescessarias abaixo: Creditos~ MMORPGBR FrmEditor_Item.frm FrmEditor_Item.frx | |
|