StoneAge/saac/auction.c

99 lines
2.1 KiB
C
Raw Normal View History

2018-08-07 15:51:35 +08:00
#define _AUCTION_C_
#include "version.h"
#ifdef _PAUCTION_MAN
#include "lock.h"
#include "util.h"
#include "main.h"
#include "saacproto_serv.h"
#include "char.h"
#include "auction.h"
//#define PAUCTION_ADD 1
//#define PAUCTION_DEL 2
//#define MAXPAITEMS 20
/*typedef struct _tagItemAuctionData
{
char ItemName[256];
char Data[1024];
int ItemId;
int use;
}ItemAuctionData;
*/
ItemAuctionData IAData[MAXPAITEMS];
void IAData_Init()
{
int i;
for( i=0; i<MAXPAITEMS; i++) {
IAData[i].use = -1;
IAData[i].ItemId = -1;
}
}
BOOL IAData_ITEM( int fd, int ItemID, char *ITEMNAME, char *DATA, int ret, int flg)
{
if( fd != -1 ) {
if( !is_game_server_login(fd) )
return FALSE;
}
switch( flg) {
case PAUCTION_ADD:
//void IAData_ADDITEM( int fd, int ItemID, char *ITEMNAME, char *DATA, int flg)
if( IAData_ADDITEM( fd, ItemID, ITEMNAME, DATA, flg) == FALSE )
return FALSE;
break;
case PAUCTION_DEL:
IAData_DELITEM( fd, ItemID, ITEMNAME, ret, flg);
break;
}
return TRUE;
}
BOOL IAData_ADDITEM( int fd, int ItemID, char *ITEMNAME, char *DATA, int flg)
{
int i;
int num=-1;
for( i=0; i<MAXPAITEMS; i++) {
if( IAData[i].use < 0 ) {
IAData[i].ItemId = ItemID;
IAData[i].use = 1;
memset( IAData[i].ItemName, 0, sizeof( IAData[i].ItemName));
memset( IAData[i].Data , 0, sizeof( IAData[i].Data));
sprintf( IAData[i].ItemName,"%s", ITEMNAME);
sprintf( IAData[i].Data,"%s", DATA);
num = i;
break;
}
}
if( i>= MAXPAITEMS ) return FALSE;
//<2F>ͻظ<CDBB>GS
for(i=0;i<MAXCONNECTION;i++) {
if( is_game_server_login(i) ){
saacproto_ACItemAuction_send( i, IAData[num].ItemName, IAData[num].Data,
IAData[num].ItemId, num, flg);
}
}
return TRUE;
}
BOOL IAData_DELITEM( int fd, int ItemID, char *ITEMNAME, int ret, int flg)
{
int i;
if( IAData[ret].use < 0 )
return FALSE;
if( ret < 0 || ret >= MAXCONNECTION ) return FALSE;
for(i=0;i<MAXCONNECTION;i++) {
if( is_game_server_login(i) ){
saacproto_ACItemAuction_send( i, ITEMNAME, "TEST", IAData[ret].ItemId , ret, flg);
}
}
IAData[ret].use = -1;
IAData[ret].ItemId = -1;
memset( IAData[ret].ItemName, 0, sizeof( IAData[ret].ItemName));
return TRUE;
}
#endif