Server Tanıtımı | ServerTanitim.NET  

Go Back   Server Tanıtımı | ServerTanitim.NET > KNİGHT ONLİNE 12XX, 18XX, 19XX, 20X+ GELİŞTİRME & PAYLAŞIM > Prosedür & Query Kod Paylaşımları

Prosedür & Query Kod Paylaşımları Database üzerinde çalıştırılabilecek prosedür/kodları paylaşabileceğiniz bölüm

Online Oyun Platforumu

reklam sek araçları reklam reklam reklam seo araçları

Cevap Yaz
 
LinkBack Seçenekler
Alt 29 Nisan 2017   #1
Admin
Avatar Yok
 
Üyelik tarihi: 29 Nisan 2014
Üye No: 2
Bulunduğu yer: Türkiye / Malatya
Mesajlar: 190
REP Puanı : 200
@BaybarsAGA
BaybarsAGA isimli Üyeye Skype üzeri Mesaj gönder
Standart v20xx GM Komutları

user.h

Kod:
BOOL m_sTargetableGM;
Kod:
void SpecialGMCommands(char *chatstror,int chatlen);
int OpenConnectToUser(CString CGetNick);
Kod:
void CUser::SpecialGMCommands(char *chatstror,int chatlen)
{
    char chatstr[256]; memset(chatstr,0x00,256);
    char nickstr[256]; memset(nickstr,0x00,256);
    char killstr[256]; memset(killstr,0x00,256);
    sprintf(chatstr,"%s",chatstror); //for bad commands..
    char buff[256]; memset(buff,0x00,256);
    int buffindex = 0;
    CUser* pUser = NULL;

    if (m_pUserData->m_bAuthority != 0) return;
    int CZoneNo = 0,send_index = 0,CItemCo = 0,CItemNo= 0;
    CString CGetZone,CGetItem,CGetCount,CGetWeather;
    BYTE CommandType = 0x00;
    char send_buff[512]; memset(send_buff,0x00,512);
    if( !_strnicmp( "+zonechange", chatstr, 11 ))    //sorunsuz
    CommandType = 1;
    if( !_strnicmp( "+horse", chatstr, 6 ))            //sorunsuz
    CommandType = 2;
    if( !_strnicmp( "+giveitem", chatstr, 9 ))        //sorunsuz
    CommandType = 3;
    if( !_strnicmp( "+weather", chatstr, 8 ))        //sorunsuz
    CommandType = 4;
    if( !_strnicmp( "+help", chatstr, 5 ))            //sorunsuz
    CommandType = 5;
    if( !_strnicmp( "+targetoff", chatstr, 10 ))    //sorunsuz
    CommandType = 6;
    if( !_strnicmp( "+targeton", chatstr, 9 ))        //sorunsuz
    CommandType = 7;
    if( !_strnicmp( "+monsummon", chatstr, 10 ))    //ekli değil
    CommandType = 8;
    if( !_strnicmp( "+summonuser", chatstr, 11 ))    //sorunsuz
    CommandType = 9;
    if( !_strnicmp( "+tp_all", chatstr, 7 ))        //bozuk
    CommandType = 10;
    if( !_strnicmp( "+tp_user", chatstr, 8 ))        //sorunsuz
    CommandType = 11;
    if( !_strnicmp( "+forbidconnect", chatstr, 14 ))//sorunsuz
    CommandType = 12;
    if( !_strnicmp( "+openconnect", chatstr, 12 ))    //sorunsuz
    CommandType = 13;
    if( !_strnicmp( "+monsummonall", chatstr, 13 ))    //ekli değil
    CommandType = 14;
    if( !_strnicmp( "+view", chatstr, 5 ))            //ekli değil
    CommandType = 15;
    if( !_strnicmp( "+unview", chatstr, 7 ))        //ekli değil
    CommandType = 16;
    if( !_strnicmp( "+kill", chatstr, 5 ))            //sorunsuz
    CommandType = 17;
    if( !_strnicmp( "+captain", chatstr, 8 ))        //sorunsuz
    CommandType = 18;
    if( !_strnicmp( "+open", chatstr, 5 ))            //sorunsuz
    CommandType = 19;
    if( !_strnicmp( "+snowopen", chatstr, 9 ))        //ekli değil
    CommandType = 20;
    if( !_strnicmp( "+open2", chatstr, 6 ))            //ekli değil
    CommandType = 21;
    if( !_strnicmp( "+open3", chatstr, 6 ))            //ekli değil
    CommandType = 22;
    if( !_strnicmp( "+open4", chatstr, 6 ))            //ekli değil
    CommandType = 23;
    if( !_strnicmp( "+open5", chatstr, 6 ))            //ekli değil
    CommandType = 24;
    if( !_strnicmp( "+close", chatstr, 6 ))            //ekli değil
    CommandType = 25;


    if (!CommandType) return;
    
    switch(CommandType)
    {
    case 1: //ZONE CHANGE
    CGetZone = chatstr;
    CZoneNo = atoi(CGetZone.Mid(12,6));
    ZoneChange(CZoneNo,m_pUserData->m_curx, m_pUserData->m_curz);
    break;
    
    case 2: //COMMANDER
    if (m_pUserData->m_bFame == COMMAND_CAPTAIN)
    m_pUserData->m_bFame = CHIEF;
    else
    m_pUserData->m_bFame = COMMAND_CAPTAIN;
    send_index = 0;
    SetByte( send_buff, WIZ_AUTHORITY_CHANGE, send_index );
    SetByte( send_buff, COMMAND_AUTHORITY, send_index );
    SetShort( send_buff, GetSocketID(), send_index );
    SetByte( send_buff, m_pUserData->m_bFame, send_index );
    m_pMain->Send_Region( send_buff, send_index, m_pUserData->m_bZone, m_RegionX, m_RegionZ );        
    break;

    case 3: //GIVE ITEM            
    CGetItem = chatstr; 
    CGetCount = chatstr;
    CItemNo = atoi( CGetItem.Mid(10) );
    CItemCo = atoi( CGetCount.Mid(20) );
    if(!GiveItem(CItemNo , CItemCo))
    return;
    break;

    case 4: //HAVE DEĞİŞTİR
    CGetWeather = chatstr;
    
    m_pMain->m_nAmount = 1;
    m_pMain->m_nWeather = atoi(CGetWeather.Mid(9,1));

    if (m_pMain->m_nWeather < 1 || m_pMain->m_nWeather > 4) 
        m_pMain->m_nWeather = myrand(1,4); //bilinmeyen, rastgele bişi yapak

    SetByte( send_buff, WIZ_WEATHER, send_index );
    SetByte( send_buff, (BYTE)m_pMain->m_nWeather, send_index );
    SetShort( send_buff, m_pMain->m_nAmount, send_index );
    m_pMain->Send_All( send_buff, send_index );
    break;

    case 5: //HELP!
    {
    CString asd = ".\\help.txt";
    CString buff;
    CStdioFile txt_file;

    if (!txt_file.Open(asd, CFile::modeRead)) {
        AfxMessageBox("cannot open help.txt!!");
        return;
    }

    while( txt_file.ReadString(buff) ) {

    memset(send_buff,0x00,256); send_index = 0;
    SetByte( send_buff, WIZ_CHAT, send_index );
    SetByte( send_buff, 14, send_index );
    SetByte( send_buff, m_pUserData->m_bNation, send_index );
    SetShort( send_buff, m_Sid, send_index );
       SetByte(send_buff,0,send_index);
    SetShort(send_buff,strlen((char*)(LPCTSTR)buff),send_index);
    SetString(send_buff,(char*)(LPCTSTR)buff,strlen((char*)(LPCTSTR)buff),send_index);
    Send(send_buff,send_index);
    }

    txt_file.Close();
    }
    break;

    case 6:    //Targetable GM OFF
    m_sTargetableGM = FALSE;
    UserInOut(USER_OUT);
    UserInOut(USER_IN);
    break;

    case 7: //Targetable GM ON
    m_sTargetableGM = TRUE;
    UserInOut(USER_OUT);
    UserInOut(USER_IN);
    break;

    case 8: //Monster spawn
    {    
    }
    break;

    case 9: //Summon to user
    {
    strcpy( nickstr, chatstr+12);
    pUser = m_pMain->GetUserPtr( nickstr, 0x02 );
    if(!pUser) return;
    pUser->ZoneChange( m_pUserData->m_bZone,m_pUserData->m_curx, m_pUserData->m_curz);
    }
    break;

    case 10: //Teleport x zone in the users to moradon
    {
    CGetZone = chatstr;
    CZoneNo = atoi(CGetZone.Mid(12,6));
    if( CZoneNo < 0 || CZoneNo >= m_pMain->m_ZoneArray.size() ) return;
    C3DMap* pMap = m_pMain->m_ZoneArray[CZoneNo];
    if( !pMap ) return;
    for(int i=0; i<MAX_USER; i++ ) {
    pUser = (CUser*)m_pMain->m_Iocport.m_SockArray;
    if( pUser && pUser->GetState() == STATE_GAMESTART )
    if (pUser->m_pUserData->m_bZone == CZoneNo){
    pUser->ZoneChange( 21, pUser->m_pUserData->m_curx, pUser->m_pUserData->m_curz );}}
    }
    break;

    case 11: //Teleport to user
    {
    strcpy( nickstr, chatstr+9);
    pUser = m_pMain->GetUserPtr( nickstr, 0x02 );
    if(!pUser) return;
    ZoneChange( pUser->m_pUserData->m_bZone,pUser->m_pUserData->m_curx, pUser->m_pUserData->m_curz);
    }
    break;

    case 12: //ban to user
    {
    strcpy( nickstr, chatstr+13);
    pUser = m_pMain->GetUserPtr( nickstr, 0x02 );
    if(!pUser) return;
    pUser->m_pUserData->m_bAuthority = 255;
    pUser->CloseProcess();
    }
    break;

    case 13: //Open ban to user
    {
    strcpy( nickstr, chatstr+13);
    OpenConnectToUser(nickstr);
    }
    break;

    case 14: //Spawn too much monster
    {/*
    for(int i=0; i<MAX_MONSTER_NUM; i++ ) {
    CGetZone = chatstr;
    CZoneNo = atoi(CGetZone.Mid(14));
    SetByte(buff,0x90,buffindex);
    SetShort(buff,m_pUserData->m_bZone,buffindex);
    SetShort(buff,m_pUserData->m_curx+i,buffindex);
    SetShort(buff,m_pUserData->m_curz+i,buffindex);
    SetShort(buff,CZoneNo,buffindex);
    m_pMain->Send_AIServer(100,buff,buffindex);
    }*/
    }
    break;
    case 17: //+kill
    strcpy( killstr, chatstr+6);
    m_pMain->KillUser( killstr );
    break;
    case 18: //+captain
    m_pMain->LoadKnightsRankTable();
    break;
    case 19: //+Open
    m_pMain->BattleZoneOpen( BATTLEZONE_OPEN );
    break;
    case 20: //+SnowOpen
    m_pMain->BattleZoneOpen( BATTLEZONE_OPEN );
    break;
    case 21: //+open2
    m_pMain->BattleZoneOpen( BATTLEZONE_OPEN );
    break;
    case 22: //+open3
    m_pMain->BattleZoneOpen( BATTLEZONE_OPEN );
    break;
    case 23: //+open4
    m_pMain->BattleZoneOpen( BATTLEZONE_OPEN );
    break;
    case 24: //+open5
    m_pMain->BattleZoneOpen( BATTLEZONE_OPEN );
    break;
    case 25: //+close
    m_pMain->m_byBanishFlag = 1;
    m_pMain->WithdrawUserOut();
    break;

    }
}
Kod:
int CUser::OpenConnectToUser(CString CGetNick)
{
    SQLHSTMT        hstmt = NULL;
    SQLRETURN        retcode;
    TCHAR            szSQL[1024];
    memset( szSQL, 0x00, 1024 );

    SQLINTEGER Indexind = SQL_NTS,nIndex = 0;

    wsprintf( szSQL, TEXT( "UPDATE userdata set Authority = '1' where struserid = '%s'" ),CGetNick );

    try
    {
        if(!m_GameDB.IsOpen())
            ReConnectODBC(&m_GameDB, "KN_Online","KOUSER","123456789");

        retcode = SQLAllocHandle( (SQLSMALLINT)SQL_HANDLE_STMT, m_GameDB.m_hdbc, &hstmt );
        if (retcode == SQL_SUCCESS)
        {
            retcode = SQLExecDirect (hstmt, (unsigned char *)szSQL, 1024);

            if (retcode == SQL_SUCCESS|| retcode == SQL_SUCCESS_WITH_INFO) {
                retcode = SQLFetch(hstmt);
                if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
                    SQLGetData(hstmt,1 ,SQL_C_LONG,&nIndex, 0,&Indexind);
                }
            }
            else {
                nIndex = 0;
                m_GameDB.Close();
            }

            SQLFreeHandle((SQLSMALLINT)SQL_HANDLE_STMT,hstmt);
        } else {
            nIndex = 0;
        }

    }
    catch( CDBException* e )
    {
        e->Delete();
        nIndex = 0;
    }

    return nIndex;
}
kullanımı CUser::Chat(char *pBuf) in getstring in altına ekleyin hemen

