HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
@Jack.Wrestler kodda ufak bir geliştirme
NameList eklendi, namelist'de geçen isimler oyunda varmı kontrolü eklendi varsa o karakter adını atlar
toplu çağırma ve gönderme eklendi testleri yapıldı sorunsuz çalışmakta
[CODE lang="cpp" title="cmd_gm"]ACMD(do_fake_player)
{
char arg1[256], arg2[256];
two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
if (!*arg1 || !*arg2)
{
ch->ChatPacket(CHAT_TYPE_INFO, "usage: fake_player login <name>");
ch->ChatPacket(CHAT_TYPE_INFO, "usage: fake_player logout <name>");
ch->ChatPacket(CHAT_TYPE_INFO, "usage: fake_player fullon <count>");
ch->ChatPacket(CHAT_TYPE_INFO, "usage: fake_player fulloff <count>");
return;
}
const char* names[] = {
"Homeron", "MrGe", "HOPPALA", "xAFFETMEg", "MythArrow", "Shunai", "RzeLy", "GODUMBOZULDU", "CUPPALA",
"Hemera", "Dou", "ASSASIN", "Mangeku", "PADISAH", "BOZKURT", "MUSLERA", "RvsSpeed", "ASL4N", "Ninja",
"Hell", "Olc", "LORD", "DELI", "Seyis", "Paradise", "EFSANE", "BABA", "HeavenFARM", "Speed", "TURUVALI",
"ASDASDASD", "3141592653", "HeddA", "Efsun", "ESDELIDELI", "TrMusallat", "BASKAN", "Wind", "BenGeldim",
"TENNSII", "RaEdEn", "Eda", "HeMRA2", "GAVIROSTA", "Demirci", "HAYYAVRUM", "AyYuzlum", "MEMISxKraL",
"LORDfarm", "HerYerDuman6", "KasarRuski", "BaekLORD", "Volkann", "0R0SPUEDA", "ZALIM", "PsychoSociaL",
"SINCANLIM", "GowtheR", "AVSARBEY", "BABAxDERLER", "Burra", "GARFIELD", "CaptainStag", "ZihinseLPlus",
"RAJON", "benuzulmem", "Pretzel", "EJDER", "Zoe", "Ez4Ence", "KRITIKCI", "TEKILA", "meflud", "NARCOS",
"Eclipse7", "tethyS", "DeliDumrul", "SUMBUL", "ZaMaZoM", "WarWolf", "sisko", "CHIVAS", "pretzell",
"Eclipse77", "NobleStrike", "KekkeiGenkai", "RuhsuzOkcu", "PALANBEYAZ", "lRozeNl", "SANRI", "SeqhilNinja",
"SmokerDAYI", "FizofreN", "SmokerIDAYI", "THANOS", "VATAN", "Kutlusam", "PARMAKDARBE", "SeljukEmpire",
"Sharingan", "SOSYOPAT", "KesBeni", "GODFARM", "Itachi", "YAYGELARTIK", "Maestro", "KafamDuman6",
"OhaKiNG", "XxLeGendxX", "Ramires", "gaddaR", "Hercai", "RedKeys", "Devilish", "p0seid0n", "ASGARD",
"Eye4You", "TurkishPower", "TACSIZKRAL", "SOYLUYUM", "SmithKlineTR", "OTTOMAN", "JaWeL", "MEZARCI34",
"LASTDANCE", "Pailrox", "Hassaki", "xFARKETMEZ", "oVEYTo", "EskiciGeldi", "RowsAgla", "EnginSertkay",
"SIKINTILI", "CaptanJake", "EZEL", "SwangeR", "Archer", "PosionFake", "BabaMerhaba", "ByHefna",
"engntekleyen", "EnginSertkaa", "Furious", "TARZAN", "Indicibus", "SarKopat", "lLoran", "Hassasium",
"TrOnLaR", "OrkunMNTMR", "kutsama1", "Baro", "DioBrando", "D4YI", "POMPA", "Kirwe", "TankerMelda",
"BidonNecmi", "Mayhem", "ScorpionJr", "PerfectDewiL", "ByJamiryoo", "DeliNoyan", "Orkun1910", "Powerade",
"Ryzen", "Muholox58", "Skayres", "TRDrenisH", "Matriks", "KralMetehan", "RaptorBlood", "TRDrenissH",
"TainTed", "BlackBrother", "Eulith", "Sensizim", "Malphite", "G4me0vER", "Pinhani", "AyiABBAS",
"FarketmeezWT", "TylerDurden", "Vaenictas", "AyiKADO", "DeaTLoarD", "vosseL", "xLarge", "andavalemre",
"ITeKKrAlI", "DarkSide", "EternaL", "DIRILISH", "Afrodit", "J3adJ3oy", "Aldarion", "TheMoRe", "AyiCEREN",
"Titanium", "SURAVAR", "Crow", "STALLIZE", "Despina", "Pemions", "AyiBATU", "TestaRossa", "godUZI",
"ReaLxFLU", "Sasurata", "Kutsabebeim", "Eliena", "CakarLaRRR", "Kurosaki", "Rhot", "Ninjayimben",
"Zeors", "SemiGod", "KARASURA", "DELALE", "MagicLord", "Hasecan", "Chupons", "SekoBey", "POSEIDON",
"TEKYUMRUK", "Sekoooo", "WurGunBey", "Invincible", "FRENTE", "RoyaLs", "Serchuva", "EmonG", "ThiweT",
"CardinalRed", "MesquL", "Delpwinzy", "LeuEntrica", "VARLUKHAN", "PATRON", "IPuF", "AVVArutin",
"babafingo", "ZorBaaTR", "KaRaCeLLaT", "UtkuDuman", "InsCnmYa", "Poncik", "MuSaLlat", "Scary", "Elizabet"
};
if (0 == strcmp(arg1, "login"))
{
std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT name FROM player.player WHERE name = '%s'", arg2));
if (pMsg->Get()->uiNumRows > 0)
return;
TFakePlayerLoginData fakePlayerLoginData;
strlcpy(fakePlayerLoginData.szName, arg2, sizeof(fakePlayerLoginData.szName));
fakePlayerLoginData.lMapIndex = ch->GetMapIndex();
fakePlayerLoginData.lX = ch->GetX();
fakePlayerLoginData.lY = ch->GetY();
fakePlayerLoginData.iRotation = ch->GetRotation();
CFakePlayerManager::Instance().FakePlayerLogin(ch, &fakePlayerLoginData);
}
else if (0 == strcmp(arg1, "logout"))
{
CFakePlayerManager::Instance().FakePlayerLogout(arg2, ch);
}
else if (0 == strcmp(arg1, "fullon"))
{
int count = 1;
if (*arg2 && isnhdigit(*arg2))
{
str_to_number(count, arg2);
count = MINMAX(50, count, 250);
}
const int nameCount = sizeof(names) / sizeof(names[0]);
if (count > nameCount)
{
count = nameCount;
ch->ChatPacket(CHAT_TYPE_INFO, "Only %d names available, adjusting count to match.", nameCount);
}
for (int i = 0; i < count; ++i)
{
std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT name FROM player.player WHERE name = '%s'", names));
if (pMsg->Get()->uiNumRows > 0)
return;
TFakePlayerLoginData fakePlayerLoginData;
strlcpy(fakePlayerLoginData.szName, names, sizeof(fakePlayerLoginData.szName));
fakePlayerLoginData.lMapIndex = ch->GetMapIndex();
fakePlayerLoginData.lX = ch->GetX() - number(200, 750);
fakePlayerLoginData.lY = ch->GetY() - number(200, 750);
fakePlayerLoginData.iRotation = ch->GetRotation();
CFakePlayerManager::Instance().FakePlayerLogin(ch, &fakePlayerLoginData);
ch->ChatPacket(CHAT_TYPE_INFO, "Fake player %s logged in.", names);
}
}
else if (0 == strcmp(arg1, "fulloff"))
{
int count = 1;
if (*arg2 && isnhdigit(*arg2))
{
str_to_number(count, arg2);
count = MINMAX(1, count, 250);
}
const int nameCount = sizeof(names) / sizeof(names[0]);
if (count > nameCount)
count = nameCount;
for (int i = 0; i < count; ++i)
CFakePlayerManager::Instance().FakePlayerLogout(names, ch);
}
}[/CODE]
Teşekkürler bugün iş çıkışı konuya dahil ederim.

item dupe sorunu var bilginize, eşya mekanizmasını iptal edin create etmesin paket üzerinden gösterim yapsın sadece m_pFakePlayer->SetPart() olarak yoksa olası bir sorun yaşamanız kaçınılmaz
valla hocam emeğinize sağlık ama benim gibi hiç bir şeyden anlamayan birisi için çok zor oldu bunu oyuna nasıl eklerim sonrasında putty den çekmem gerekiyor mu ? neler yapmam gerekir vaktiniz olursa anlatırsanız sevinirim
Tüh Fake oyuncularım İfşa oldu
Paylaşım için teşekkürler
Bana olan sevgin kadar gerçek olamazdı hiç bir şey zaten
