Пример #1
0
// Constructor
CWorldServer::CWorldServer( string fn )
{
    #ifdef STATICID
    //LMA: Client ID Static.
    last_cid=1;
    last_pid=1;
    #endif

    filename = fn;
    LoadConfigurations( (char*)fn.c_str() );
	for(unsigned i=0; i<0xffff; i++)
	{
	    ClientIDList[i] = 1;
	}

    //Clear or Vector list
    PartyList.clear();
    MDropList.clear();
    QuestList.clear();
    FairyList.clear();
    TeleGateList.clear();

    MapMutex = PTHREAD_MUTEX_INITIALIZER; //fast mutex
    SQLMutex = PTHREAD_MUTEX_INITIALIZER;
    PlayerMutex = PTHREAD_MUTEX_INITIALIZER;

    console_started=false;  //LMA: not in console mode.
}
Пример #2
0
// Constructor
CLoginServer::CLoginServer( string fn )
{
    filename = fn;
    LoadConfigurations( (char*)filename.c_str() );
    GServer = this;
    GServer->console_started=false;
}
Пример #3
0
// Constructor
CCharServer::CCharServer( string fn )
{
    LoadConfigurations( (char*)fn.c_str() );
    GServer = this;
    GServer->console_started=false;

    //LMA: chatroom code.
    chatroom_list.clear();
    last_chatroom_id=0;
}
Пример #4
0
// Constructor
CWorldServer::CWorldServer( string fn )
{
    filename = fn;
    LoadConfigurations( (char*)fn.c_str() );
	for(unsigned i=0; i<0xffff; i++)
        ClientIDList[i] = 1;
    //Clear or Vector list
    PartyList.clear();
    MDropList.clear();
    QuestList.clear();
    FairyList.clear();
    TeleGateList.clear();

    MapMutex = PTHREAD_MUTEX_INITIALIZER; //fast mutex
    SQLMutex = PTHREAD_MUTEX_INITIALIZER;
    PlayerMutex = PTHREAD_MUTEX_INITIALIZER;
}
Пример #5
0
// Constructor
CWorldServer::CWorldServer( string fn )
{
    filename = fn;
    LoadConfigurations( (char*)fn.c_str() );       	             
	for(unsigned i=0; i<0xffff; i++) 
        ClientIDList[i] = 1;
    //Clear or Vector list
    PartyList.clear();    
    MDropList.clear();
    SkillList.clear();
    QuestList.clear();
    FairyList.clear();
    TeleGateList.clear();
    // 
    CEquip* nullequip = new CEquip;
    nullequip->id = 0;
    nullequip->equiptype = 0;
    nullequip->type = 0;
    nullequip->price = 0;
    nullequip->pricerate = 0;
    nullequip->weight = 0;
    nullequip->quality = 0;
    nullequip->level = 0;
    nullequip->material = 0;
    nullequip->defense = 0;
    nullequip->magicresistence = 0;
    nullequip->attackdistance = 0;
    nullequip->movespeed = 0;
    nullequip->attackpower = 0;
    nullequip->attackspeed =0;
    nullequip->itemgrade = 0;
    for(int i=0;i<3;i++)
    {
        nullequip->occupation[i] = 0;
        nullequip->condition1[i] = 0;
        nullequip->condition2[i] = 0;
    }
    for(int i=0;i<2;i++)
    {
        nullequip->stat1[i] = 0;
        nullequip->stat2[i] = 0;
    }      
    for(int i=0;i<10;i++)
    {
        EquipList[i].nullequip = nullequip;
        for(UINT j=0;j<5000;j++)
            EquipList[i].Index[j] = nullequip;
    }
    CNaturalData* nullnatural = new CNaturalData; 
    nullnatural->id = 0;
    nullnatural->type = 0;
    nullnatural->price = 0;
    nullnatural->pricerate = 0;
    nullnatural->weight = 0;
    nullnatural->quality = 0;
    nullnatural->pricevalue = 0;
    NaturalList.nullnatural = nullnatural;
    CPatData* nullpat = new CPatData;
    nullpat->id = 0;
    nullpat->type = 0;
    nullpat->price = 0;
    nullpat->pricerate = 0;
    nullpat->weight = 0;
    nullpat->quality = 0;
    nullpat->material = 0;
    nullpat->partversion = 0;
    nullpat->maxfuel = 0;
    nullpat->fuelcons = 0;
    nullpat->speed = 0;
    nullpat->attackdistance = 0;
    nullpat->attackpower = 0;
    nullpat->attackspeed = 0;   
    PatList.nullpat = nullpat;
    CCSellData* nullsell = new CCSellData;
    nullsell->id = 0;
    for(UINT i=0;i<48;i++)
        nullsell->item[i] = 0;
    SellList.nullsell = nullsell ;
    for(UINT i=0;i<1000;i++)
    {
        NaturalList.Index[i] = nullnatural;
        PatList.Index[i] = nullpat;
        SellList.Index[i] = nullsell;                       
    }    
    CMap* nullzone = new CMap( );
    nullzone->id =0;
    nullzone->dayperiod = 1;     
    nullzone->morningtime = 0;
    nullzone->daytime = 0;
    nullzone->eveningtime = 0;
    nullzone->nighttime = 0;
    nullzone->allowpvp = 0;
    nullzone->allowpat = 0;
    nullzone->MapTime = 0;
    nullzone->LastUpdate = 0;
    nullzone->CurrentTime = 0;    
    for(UINT i=0;i<300;i++)
        MapList.Index[i] = nullzone;  
    MapList.nullzone = nullzone;
    CUseData* nulluse = new CUseData;
    nulluse->id = 0;
    nulluse->restriction = 0;
    nulluse->type = 0;
    nulluse->price = 0;
    nulluse->pricerate = 0;
    nulluse->weight = 0;
    nulluse->quality = 0;
    nulluse->pricevalue = 0;          
    for(int i=0;i<2;i++)
    {
        nulluse->usecondition[i] = 0;
        nulluse->useeffect[i] = 0;    
    }
    UseList.nulluse = nulluse;    
    CProductData* nullproduct = new CProductData;
    nullproduct->id = 0;
    for(UINT i=0;i<50;i++)
    {
        nullproduct->item[i];
        nullproduct->amount[i];    
    }
    ProductList.nullproduct = nullproduct;    
    for(UINT i=0;i<2000;i++)    
    {
        UseList.Index[i] = nulluse;     
        ProductList.Index[i] = nullproduct;
    }
    CJemData* nulljem = new CJemData;
    nulljem->id = 0;
    nulljem->type = 0;
    nulljem->price = 0;
    nulljem->pricerate = 0;
    nulljem->weight = 0;
    nulljem->quality = 0;
    nulljem->material = 0;
    for(int i=0;i<2;i++)
    {
        nulljem->stat1[i] = 0;
        nulljem->stat2[i] = 0;    
    }
    JemList.nulljem = nulljem ;
    for(UINT i=0;i<4000;i++)
        JemList.Index[i] = nulljem;
    for(UINT i=0;i<500;i++)
    {
        StatsList[i].stat[0] = 0;
        StatsList[i].stat[1] = 0;        
        StatsList[i].value[0] = 0;
        StatsList[i].value[1] = 0;                
    }
    MapMutex = PTHREAD_MUTEX_INITIALIZER; //fast mutex
    SQLMutex = PTHREAD_MUTEX_INITIALIZER;
    PlayerMutex = PTHREAD_MUTEX_INITIALIZER;
}