Kod:
 if ( m_pUserData->m_bAuthority == 0 && _strnicmp( "+", chatstr, 1 ) == 0 )
    {
    SpecialGMCommands(chatstr,chatlen);
    return;
    }

Cevap yazdikdan sonra gizli bölümü görebilirsiniz.


eksikler

Kod:
+monsummon
+monsummonall
+view(paket bilmiyorum)
+unview(paket bilmiyorum)
+tp_all bozuk düzeltilicek.


BaybarsAGA isimli Üye şuanda  online konumundadır  
Alıntı ile Cevapla
Alt 14 Nisan 2018   #2
Asteğmen
Avatar Yok
 
Üyelik tarihi: 12 Nisan 2018
Üye No: 421
Mesajlar: 4
REP Puanı : 10
@corlunet02
Standart Cevap: v20xx GM Komutları

tesekkurler


corlunet02 isimli Üye şuanda  online konumundadır  
Alıntı ile Cevapla
Alt 01 Mayıs 2018   #3
Asteğmen
Avatar Yok
 
Üyelik tarihi: 01 Mayıs 2018
Üye No: 460
Bulunduğu yer: Türkiye
Mesajlar: 11
REP Puanı : 10
@ArdreamKO
ArdreamKO isimli Üyeye Skype üzeri Mesaj gönder
Standart Cevap: v20xx GM Komutları

