kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
farkmt2official 1
farkmt2official
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Oyuncular arası Ep Transferi Sistemi

  • Konuyu başlatan Konuyu başlatan lTJA
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 244
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Dipnot: Sorunsuz çalışan sistemdir. değişken EP olarak atanmıştır kodda sizde ep sistemi kurulu mu diye bakın ona göre ekleyin ep sisteminin kütüphanesine bakın ona göre düzenleyin filesine göre genellikle coin olur.

char.h

C++:
// char.h

class CHARACTER {
public:
    // EP işlemleri
    int GetEP() const;
    void SetEP(int ep);

    // Chat mesajı
    void ChatPacket(BYTE type, const char* format, ...);

    // Oyuncu ismini almak için
    const char* GetName() const;

private:
    int m_iEP;  // EP değişkeni
};

char.cpp

C++:
// char.cpp

#include "char.h"

int CHARACTER::GetEP() const {
    return m_iEP;
}

void CHARACTER::SetEP(int ep) {
    m_iEP = ep;
}


[CODE lang="cpp" title="cmd_general.cpp"]// cmd_general.cpp

#include "char.h#includede "char_m#include"
#include <cstdli#include(do_sendep) {
char arg1[256];
char arg2[256];

// Komut parametrelerini ayır
two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));

if (!*arg1 || !*arg2) {
ch->ChatPacket(CHAT_TYPE_INFO, "Kullanım: /sendep [oyuncu_adı] [miktar]");
return;
}

CHARACTER* target = CHARACTER_MANAGER::instance().FindPC(arg1);
if (!target) {
ch->ChatPacket(CHAT_TYPE_INFO, "Oyuncu '%s' bulunamadı.", arg1);
return;
}

int amount = atoi(arg2);
if (amount <= 0) {
ch->ChatPacket(CHAT_TYPE_INFO, "Gönderilecek EP miktarı geçerli değil.");
return;
}

if (ch->GetEP() < amount) {
ch->ChatPacket(CHAT_TYPE_INFO, "Yeterli EP'niz yok.");
return;
}

ch->SetEP(ch->GetEP() - amount);
target->SetEP(target->GetEP() + amount);

ch->ChatPacket(CHAT_TYPE_INFO, "%s adlı oyuncuya %d EP gönderdiniz.", target->GetName(), amount);
target->ChatPacket(CHAT_TYPE_INFO, "%s adlı oyuncudan %d EP aldınız.", ch->GetName(), amount);
}
[/CODE]

cmd.cpp

C++:
// cmd.cpp

{ "sendep", do_sendep, 0, POS_DEAD, GM_PLAYER },

Oyun içinden

/sendep 100 yazdığında oyuncuya 100 ep gönderir



-
 
Merhaba,

Konudaki kodlar bir anlam ifade etmiyor. Bu sebepten dolayı kapatıldı.

Çalıştığına dair kanıt'ı rapor olarak iletirseniz konunuz tekrar açılacaktır.

Ayrıca ep/coin character class'ı üzerinde tutulmuyor, account üzerinde tutulmakta, hali hazırda DB cache layerında bu fonksiyonu sağlayacak paket var, bir sonrakinde yaparken aşağıdaki paketi ve var olan fonksiyonları kullanmanızı öneririm:

Kod:
            case HEADER_GD_REQUEST_CHARGE_CASH:
                ChargeCash((TRequestChargeCash*)data);
                break;

Teşekkürler,
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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

Geri
Üst