Lucas Roberto Administrador
Mensagens : 711
| Assunto: [ALL]Memorize Spell Sex 03 Jun 2011, 14:35 | |
| Memorize Spell
aew galera tudo que eu fiz nesse sistema foi add um complemento para salvar as spells memorizadas na pasta cliente, alguns ja devem ter percebido ao memorizar a spell no antigo sistema, ela ficava memorizada somente enquanto o player estava online, agora ela continua memorizada mesmo que o player saia do jogo, fazendo com que seja salvo todos os possiveis éfis(F) dentro da pasta cliente xD abaixo segue o tutorial do Heavy Metal para quem não tem o sistema de memorizar spell ainda basta seguir as cordenadas abaixo, quando for para implementar o sistema que desenvolvi eu avisarei Na frmMirage, procure por: - Código:
-
Option Explicit Abaixo adicione: - Código:
-
Dim SpellMemorized As Long Dim SpellMemorized2 As Long Dim SpellMemorized3 As Long Procure por: - Código:
-
If KeyCode = vbKeyF1 Then Mude para: - Código:
-
If KeyCode = vbKeyF6 Then Procure por: - Código:
-
If KeyCode = vbKeyF2 Then Mude para: - Código:
-
If KeyCode = vbKeyF7 Then Procure por: - Código:
-
If KeyCode = vbKeyF3 Then Mude para: - Código:
-
If KeyCode = vbKeyF8 Then Com isso acima mudamos o Painel de admin para F6, Pot de HP para F7 e Pot de MP para F8Procure por: - Código:
-
If KeyCode = vbKeyF12 Then ScreenShot.Picture = CaptureArea(frmMirage, picScreen.Left, picScreen.Top, picScreen.Width, picScreen.Height)
Do If FileExists("Screenshot_" & ScreenID & ".bmp") Then ScreenID = ScreenID 1 Else Call SavePicture(ScreenShot.Picture, App.Path & "\Screenshot_" & ScreenID & ".bmp") Exit Do End If Loop End If Abaixo adicione: - Código:
-
If KeyCode = vbKeyF1 Then If SpellMemorized > 0 Then If GetTickCount > Player(MyIndex).AttackTimer 1000 Then If Player(MyIndex).Moving = 0 Then Call SendData("cast" & SEP_CHAR & SpellMemorized & SEP_CHAR & END_CHAR) Player(MyIndex).Attacking = 1 Player(MyIndex).AttackTimer = GetTickCount Player(MyIndex).CastedSpell = YES Else Call AddText("Você não pode soltar magia enquanto anda!", BRIGHTRED) End If End If Else Call AddText("Não há magia memorizada.", BRIGHTRED) End If Else Call CheckInput(0, KeyCode, Shift) End If If KeyCode = vbKeyF2 Then If SpellMemorized > 0 Then If GetTickCount > Player(MyIndex).AttackTimer 1000 Then If Player(MyIndex).Moving = 0 Then Call SendData("cast" & SEP_CHAR & SpellMemorized2 & SEP_CHAR & END_CHAR) Player(MyIndex).Attacking = 1 Player(MyIndex).AttackTimer = GetTickCount Player(MyIndex).CastedSpell = YES Else Call AddText("Você não pode soltar magia enquanto anda!", BRIGHTRED) End If End If Else Call AddText("Não há magia memorizada.", BRIGHTRED) End If Else Call CheckInput(0, KeyCode, Shift) End If If KeyCode = vbKeyF3 Then If SpellMemorized > 0 Then If GetTickCount > Player(MyIndex).AttackTimer 1000 Then If Player(MyIndex).Moving = 0 Then Call SendData("cast" & SEP_CHAR & SpellMemorized3 & SEP_CHAR & END_CHAR) Player(MyIndex).Attacking = 1 Player(MyIndex).AttackTimer = GetTickCount Player(MyIndex).CastedSpell = YES Else Call AddText("Você não pode soltar magia enquanto anda!", BRIGHTRED) End If End If Else Call AddText("Não há magia memorizada.", BRIGHTRED) End If Else Call CheckInput(0, KeyCode, Shift) End If Agora abra a frmMirage em forma de frm, puxe as "abinhas" de inventário, stats e etc até aparecer a "abinha" de spells, cria uma label e coloque a caption de sua preferencia, de 2 clicks na label e adicione: - Código:
-
Call SendData("spells" & SEP_CHAR & END_CHAR) picSpells2.Visible = True Agora em qualquer lugar da frmMirage cria uma picture com o nome de picSpells2, nas propriedades mude Visible, de True para False. Na picSpells2 crie 3 labels e 3 comboBox para ficar dessa maneira: [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]OBS.:Não liguem pro kidou, meu projeto é de bleach ;D Coloque na caption das labels e das comboBox oque quiser, no nome das comboBox coloque: cmbSpells , cmbSpells2 e cmbSpells3. Na picSpells2 criei 2 commandButton, no 1º coloco o nome de cmdSalvar e a caption Salvar, de 2 clicks nele e adicione: - Código:
-
Private Sub cmdSalvar_Click() If Player(MyIndex).Spell(cmbSpells.ListIndex 1) > 0 Then SpellMemorized = cmbSpells.ListIndex 1 Else Call AddText("Se você não pós nenhuma Magia aqui o sistema memoriza sua primeira magia no F1.", BRIGHTRED) End If If Player(MyIndex).Spell(cmbSpells2.ListIndex 1) > 0 Then SpellMemorized2 = cmbSpells2.ListIndex 1 Else Call AddText("Se você não pós nenhuma Magia aqui o sistema memoriza sua primeira magia no F2.", BRIGHTRED) End If If Player(MyIndex).Spell(cmbSpells3.ListIndex 1) > 0 Then SpellMemorized3 = cmbSpells3.ListIndex 1 Else Call AddText("Se você não pós nenhuma Magia aqui o sistema memoriza sua primeira magia no F3.", BRIGHTRED) End If
picSpells2.Visible = False No 2º commandButton coloque o nome de cmdCancels e a caption Cancel, de 2 clicks e adicione: - Código:
-
picSpells2.Visible = False Agora no modHandleData procure por: - Código:
-
' ::::::::::::::::::: ' :: Spells packet :: ' ::::::::::::::::::: Substitua todo Spells packet por: - Código:
-
' ::::::::::::::::::: ' :: Spells packet :: ' ::::::::::::::::::: If (casestring = "spells") Then frmMirage.picPlayerSpells.Visible = True frmMirage.lstSpells.Clear ' Put spells known in player record For I = 1 To MAX_PLAYER_SPELLS Player(MyIndex).Spell(I) = Val#(parse$(I)) If Player(MyIndex).Spell(I) <> 0 Then frmMirage.lstSpells.addItem I & ": " & Trim$(Spell(Player(MyIndex).Spell(I)).Name) frmMirage.cmbSpells.addItem I & ": " & Trim$(Spell(Player(MyIndex).Spell(I)).Name) frmMirage.cmbSpells2.addItem I & ": " & Trim$(Spell(Player(MyIndex).Spell(I)).Name) frmMirage.cmbSpells3.addItem I & ": " & Trim$(Spell(Player(MyIndex).Spell(I)).Name) Else frmMirage.lstSpells.addItem "--- Slot Free ---" frmMirage.cmbSpells.addItem "--- Slot Free ---" frmMirage.cmbSpells2.addItem "--- Slot Free ---" frmMirage.cmbSpells3.addItem "--- Slot Free ---" End If Next I frmMirage.lstSpells.ListIndex = 0 frmMirage.cmbSpells.ListIndex = 0 frmMirage.cmbSpells2.ListIndex = 0 frmMirage.cmbSpells3.ListIndex = 0 End If E pronto -Obs.: -Agora o Painel de GMs aparece quando o F6 é pressionado. -A Pot de HP é usada com F7 e a de MP com F8 -Se quiser adicionar mais comboBox, tem que prestar atenção, pois quase todas as keys de F1 á F12 já estão sendo usadas
- Citação :
Sistema do P- agora
vamos começar, baixe o arquivo .dat que hospedei, que esta no link abaixo agora vamo explicar descompacte o arquivo .dat para a pasta do seu cliente, abra o arquivo com o bloco de notas, e verifique se os dados do arquivo estão de acordo com as spells memorizadas o conteudo do mesmo é identico ao codigo abaixo - Código:
-
[CONFIG] SpellM1=1 SpellM2=1 SpellM3=1 se você tiver mais de uma spell memorizada basta seguir o exemplo citado acima e ir add. SpellM#=1 - Citação :
- ex.:
SpellM4=1 SpellM5=1 SpellM6=1 SpellM7=1... Abra o cliente pelo vb, e ja na frmStable ou frmMirage, crie um timer com o nome: tmrGameConstante. Peço esse nome pois trabalharemos muito com esse timer em outros sistemas meus ... deixe o timer com enable = true e um intervalo de 50 milesimos add o seguinte código dentro do timer - Código:
-
':::::::::::::::::::::::::: '::::::::Spell Memo:::::::: '::::::::::::::::::::::::::
SpellMemorized = ReadINI("CONFIG", "SpellM1", App.Path & "\SpellMemorized.dat") SpellMemorized2 = ReadINI("CONFIG", "SpellM2", App.Path & "\SpellMemorized.dat") SpellMemorized3 = ReadINI("CONFIG", "SpellM3", App.Path & "\SpellMemorized.dat") 'segue aki mais o mesmo esquema de cima caso haja mais de 3 spellmemorized :) agora peço que volte ao cmdSalvar do picSpells2 e substitua todo o conteudo da sub por este - Código:
-
If Player(MyIndex).Spell(cmbSpells.ListIndex 1) > 0 Then SpellMemorized = cmbSpells.ListIndex 1 Call WriteINI("CONFIG", "SpellM1", cmbSpells.ListIndex 1, App.Path & "\SpellMemorized.dat") Else Call AddText("Se você não pos nenhuma Magia aqui o sistema memoriza sua primeira magia no F1.", BRIGHTRED) End If If Player(MyIndex).Spell(cmbSpells2.ListIndex 1) > 0 Then SpellMemorized2 = cmbSpells2.ListIndex 1 Call WriteINI("CONFIG", "SpellM2", cmbSpells2.ListIndex 1, App.Path & "\SpellMemorized.dat") Else Call AddText("Se você não pos nenhuma Magia aqui o sistema memoriza sua primeira magia no F2.", BRIGHTRED) End If If Player(MyIndex).Spell(cmbSpells3.ListIndex 1) > 0 Then SpellMemorized3 = cmbSpells3.ListIndex 1 Call WriteINI("CONFIG", "SpellM3", cmbSpells3.ListIndex 1, App.Path & "\SpellMemorized.dat") Else Call AddText("Se você não pos nenhuma Magia aqui o sistema memoriza sua primeira magia no F3.", BRIGHTRED) End If
'se ouver de 3 spellsmemorized siga o exemplo de cima :) Creditos: Sr. P- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem][By: P-] | |
|