Güzel Paylaşım teşekkürler.


ArdreamKO isimli Üye şuanda  online konumundadır  
Alıntı ile Cevapla

Etiketler
komutları, v20xx

Seçenekler


similar Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Metin2 Gizli GM Komutları 2018 germanboys Metin2 Web Panel 1 16 Aralık 2017 02:44
Putty Komutları 2017 germanboys Yardım 0 06 Aralık 2017 14:18

Tüm Zamanlar GMT +2 Olarak Ayarlanmış. Şuanki Zaman: 07:07.



Tüm Genel Sorunlar İçin İnfo[at]ServerTanitim.net
Ban Sorunları İçin Skype: ForumTanitim1
Reklam Vermek İçin Skype: ForumTanitim1
İçerik sağlayıcı paylaşım sitelerinden biri olan ServerTanitim.net Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. ServerTanitim.net hakkında yapılacak tüm hukuksal Şikayetler buradan iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en kısa süre içerisinde ServerTanitim.net yönetimi olarak tarafımızdan gereken işlemler yapılacak ve Avukatlarımız size dönüş yapacaktır.

Powered by vBulletin® Version #.#.#
Copyrıght ©2000 - 2018, Jelsoft Enterprises Ltd.
Theme Designed by Server Tanıtımı

Server Tanıtımı

Server Tanıtım

Server Tanitimi

pvp serverlar

metin2 pvp serverlar
private server tanıtımları
server tanıtımı server tanıtım seo araçları
seo araçları sıra bulucu seo araçları server tanıtımı Google Links Arşiv