1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
Sub EventProcess2(ByVal index As Long, IDEvent As Long)
Dim i As Long, u As Long, s As Long, packet As String, SaveEvent As Long
If Not IsConnected(index) Then Exit Sub
If IDEvent <= 0 Or IDEvent > 1000 Then Exit Sub
USER(index).EventenCours = IDEvent
USER(index).UserEvent = VAL(GetVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "Event" & USER(index).EventenCours))
USER(index).UserIDAction = VAL(GetVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "EventAction" & USER(index).EventenCours))
If USER(index).UserIDAction <= 0 Then
USER(index).UserIDAction = 1
End If
' ===================================== EVENT DEJA REALISE / ACTION EN COURS ? =====================================
If GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "BOUCLE", "valeur") = 0 Then
If USER(index).UserIDEvent = 1 And USER(index).UserIDAction > 100 Then
Exit Sub
End If
Else
If USER(index).UserIDAction > 100 Then
USER(index).UserIDAction = 1
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "EventAction" & USER(index).EventenCours, 1)
End If
End If
If USER(index).UserIDAction = 1 Then
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "SaveMAP", GetUserMap(index))
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "SaveX", GetUserX(index))
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "SaveY", GetUserY(index))
End If
' ================================================== RATTRAPAGE ? ==================================================
If USER(index).UserIDAction > 1 And USER(index).UserIDAction <> 100 And USER(index).Rattrapage = False Then
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "SaveMAP", GetUserMap(index))
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "SaveX", GetUserX(index))
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "SaveY", GetUserY(index))
Call EventRattrappage(index)
End If
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "eventencours", VAL(USER(index).EventenCours))
If Not IsConnected(index) Then Exit Sub
USER(index).Rattrapage = True
' ======================================= AFFICHER UN MESSAGE ===========================================
If GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction, "Type") = 2 Then
Call SendDataTo(index, "picnpc" & SEP_CHAR & GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction, "Data1") & SEP_CHAR & END_CHAR)
Call QueteMsg2(index, GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction, "String1"))
GoTo FinAction
End If
' ======================================= FIN DE L'ACTION ===========================================
FinAction:
' Indique si une action est encore à réaliser
If USER(index).UserIDAction > 100 Then
Call SendDataTo(index, "attendre2" & SEP_CHAR & VAL(GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION100", "Data9")) & SEP_CHAR & END_CHAR)
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "EventAction" & USER(index).EventenCours, "101")
GoTo fin
End If
'Invite à passer à l'action suivante
USER(index).UserIDAction = USER(index).UserIDAction + 1
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "EventAction" & USER(index).EventenCours, VAL(USER(index).UserIDAction))
GoTo Attendre
' =========================================== ATTENTE PROCHAINE ACTION ? ===========================================
Attendre:
'Active attente prochaine action
If GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction - 1, "Type") <> 1 Or GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction - 1, "Type") <> 6 Or GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction - 1, "Type") <> 7 Then
Call SendDataTo(index, "attendre" & SEP_CHAR & VAL(GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction - 1, "Data9")) & SEP_CHAR & END_CHAR)
End If
'Active attente2 prochaine action
If GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction, "Type") = 0 Then
Call SendDataTo(index, "attendre2" & SEP_CHAR & VAL(GetVar(App.Path & "\Events\events" & USER(index).EventenCours & ".ini", "ACTION" & USER(index).UserIDAction - 1, "Data9")) & SEP_CHAR & END_CHAR)
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "EventAction" & USER(index).EventenCours, "101")
GoTo fin
End If
Exit Sub
' =========================================== FIN EVENT ===========================================
fin:
Call PutVar(App.Path & "\accounts\" & Trim$(USER(index).Login) & ".ini", "CHAR" & USER(index).CharNum, "Event" & USER(index).EventenCours, "1")
USER(index).InEvent = False
USER(index).Rattrapage = False
USER(index).UserIDAction = 101
USER(index).EventenCours = 0
Call PutVar(App.Path & "\accounts\" & Trim$(GetUserLogin(index)) & ".ini", "CHAR" & USER(index).CharNum, "eventencours", 0)
Call SendDataTo(index, "eventoff" & SEP_CHAR & END_CHAR)
Call SendDataTo(index, "closetxtq" & SEP_CHAR & END_CHAR)
End Sub |
Partager