Yardım Won Sistemi Ekleme

  • Konuyu açan Konuyu açan sharap
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 25
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

sharap

MT Üye
MT Üye
Mesaj
341
Çözümler
16
Beğeni
152
Puan
529
Ticaret Puanı
0
Merhaba Arkadaşlar başlıkta da belirttiğim üzere WON Sistemini eklemeye çalışıyorum Yalnız şu kısımda biraz takıldım eklemeyi yaptım sizce doğrumu yada varsa bir hatam yardımcı olabilir missiniz? Rica etsem. Şimdiden teşekkür ederim.

Öncelikle Eklenecek kodları ve ekleneceği yeri paylaşıyorum.

Eklenecek Kod Bloğu::
Genişlet Daralt Kopyala
void CClientManager::__QUERY_PLAYER_CREATE(CPeer *peer, DWORD dwHandle, TPlayerCreatePacket* packet)
{
    [...]

    queryLen = snprintf(queryStr, sizeof(queryStr),
            "INSERT INTO player%s "
            "(id, account_id, name, level, st, ht, dx, iq, "
            "job, voice, dir, x, y, z, "
#ifdef ENABLE_CHEQUE_SYSTEM
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, cheque, playtime, "
#else
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, playtime, "
#endif
            "skill_level, quickslot) "
            "VALUES(0, %u, '%s', %d, %d, %d, %d, %d, "
            "%d, %d, %d, %d, %d, %d, %d, "
#ifdef ENABLE_CHEQUE_SYSTEM
            "%d, %d, %d, %d, %d, %d, %d, 0, %d, %d, 0, ",
#else
            "%d, %d, %d, %d, %d, %d, %d, 0, %d, 0, ",
#endif
            GetTablePostfix(),
            packet->account_id, packet->player_table.name, packet->player_table.level, packet->player_table.st, packet->player_table.ht, packet->player_table.dx, packet->player_table.iq,
            packet->player_table.job, packet->player_table.voice, packet->player_table.dir, packet->player_table.x, packet->player_table.y, packet->player_table.z,
            packet->player_table.hp, packet->player_table.sp, packet->player_table.sRandomHP, packet->player_table.sRandomSP, packet->player_table.stat_point, packet->player_table.stamina, packet->player_table.part_base, packet->player_table.part_base, packet->player_table.gold
#ifdef ENABLE_CHEQUE_SYSTEM
            ,packet->player_table.cheque
#endif
            );


Eklenecek Yer::
Genişlet Daralt Kopyala
    queryLen = snprintf(queryStr, sizeof(queryStr),
            "INSERT INTO player%s "
            "(id, account_id, name, level, st, ht, dx, iq, "
            "job, voice, dir, x, y, z, "
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair,"
#ifdef ENABLE_ACCE_SYSTEM
            "part_acce, "
#endif
            "gold, "
#ifdef TITLE_SYSTEM
            "title, "
#endif
#ifdef ENABLE_WINGS_NEW
        "part_wing, "
#endif
#ifdef ENABLE_WYNEE_CAPESYSTEM
        "part_cape, "
#endif
#if defined(__PLAYER_PIN_SYSTEM__)
        "pin, "
#endif
            "playtime, skill_level, quickslot) "
            "VALUES(0, %u, '%s', %d, %d, %d, %d, %d, "
            "%d, %d, %d, %d, %d, %d, %d, "
            "%d, %d, %d, %d, %d, %d, %d, 0, "

#ifdef ENABLE_ACCE_SYSTEM
            "0, "
#endif

            "%lld, " // gold

#ifdef TITLE_SYSTEM
            "%d, "//title
#endif
#ifdef ENABLE_WINGS_NEW
        "0, "//part_wing
#endif
#ifdef ENABLE_WYNEE_CAPESYSTEM
        "0, "
#endif
#if defined(__PLAYER_PIN_SYSTEM__)
        "'%s', "
#endif
            "0, ",
            GetTablePostfix(),
            packet->account_id, packet->player_table.name, packet->player_table.level, packet->player_table.st, packet->player_table.ht, packet->player_table.dx, packet->player_table.iq,
            packet->player_table.job, packet->player_table.voice, packet->player_table.dir, packet->player_table.x, packet->player_table.y, packet->player_table.z,
            packet->player_table.hp, packet->player_table.sp, packet->player_table.sRandomHP, packet->player_table.sRandomSP, packet->player_table.stat_point, packet->player_table.stamina, packet->player_table.part_base, packet->player_table.part_base, packet->player_table.gold
#ifdef TITLE_SYSTEM
            , packet->player_table.title
#endif
#if defined(__PLAYER_PIN_SYSTEM__)
            , packet->player_table.pin
#endif
            );

Benim Düzenlediğim Hali::
Genişlet Daralt Kopyala
    queryLen = snprintf(queryStr, sizeof(queryStr),
            "INSERT INTO player%s "
            "(id, account_id, name, level, st, ht, dx, iq, "
            "job, voice, dir, x, y, z, "
#ifdef ENABLE_CHEQUE_SYSTEM
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, cheque, playtime,"
#else
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, playtime,"
#endif
#ifdef ENABLE_ACCE_SYSTEM
            "part_acce, "
#endif
#ifdef TITLE_SYSTEM
            "title, "
#endif
#ifdef ENABLE_WINGS_NEW
        "part_wing, "
#endif
#ifdef ENABLE_WYNEE_CAPESYSTEM
        "part_cape, "
#endif
#if defined(__PLAYER_PIN_SYSTEM__)
        "pin, "
#endif
            "skill_level, quickslot) "
            "VALUES(0, %u, '%s', %d, %d, %d, %d, %d, "
            "%d, %d, %d, %d, %d, %d, %d, "
#ifdef ENABLE_CHEQUE_SYSTEM
            "%d, %d, %d, %d, %d, %d, %d, 0, %lld, %d, 0, ",
#else
            "%d, %d, %d, %d, %d, %d, %d, 0, %lld, 0,"
#ifdef ENABLE_ACCE_SYSTEM
            "0, "
#endif

#ifdef TITLE_SYSTEM
            "%d, "//title
#endif
#ifdef ENABLE_WINGS_NEW
        "0, "//part_wing
#endif
#ifdef ENABLE_WYNEE_CAPESYSTEM
        "0, "
#endif
#if defined(__PLAYER_PIN_SYSTEM__)
        "'%s', "
#endif
            GetTablePostfix(),
            packet->account_id, packet->player_table.name, packet->player_table.level, packet->player_table.st, packet->player_table.ht, packet->player_table.dx, packet->player_table.iq,
            packet->player_table.job, packet->player_table.voice, packet->player_table.dir, packet->player_table.x, packet->player_table.y, packet->player_table.z,
            packet->player_table.hp, packet->player_table.sp, packet->player_table.sRandomHP, packet->player_table.sRandomSP, packet->player_table.stat_point, packet->player_table.stamina, packet->player_table.part_base, packet->player_table.part_base, packet->player_table.gold
#ifdef ENABLE_CHEQUE_SYSTEM
            ,packet->player_table.cheque
#endif
#ifdef TITLE_SYSTEM
            , packet->player_table.title
#endif
#if defined(__PLAYER_PIN_SYSTEM__)
            , packet->player_table.pin
#endif
            );




Sorumu Sorayım şimdi aklıma takılan olay şu bana ekle diye verilen kodda şöyle bir tanımlama var:
Tanımlama::
Genişlet Daralt Kopyala
#ifdef ENABLE_CHEQUE_SYSTEM
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, cheque, playtime, "
#else
            "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, playtime, "
#endif

Şimdi bu kısımda 2. satırda 12 Argüman bulunmakta 4. Satırda ise 11 Argüman bulunmakta.


Eklememi İstediği Bu Bölümde İse::
Genişlet Daralt Kopyala
#ifdef ENABLE_CHEQUE_SYSTEM
            "%d, %d, %d, %d, %d, %d, %d, 0, %d, %d, 0, ",
#else
            "%d, %d, %d, %d, %d, %d, %d, 0, %d, 0, ",
#endif


Bu kısımda ise 2. Satırda 11 Argüman Bulunmakta 4. Satırda İse 10 Argüman Bulunmakta.
Anladığım kadarı ile burada da
12 Argümana 11 Argüman Olması Gerekiyor Yanlışmıyım?
Birde şöyle bir durum var eklememi istediği kodlar da #ifdef altına almamı istedi
gold ve playtime argümanları bende ayrı yazılmışlar gold'u yine silip üste ekledim benim eklememe bakarsanız ama playtime'nin %d, %d, %d, %d, %d, %d, %d, 0, %d, 0, şu şekilde yazılan argümanını tespit edemedim heralde en alttaki 0 dır diye düşünüp onu aldım.
 
Geri
Üst