We von euch auf dem Server das Traden blocken will, kann das nutzen, wer damit was anfangen kann Hefe fun =)
Alles anzeigen
Quellcode
- WORLD SERVER:
- --- README ---
- ITS NOT TESTED ! BUT IT MUST STILL WORK
- (C) CoReX & Sedrika
- NO_MEMBER_TRADE ---> No Users can Trade
- NO_TEAM_TRADE ---> No Helper's GM's or Operator's can trade
- NO_ADMIN_TRADE ---> No Admins can Trade
- --- BUILD LOG ---
- Build: 1 succeeded, 0 failed, 0 skipped
- --- WorldServer.ini ---
- NO_MEMBER_TRADE
- NO_TEAM_TRADE
- NO_ADMIN_TRADE
- --- VersionCommon.h ---
- #define __NO_TRADE
- --- DpSrvr.cpp ---
- void CDPSrvr::OnTrade( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
- {
- OBJID objidTrader;
- ar >> objidTrader;
- CWorld* pWorld;
- CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
- if( IsValidObj( pUser ) && ( pWorld = pUser->GetWorld() ) && pUser->m_vtInfo.GetOther() == NULL )
- {
- CMover* pTrader = prj.GetMover( objidTrader );
- if( IsValidObj( pTrader ) && pTrader->GetWorld() && pTrader->m_vtInfo.GetOther() == NULL )
- {
- if( pTrader->IsPlayer() ) // pc
- {
- #ifdef __NO_TRADE
- if(g_eLocal.GetState(EVE_NO_MEMBER_TRADE))
- {
- if( pUser->m_dwAuthorization == AUTH_GENERAL || pTrader->m_dwAuthorization == AUTH_GENERAL)
- {
- pUser->AddText("Trade wurde abgeschaltet!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_OBSERVER || pTrader->m_dwAuthorization == AUTH_OBSERVER)
- {
- pUser->AddText("Trade wurde abgeschaltet!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_LOGCHATTING || pTrader->m_dwAuthorization == AUTH_LOGCHATTING)
- {
- pUser->AddText("Trade wurde abgeschaltet!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_JOURNALIST || pTrader->m_dwAuthorization == AUTH_JOURNALIST)
- {
- pUser->AddText("Trade wurde abgeschaltet!");
- return;
- }
- }
- if(g_eLocal.GetState(EVE_NO_TEAM_TRADE))
- {
- if( pUser->m_dwAuthorization == AUTH_HELPER || pTrader->m_dwAuthorization == AUTH_HELPER)
- {
- pUser->AddText("Gamemasters or Administrators can't trade!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_GAMEMASTER || pTrader->m_dwAuthorization == AUTH_GAMEMASTER)
- {
- pUser->AddText("Gamemasters or Administrators can't trade!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_GAMEMASTER2 || pTrader->m_dwAuthorization == AUTH_GAMEMASTER2)
- {
- pUser->AddText("Gamemasters or Administrators can't trade!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_GAMEMASTER3 || pTrader->m_dwAuthorization == AUTH_GAMEMASTER3)
- {
- pUser->AddText("Gamemasters or Administrators can't trade!");
- return;
- }
- else if( pUser->m_dwAuthorization == AUTH_OPERATOR || pTrader->m_dwAuthorization == AUTH_OPERATOR)
- {
- pUser->AddText("Gamemasters or Administrators can't trade!");
- return;
- }
- }
- if(g_eLocal.GetState(EVE_NO_ADMIN_TRADE))
- {
- if( pUser->m_dwAuthorization == AUTH_ADMINISTRATOR || pTrader->m_dwAuthorization == AUTH_ADMINISTRATOR )
- {
- pUser->AddText("Administrators can't trade!");
- return;
- }
- }
- #endif
- #if __VER >= 8 // 8Â÷ µà¾ó 061226 ma
- if( 0 < pUser->m_nDuel || 0 < pTrader->m_nDuel )
- {
- return;
- }
- #endif // __VER >= 8 // 8Â÷ µà¾ó 061226 ma
- //°³ÀλóÁ¡ Áß¿¡´Â °Å·¡ ºÒ°¡
- if( pUser->m_vtInfo.VendorIsVendor() || pUser->m_vtInfo.IsVendorOpen() ||
- pTrader->m_vtInfo.VendorIsVendor() || pTrader->m_vtInfo.IsVendorOpen() )
- {
- return; //
- }
- #ifdef __S_SERVER_UNIFY
- if( pUser->m_bAllAction == FALSE || ((CUser*)pTrader)->m_bAllAction == FALSE )
- return;
- #endif // __S_SERVER_UNIFY
- if( pUser->m_bBank || pTrader->m_bBank )
- {
- pUser->AddDefinedText( TID_GAME_TRADELIMITPC, "" );
- return; //
- }
- if( pUser->m_bGuildBank || pTrader->m_bGuildBank )
- {
- pUser->AddDefinedText( TID_GAME_TRADELIMITPC, "" );
- return; //
- }
- pUser->m_vtInfo.SetOther( pTrader );
- pTrader->m_vtInfo.SetOther( pUser );
- pUser->AddTrade( (CUser*)pTrader, pUser->m_idPlayer );
- ( (CUser*)pTrader )->AddTrade( pUser, pUser->m_idPlayer );
- }
- }
- }
- }
- --- WorldServer.cpp ---
- BOOL Script( LPCSTR lpszFileName )
- {
- g_eLocal.SetState( EVE_RESPAWN, 1 );
- CScanner s;
- if( s.Load( lpszFileName ) == FALSE)
- {
- Error("Fail to open file - %s", lpszFileName );
- return FALSE;
- }
- s.GetToken();
- while( s.tok != FINISHED )
- {
- if( s.Token == "ResourceFolder" )
- {
- s.GetToken();
- if( !SetCurrentDirectory( s.Token ) )
- {
- Error( "Folder not found, %s", s.Token );
- return FALSE;
- }
- }
- else if( s.Token == "Key" )
- {
- g_uKey = (DWORD)s.GetNumber();
- #ifdef __S8_SERVER_PORT
- g_uIdofMulti = g_uKey % 100;
- #else // __S8_SERVER_PORT
- g_uIdofMulti = g_uKey / 100;
- #endif // __S8_SERVER_PORT
- }
- else if( s.Token == "Core" )
- {
- s.GetToken();
- strcpy( g_szCoreAddr, s.Token );
- }
- else if( s.Token == "DB" )
- {
- s.GetToken();
- strcpy( g_szDBAddr, s.Token );
- }
- else if( s.Token == "Account" )
- {
- s.GetToken();
- /*
- #ifdef __GIFTBOX0213
- lstrcpy( s_szAccountAddr, s.Token );
- #endif // __GIFTBOX0213
- */
- }
- else if( s.Token == "Heartbeat" )
- {
- s.GetToken();
- strcpy( g_sHeartbeat, s.Token );
- }
- else if( s.Token == "18" )
- {
- g_eLocal.SetState( EVE_18, 1 ); // 18¼¼ ¼*¹ö
- }
- else if( s.Token == "PK" )
- {
- g_eLocal.SetState( EVE_PK, 1 );
- }
- else if( s.Token == "PKCOST" )
- {
- g_eLocal.SetState( EVE_PKCOST, 1 );
- }
- else if( s.Token == "STEAL" )
- {
- g_eLocal.SetState( EVE_STEAL, 1 );
- }
- else if (s.Token == "GUILDBANK")
- {
- g_eLocal.SetState( ENABLE_GUILD_INVENTORY, 1 );
- }
- else if( s.Token == "GUILDWAR" )
- {
- g_eLocal.SetState( EVE_GUILDWAR, 1 );
- }
- else if( s.Token == "DROPITEM_REMOVE" )
- {
- g_eLocal.SetState( EVE_DROPITEMREMOVE, 1 );
- }
- else if( s.Token == "SCHOOL" )
- {
- //g_eLocal.SetState( EVE_SCHOOL, 1 );
- }
- else if( s.Token == "GUILDCOMBAT")
- {
- g_eLocal.SetState( EVE_GUILDCOMBAT, 1 );
- }
- else if( s.Token == "WORMON" )
- {
- g_eLocal.SetState( EVE_WORMON, 1 );
- }
- else if( s.Token == "respawn" )
- {
- g_eLocal.SetState( EVE_RESPAWN, (BYTE)s.GetNumber() );
- }
- #ifdef __S_RECOMMEND_EVE
- else if( s.Token == "RECOMMEND" )
- {
- g_eLocal.SetState( EVE_RECOMMEND, 1 );
- }
- #endif // __S_RECOMMEND_EVE
- #if __VER >= 11 // __GUILD_COMBAT_1TO1
- else if( s.Token == "GUILDCOMBAT1TO1" )
- {
- g_eLocal.SetState( EVE_GUILDCOMBAT1TO1, 1 );
- }
- #endif // __GUILD_COMBAT_1TO1
- #ifdef __JEFF_11_4
- else if( s.Token == "ARENA" )
- {
- g_eLocal.SetState( EVE_ARENA, 1 );
- }
- #endif // __JEFF_11_4
- #if __VER >= 12 // __SECRET_ROOM
- else if( s.Token == "SECRETROOM" )
- {
- g_eLocal.SetState( EVE_SECRETROOM, 1 );
- }
- #endif // __SECRET_ROOM
- #if __VER >= 13 // __RAINBOW_RACE
- else if( s.Token == "RAINBOWRACE" )
- {
- g_eLocal.SetState( EVE_RAINBOWRACE, 1 );
- }
- #endif // __RAINBOW_RACE
- #ifdef __NO_TRADE
- else if ( s.Token == "NO_MEMBER_TRADE")
- {
- g_eLocal.SetState( EVE_NO_MEMBER_TRADE, 1 );
- }
- else if ( s.Token == "NO_TEAM_TRADE")
- {
- g_eLocal.SetState( EVE_NO_TEAM_TRADE, 1 );
- }
- else if ( s.Token == "NO_ADMIN_TRADE")
- {
- g_eLocal.SetState( EVE_NO_ADMIN_TRADE, 1 );
- }
- #endif
- s.GetToken();
- }
- return TRUE;
- }
- --- flyffevent.h ---
- enum
- {
- EVE_0401A, EVE_18, ENABLE_GUILD_INVENTORY,
- EVE_GUILDWAR,
- EVE_SCHOOL, EVE_SCHOOL_BATTLE,
- EVE_NOFLYMONSTER, // ºñÇà ¸ó½ºÅÍ Á¦°Å
- EVE_NODARKON, // ´ÙÄÜ Á¦°Å
- EVE_NOGUILD, // ±æµå Á¦°Å
- EVE_WORMON,
- EVE_RESPAWN,
- EVE_PK,
- EVE_PKCOST,
- EVE_STEAL,
- EVE_EVENT0913,
- EVE_GUILDCOMBAT,
- EVE_DROPITEMREMOVE,
- EVE_EVENT1206,
- EVE_EVENT1219,
- EVE_EVENT0127,
- EVE_EVENT0214,
- #ifdef __S_RECOMMEND_EVE
- EVE_RECOMMEND,
- #endif // __S_RECOMMEND_EVE
- #if __VER >= 11 // __GUILD_COMBAT_1TO1
- EVE_GUILDCOMBAT1TO1,
- #endif // __GUILD_COMBAT_1TO1
- #ifdef __JEFF_11_4
- EVE_ARENA,
- #endif // __JEFF_11_4
- EVE_SECRETROOM, // 12Â÷ ºñ¹ÐÀÇ ¹æ
- EVE_RAINBOWRACE,
- #ifdef __NO_TRADE
- EVE_NO_MEMBER_TRADE,
- EVE_NO_TEAM_TRADE,
- EVE_NO_ADMIN_TRADE,
- #endif
- };