Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Birkaç Yeni quest_functions

CorpeX

Co-rpeX
Telefon Numarası Onaylanmış Üye
Fahri Üye
TM Üye
Katılım
12 Tem 2012
Konular
358
Mesajlar
5,763
Çözüm
37
Online süresi
1mo 11d
Reaksiyon Skoru
1,977
Altın Konu
8
TM Yaşı
13 Yıl 11 Ay 1 Gün
Başarım Puanı
312
MmoLira
2,035
DevLira
87
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

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;
Oyuncunun İp'sini göster
Oyuncuyu öldür
Oyuncunun bulunduğu bayrağın ismini göster
Oyuncuya quest komutuyla EP ver


Eğer daha önceden paylaşılmışsa kapatılabilir ben aradım bulamadım forumda.
Bir Teşekkür yeterli iyi kullanımlar :)
 
Son düzenleme:
Teşekkürler
 
Thx, seçenekleri çoğalta bilirsen veya birlikte konu altında çoğaltabilirsek konu sabitlenebilecek değerde olduğunu düşünüyorum.
 

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

Geri
Üst