Universo Games
Ola , Convidado



Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no mundo rpg!!!

Sistema de Scripted Item

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tutorial Sistema de Scripted Item

Mensagem por Lucas Roberto em Qui 02 Fev 2017, 14:16

Client Side
Na frmItemEditor, crie uma Frame de caption:
CÓDIGO:
Código:
Scripted Item

e nomeia de:
CÓDIGO:
Código:
fraScript

Dentro desta frame crie uma label, de caption:
CÓDIGO:
Código:
Script Number:

e do lado desta label crie outra label de caption 0, e nomeia-a de:
CÓDIGO:
Código:
lblScript

e em baixo crie um Scroll bar e o nomeie de:
CÓDIGO:

Código:
scrlScript

Dentro do código deste scroll coloque:
CÓDIGO:
Código:
lblScript.Caption = scrlScript.Value

nas propriedades deste scroll, la em max coloque 255
agora de 1 clique no cmbType e la na opção list das suas propriedades adicione o seguinte tipo:
CÓDIGO:
Código:
Scripted Item

Agora em modTypes, procure por:
CÓDIGO:
Código:
' Item constants

e abaixo de:
CÓDIGO:
Código:
Public Const ITEM_TYPE_PET = 14

Coloque:
CÓDIGO:
Código:
Public Const ITEM_TYPE_SCRIPTED = 15

OBS: o numero depois do = tem de ser sequencial aos outros!
Agora em modGameLogic, na sub itemEditorInit, abaixo de:
CÓDIGO:
Código:
    If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_SPELL) Then
        frmItemEditor.fraSpell.Visible = True
        frmItemEditor.scrlSpell.Value = Item(EditorIndex).Data1
    Else
        frmItemEditor.fraSpell.Visible = False
    End If

Adicione:
CÓDIGO:
Código:
    If (frmItemEditor.cmbType.ListIndex >= ITEM_TYPE_SCRIPTED) Then
        frmItemEditor.fraScript.Visible = True
        frmItemEditor.scrlScript.Value = Item(EditorIndex).Data1
        frmItemEditor.lblScript.Caption = Item(EditorIndex).Data1
        
    Else
        frmItemEditor.fraScript.Visible = False
    End If

Ainda em modGameLogic, agora na sub itemEditorOk, abaixo de:
CÓDIGO:
Código:
    If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_PET) Then
        Item(EditorIndex).Data1 = frmItemEditor.scrlPet.Value
        Item(EditorIndex).Data2 = frmItemEditor.scrlPetLevel.Value
        Item(EditorIndex).Data3 = 0
        Item(EditorIndex).StrReq = 0
        Item(EditorIndex).DefReq = 0
        Item(EditorIndex).SpeedReq = 0
        Item(EditorIndex).MagicReq = 0
        Item(EditorIndex).ClassReq = 0
        Item(EditorIndex).AccessReq = 0
        
        Item(EditorIndex).AddHP = 0
        Item(EditorIndex).AddMP = 0
        Item(EditorIndex).AddSP = 0
        Item(EditorIndex).AddStr = 0
        Item(EditorIndex).AddDef = 0
        Item(EditorIndex).AddMagi = 0
        Item(EditorIndex).AddSpeed = 0
        Item(EditorIndex).AddEXP = 0
        Item(EditorIndex).AttackSpeed = 0
    End If

Adicione:
CÓDIGO:
Código:
    If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_SCRIPTED) Then
        Item(EditorIndex).Data1 = frmItemEditor.scrlScript.Value
        Item(EditorIndex).Data2 = 0
        Item(EditorIndex).Data3 = 0
        Item(EditorIndex).StrReq = 0
        Item(EditorIndex).DefReq = 0
        Item(EditorIndex).SpeedReq = 0
        Item(EditorIndex).ClassReq = 0
        Item(EditorIndex).AccessReq = 0
    
        Item(EditorIndex).AddHP = 0
        Item(EditorIndex).AddMP = 0
        Item(EditorIndex).AddSP = 0
        Item(EditorIndex).AddStr = 0
        Item(EditorIndex).AddDef = 0
        Item(EditorIndex).AddMagi = 0
        Item(EditorIndex).AddSpeed = 0
        Item(EditorIndex).AddEXP = 0
        Item(EditorIndex).AttackSpeed = 0
    End If

Agora na frmItemEditor, clique duas vezes no cmbType e no final do código, abaixo de:
CÓDIGO:
Código:
    If (cmbType.ListIndex = ITEM_TYPE_PET) Then
        fraSpell.Visible = False
        fraPet.Visible = True
        fraAttributes.Visible = False
        fraEquipment.Visible = False
        fraBow.Visible = False
    Else
        fraPet.Visible = False
    End If

De um enter e adicione:
CÓDIGO:
Código:
 If (cmbType.ListIndex = ITEM_TYPE_SCRIPTED) Then
      fraScript.Visible = True
      fraAttributes.Visible = False
      fraEquipment.Visible = False
      fraBow.Visible = False
      fraSpell.Visible = False
    Else
      fraScript.Visible = False
    End If

acabamos a parte do client
Server Side
Em modTypes, procure por:
CÓDIGO:
Código:
' Constantes de itens

Abaixo de:
CÓDIGO:
Código:
Public Const ITEM_TYPE_PET = 14

Coloque:
CÓDIGO:
Código:
Public Const ITEM_TYPE_SCRIPTED = 15

Agora em modServerTCP, abaixo de:
CÓDIGO:
Código:
                        ' PRESSA! Desculpe-me pelo código feio!
                        Call TakeItem(Index, GetPlayerInvItemNum(Index, InvNum), 0)
                        Call PlayerMsg(Index, "Você conseguiu um pet!", White)

De um enter e adicione:
CÓDIGO:

Código:
Case ITEM_TYPE_SCRIPTED
                            MyScript.ExecuteStatement "Scripts\Principal.txt", "ScriptedItem " & Index & "," & Item(Player(Index).Char(CharNum).Inv(InvNum).num).Data1

não se esqueça de deixar o End Select em baixo disso ein, não o exclua!
Acabamos a parte do Server, vamos agora para a parte do Principal.txt
Principal.txt
Va no final do seu principal.txt e adicione esta sub:
Código:
Sub ScriptedItem(index, Script) 
Select Case Script 
Case 0
End Select 
End Sub

Creditos:
MKL:Fazer Tutorial

_______________________________________________________________________________________________________


[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Lucas Roberto

Mensagens : 706

http://universogamesmmo.forumeiros.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum