83 lines
2.6 KiB
C
83 lines
2.6 KiB
C
![]() |
#ifndef __NPC_SCHEDULEMAN_H__
|
|||
|
#define __NPC_SCHEDULEMAN_H__
|
|||
|
|
|||
|
#define CHARNAME_MAX 32
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD> scheduleman <20><><EFBFBD><EFBFBD>
|
|||
|
#ifdef _FAMILY_MANORNUM_CHANGE
|
|||
|
#define MAX_SCHEDULEMAN 20
|
|||
|
#else
|
|||
|
#define MAX_SCHEDULEMAN 12
|
|||
|
#endif
|
|||
|
|
|||
|
// ÿһ<C3BF><D2BB> scheduleman <20>عܵ<D8B9> schedule <20><><EFBFBD><EFBFBD>
|
|||
|
#define MAX_SCHEDULE 24
|
|||
|
|
|||
|
// schedule <20>б<EFBFBD><D0B1><EFBFBD>һҳ<D2BB><D2B3><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define MAXSCHEDULEINONEWINDOW 10
|
|||
|
|
|||
|
// family <20>б<EFBFBD><D0B1><EFBFBD>һҳ<D2BB><D2B3><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define MAXFAMILYINONEWINDOW 10
|
|||
|
|
|||
|
// ÿһ<C3BF><D2BB> scheduleman <20><>ʹ<EFBFBD>õ<EFBFBD> schedule <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
// <20><>Ӧ<EFBFBD><D3A6> fmpks <20><> ID*MAX_SCHEDULE <20><> (ID=0~MAX_SCHEDULEMAN-1)
|
|||
|
// ID <20><>д<EFBFBD><D0B4> data/npc <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD> "id:" <20><>ֵ
|
|||
|
|
|||
|
// dueltime = (<28><><EFBFBD><EFBFBD>?10000:0) + (Сʱ*100)
|
|||
|
|
|||
|
typedef struct tagFamilyPKSchedule {
|
|||
|
int dueltime; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
int host_index; // <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD>
|
|||
|
char host_name[CHARNAME_MAX]; // <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int guest_index; // <20>ͶӼ<CDB6><D3BC><EFBFBD>
|
|||
|
char guest_name[CHARNAME_MAX]; // <20>ͶӼ<CDB6><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int prepare_time; // <><D7BC>ʱ<EFBFBD><CAB1> (1~40 <20><><EFBFBD><EFBFBD>)
|
|||
|
int max_player; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
int flag; // ״̬
|
|||
|
int win; // ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>趨
|
|||
|
int challenge_timeout; // <20><>սʱ<D5BD><CAB1>
|
|||
|
int setting_timeout; // <20>趨״̬<D7B4><CCAC> timeout
|
|||
|
char gmsv_name[256];
|
|||
|
} FamilyPKSchedule;
|
|||
|
|
|||
|
// <20><>¼<EFBFBD><C2BC> FamilyPKSchedule (fmpks) <20><> flag ֵ
|
|||
|
#define FMPKS_FLAG_NONE -1 // û<><C3BB><EFBFBD>κ<EFBFBD><CEBA>ų<EFBFBD>
|
|||
|
#define FMPKS_FLAG_CHALLENGE 0 // <20>ȴ<EFBFBD><C8B4>Ͷ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_SETTING 1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>趨<EFBFBD>ų<EFBFBD> (ȡ<><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> NONE)
|
|||
|
#define FMPKS_FLAG_CONFIRMING 2 // <20>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_SCHEDULED 3 // <20>Ѿ<EFBFBD><D1BE>ź<EFBFBD><C5BA>ų̣<C5B3><CCA3><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_DUEL 4 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_HOSTWIN 5 // <20><><EFBFBD><EFBFBD>ʤ
|
|||
|
#define FMPKS_FLAG_GUESTWIN 6 // <20>Ͷ<EFBFBD>ʤ
|
|||
|
#define FMPKS_FLAG_MANOR_BATTLEBEGIN 7 // ׯ<D7AF><D4B0>ս ս<><D5BD><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_MANOR_PREPARE 8 // ׯ<D7AF><D4B0>ս <><D7BC><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_MANOR_PEACE 9 // ׯ<D7AF><D4B0>ս <20><>ս<EFBFBD><D5BD>
|
|||
|
#define FMPKS_FLAG_MANOR_OTHERPLANET 10 // ׯ<D7AF><D4B0>ս <20>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ս
|
|||
|
#define FMPKS_FLAG_MANOR_BATTLEEND 11 // ׯ<D7AF><D4B0>ս ս<><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define FMPKS_FLAG_MANOR_PEACE_SAVE 12 // <20><>ׯ<D7AF><D4B0>ս<EFBFBD>浵
|
|||
|
#define FMPKS_FLAG_MANOR_READYTOFIGHT 13 // (GM: manorpk) ȫ<><C8AB>ϵ<EFBFBD><CFB5><EFBFBD>ɿ<EFBFBD>Լս״̬
|
|||
|
#define FMPKS_FLAG_MANOR_CLEANFLAG 14 // (GM: manorpk) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
#ifdef _NEW_MANOR_LAW
|
|||
|
#define FMPKS_FLAG_WAIT 15 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>,<2C>Ѽ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>ȴ<EFBFBD><C8B4><EFBFBD>ս<EFBFBD>ų<EFBFBD>
|
|||
|
#endif
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD> client <20><> flag
|
|||
|
#define FLAG_NONE -1
|
|||
|
#define FLAG_MODIFY 0
|
|||
|
#define FLAG_ACCEPT 1
|
|||
|
#define FLAG_SETTING 2
|
|||
|
#define FLAG_CONFIRM 3
|
|||
|
#define FLAG_SCHEDULED 4
|
|||
|
|
|||
|
extern FamilyPKSchedule fmpks[MAX_SCHEDULE*MAX_SCHEDULEMAN];
|
|||
|
|
|||
|
BOOL NPC_SchedulemanInit(int meindex);
|
|||
|
void NPC_SchedulemanTalked(int meindex, int talkerindex, char *msg, int color);
|
|||
|
void NPC_SchedulemanWindowTalked(int meindex, int talkerindex,
|
|||
|
int seqno, int select, char *data);
|
|||
|
void NPC_SchedulemanLoop(int meindex);
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
/*__NPC_SCHEDULEMAN_H__*/
|