noisiv 1
noisiv
Manwe Work 1
Manwe Work
Almira2 1
Almira2
romegames 1
romegames
D 1
delimuratt
melankolıa18 1
melankolıa18
shrpnl 1
shrpnl
Fethi Polat 1
Fethi Polat
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Birkaç Yeni quest_functions

Merhaba,

Birkaç gündür kill komutu arıyordum, yabancı bir forumda derdime derman buldum bunun yanında iş yapabilecek birkaç fonksiyon daha buldum sizlere sunmak istedim. Neyse çok uzattım anlatıma geçelim;

1.Aşama:

game/src içinde questlua_pc.cpp açılır ;

Arat:
Kod:
int pc_get_name(lua_State* L)

Üstüne boşluk bırakarak ekle:

Kod:
// New Functions by ummeh122
    int pc_get_ip(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        lua_pushstring(L, ch->GetDesc()->GetHostName());
        return 1;
    }

    int pc_kill(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        ch->Dead();
        return 0;
    }

    int pc_set_coins(lua_State * L)
    {
        if (!lua_isnumber(L, 1))
        {
            sys_err("invalid argument");
            return 0;
        }

        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        long val = (long)lua_tonumber(L, 1);
        SQLMsg *msg;

        msg = DBManager::instance().DirectQuery("UPDATE account.account SET coins = coins + '%ld' WHERE id = '%d'", val, ch->GetAID());
   
        if (msg->uiSQLErrno != 0)
        {
            sys_err("pc_update_coins query failed");
            return 0;
        }
    }

    int pc_get_empire_name(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        const char* tabelle[3] = {"Shinsoo","Chunjo","Jinno"};
        int empireave = ch->GetEmpire()-1;
        lua_pushstring(L, tabelle[empireave]);
        return 1;
    }
    // New Functions by ummeh122 end

Aynı yerde arat:
Kod:
{ "getname",        pc_get_name        },
            { "get_name",        pc_get_name        },

Altına ekle:

Kod:
// New Functions by ummeh122
            { "get_ip",                pc_get_ip            },
            { "kill",                pc_kill                },
            { "set_coins",            pc_set_coins        },
            { "get_empire_name",    pc_get_empire_name    },
            // New Functions by ummeh122 end

2.Aşama:

game/src/quest içerisindeki quest_functions ve filezillada quest klasöründeki quest_functions da uygun bir yere ekle:
Kod:
pc.get_ip
pc.kill
pc.set_coins
pc.get_empire_name

Örnek Kullanım;
Kod:
pc.kill()
pc.set_coins("50")

Günlük EP ödül verimlerinde çok verimli olabilecek bir komut olduğunu düşünüyorum.

Fonksiyonların içerdiği komutlar;



Eğer daha önceden paylaşılmışsa kapatılabilir ben aradım bulamadım forumda.
Bir Teşekkür yeterli iyi kullanımlar :)

Teşekkürler :)
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst