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
char.cpp
[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
Oyun içinden
/sendep 100 yazdığında oyuncuya 100 ep gönderir
-
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:
Teşekkürler,
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)
Benzer konular
- Cevaplar
- 6
- Görüntüleme
- 303
- Cevaplar
- 0
- Görüntüleme
- 297
- Cevaplar
- 11
- Görüntüleme
- 1K
- Cevaplar
- 13
- Görüntüleme
- 1K
- Cevaplar
- 18
- Görüntüleme
- 2K