Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...

Genel Araştırma

'sorunu' etiketi için arama sonuçları.

  • Etiketlere Göre Ara

    Aralarına virgül koyarak ekleyin
  • Yazara Göre Ara

İçerik Türü


Forum

  • PvP Serverlar
    • Server Tanıtımı
    • Server Kurulumu
    • Server Muhabbeti
  • Forum Genel
    • Forum Kuralları
    • Duyurular
    • Şikayet ve Öneriler
    • Geliştirici Paylaşımları
    • English Forum
  • Satış
    • Alım & Satım
  • Mini KO Forum (Yardım & İstek)
    • Genel Yardım
    • Genel İstek
  • KO Development
    • Geliştirme (Yeni)
    • Paketler
    • Özel Paylaşımlar
    • Projeler
    • Knight Online Kaynak Kod Paylaşımı
  • Knight OnLine Paylaşım Forum
    • Genel Paylaşımlar
    • Client Paylaşımları
    • Database Paylaşımları
    • Server Dosyası Paylaşımları
    • Prosedür & Query Kod Paylaşımları
    • Web Dosyası Paylaşımları
    • Yardımcı Program Paylaşımları
    • Gerekli Bilgi Paylaşımları
  • Hile paylaşımları
  • Programlama
  • Online Oyunlar
  • Ticaret
  • Webmaster
  • KO Developers Gazinosu
  • Kişisel
  • Diğer

Sonuçları bul ...

Sonuçları bul ...


Oluşturma Tarihi

  • Start

    End


Son Güncelleme

  • Start

    End


Filter by number of...

Katılım

  • Start

    End


Üye Grubu


Hakkımda

Araştırmada 135 sonuç bulundu

  1. Merhabalar SRC üzerinde ne yaptıysam Letter Sorununu çözemedim Şöyle ki ; v22xx Src üzerinde " AI - Gameserver birleşik " Letterden item yollanmıyordu kodlarda Alt src den bazı kodlamaları alarak Letterden item yollatıyoruz bu defa da Letterden alınan item silinmiyor her aç kapa yapınca Tekrar geliyor. Tekrar orjinale döndüğümüz zamanda ilk sıkıntı devam ediyor. Bundan dolayı zannedersemde PUS Aktif olmuyor Aktif olmuyordan kastım itemi satın alınca ne Letter geliyor ne invertory düşüyor. Diğer bir sorun ise GM karakter unview yapınca görünürlük devam ediyor. CharacterMovementHandler.cpp baya bir inceledim ama sorun tam nerede çözemedim. Yardımcı olacaklar için teşekkür ederim şimdiden.
  2. slm arkadaşlar view ve unview komutu çalışıyor fakat tam stabil değil town atmak falan gerekiyor asıl önemli olan gm görünmez iken gm logosunun görünmesi bu yazıyıda kaybetmenin yolu nedir nereye bağlıdır aksi halde görünmezliğin hiçbir espirisi kalmıyor :) -- mesaja ek olarak -- sorunu çözdüm arkdaşlar CharacterMovementHandler daki /*if (m_bAbnormalType == ABNORMAL_INVISIBLE) return;*/ deaktifleştirerek...
  3. Selamın aleyküm pus sistemin'de hiç bir sorun yok bakiye felan herşey görünüyor pus'da fakat pustan itemi çekiyorum inventory'e gelmiyor. Farklı bir gameserver ile deniyorum üzerime çektiğim itemler geliyor. özetler olursak kullandığım gameserver ile pustaki itemler üzerime gelmiyor başka bir gameserver ile pus'dan item çekmede bir sorun çıkmıyor yardımlarınızı bekliyorum iyi forumlar.
  4. Herkese merhaba; kendi çapımda server işleriyle uğraşıyorum fakat kaç gündür başlıkta belirttiğim gibi np gelmeme sorunu var LoyaltyChange ile akalı olan kısımlara baktım ve başka src dende ek olarak eklemeler yaptım fakat nafile. Belki yanlış birşeyleri kurcalıyorum diye buraya yazma gereği duydum. Resme bakarsanız daha iyi anlayabilirsiniz. https://i.hizliresim.com/36qNQO.png
  5. Merhaba tekrar konu açıyorum, iki adet sorunum bilgisi olan arkadaşlar yardımcı olabilirse çok mutlu olurum. 1.si Chaotic generator'de fragment kırdırabiliyorum fragmenti sorunsuzca yaptım, fakat gem kırdıramıyorum, gem generatore konuluyor ama starta basılmıyor. 2. Sorunum ise Pot fiyatlarıyla ilgili Lüfer ve emcdeki potcu 350k pot parası alıyor kral vergisini yüzde 1 yapınca bu sorun bir nebze düzeliyor 13kya düşüyor fakat oyuna res gelince vs zaman geçince tekrar 350 k oluyo. Acaba bu iki konuda nerde hata yapıyorum yardımcı olursanız çok mutlu olurum.
  6. Seven panel irk jop degistirme sorunu merhaba arkadaslar seven panelden irk jop degistirme yapiyorum jop degistirmede hic bir sey olmuyor char ayni irk degistirmede irkini degistiriyor ama char görünmüyor desteyinizi bekliyorum elinde bide banka sifirlama kodu olan varsa panele eklicem
  7. Merhaba arkadaslar Sql 2014 kullanıyorum Server sürümü 19xx hiç bir paneli kuramıyorum hep aynı hatayı veriyor bunu çözümü nedir acaba yardımcı olurmusunuz Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver] Invalid object name '_WEBSETTINGS'., SQL state S0002 in SQLExecDirect in C:\AppServ\www\panel\library\dbo.lib.php(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 27 Sorguda hata olustu.
  8. Arkadaşlar QUEST Monster görevlerinde görev alma ile bir sorun yok. Fakat sayma konusunda problemim var bu konuda bana yardımcı olabilecek varmı? QuestHandler.cpp de bulunan voidlerde bir problem varmı göremedim ? void CUser::SaveEvent(uint16 sQuestID, uint8 bQuestState) { m_questMap[sQuestID] = bQuestState; // Don't need to handle special/kill quests any further Packet result(WIZ_QUEST, uint8(2)); result Send(&result); _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(sQuestID); if (bQuestState == 1 && pQuestMonster) if (pQuestMonster != nullptr && bQuestState == 1 && m_sEventDataIndex > 0) return; if (sQuestID >= QUEST_KILL_GROUP1) return; // Valid Finished Quest Count if (bQuestState == 2 ) AchieveMainCount(0, 0, sQuestID, 0); if (bQuestState == 2) { QuestV2MonsterDataDeleteAll(); QuestV2MonsterDataRequest(sQuestID); } if (bQuestState == 1 && pQuestMonster != nullptr) { // TODO: Decipher this into more meaningful code. int16 v11 = ((int16)((uint32)(6711 * sQuestID) >> 16) >> 10) - (sQuestID >> 15); int16 v12 = ((int16)((uint32)(5243 * (int16)(sQuestID - 10000 * v11)) >> 16) >> 3) - ((int16)(sQuestID - 10000 * v11) >> 15); SaveEvent(32005, (uint8)v11); SaveEvent(32006, (uint8)v12); SaveEvent(32007, sQuestID - 100 * v12); for(int i = 0; i { _QUEST_DATA * uQuest = GetQuestID(i); if (uQuest != nullptr) continue; uQuest->dQuestID = sQuestID; break; } //m_sEventDataIndex = sQuestID; QuestV2MonsterDataRequest(sQuestID); } } void CUser::QuestV2MonsterCountAdd(uint16 sNpcID) { if (m_sEventDataIndex == 0) return; // it looks like they use an active quest ID which is kind of dumb // we'd rather search through the player's active quests for applicable mob counts to increment // but then, this system can't really handle that (static counts). More research is necessary. uint16 sQuestNum = m_sEventDataIndex; // placeholder so that we can implement logic mockup _QUEST_MONSTER *pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(sQuestNum); if (pQuestMonster == nullptr) return; // TODO: Implement obscure zone ID logic for (int Count = 0; Count { for (int i = 0; i { if (pQuestMonster->sNum[Count][i] != sNpcID) continue; if (m_bKillCounts[Count] + 1 > pQuestMonster->sCount[Count]) return; m_bKillCounts[Count]++; SaveEvent(QUEST_KILL_GROUP1 + Count, m_bKillCounts[Count]); Packet result(WIZ_QUEST, uint8(9)); result Send(&result); if (m_bKillCounts[Count] >= pQuestMonster->sCount[Count]) //Closing conditions { uint8 bQuestState = 3; SaveEvent(QUEST_KILL_GROUP1 + Count, bQuestState); //Fixed Number Quest_Moster_Couner_Map::iterator itr = m_quest_moster_map.find(sQuestNum); if(itr == m_quest_moster_map.end()) { m_quest_moster_map.insert(std::make_pair(sQuestNum,m_bKillCounts[Count])); } else { itr->second = m_bKillCounts[Count]; } } return; } } } uint8 CUser::QuestV2CheckMonsterCount(uint16 sQuestID) { if (sQuestID >= QUEST_KILL_GROUP1) { QuestMap::iterator itr = m_questMap.find(sQuestID); // If it doesn't exist, it doesn't exist. if (itr == m_questMap.end()) return 0; return itr->second; } else { Quest_Moster_Couner_Map::iterator itr = m_quest_moster_map.find(sQuestID); if(itr == m_quest_moster_map.end()) return 0; return itr->second; } } uint8 CUser::QuestV2CheckMonsterCount(uint16 sQuestID) { if (sQuestID >= QUEST_KILL_GROUP1) { QuestMap::iterator itr = m_questMap.find(sQuestID); // If it doesn't exist, it doesn't exist. if (itr == m_questMap.end()) return 0; return itr->second; } else { Quest_Moster_Couner_Map::iterator itr = m_quest_moster_map.find(sQuestID); if(itr == m_quest_moster_map.end()) return 0; return itr->second; } } uint8 CUser::CheckMonsterCount(uint8 bGroup) { _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(m_sEventDataIndex); if (pQuestMonster == nullptr || bGroup == 0 || bGroup >= QUEST_MOB_GROUPS) return 0; return m_bKillCounts[bGroup]; }
  9. S.a Arkadaşlar Serverimde Ekli Olan Magic Hammers Calismiyor basiyor ama Itemleri Repair Etmiyor Nerden Nasil duzeltirim acaba Şimdiden Yardim eden Arkadaşkara teşekkür ederim.
  10. Merhaba arkadaşlar; 2167’de karşılaştığım bir sorun var inventory bazı durumlarda sıfırlanıyor örneğin karakter küleye öldüğünde pus sayfası açışdığında gibi fakat relog attıgımda karakterin itemleri geri geliyor. 2089da bu tarz bir sorun yoktu fakat yükseltme olduktan sonra bahsettiğim gibi oluyor. Özellikle pus sayfası acıldıgında itemler kayboluyor. Konu hakkında fikri olan varsa yardımlarından dolayı şimididen teşekkür ederim
  11. Merhaba, 1453 versiyon bir DB'ye sahibim, fakat bir sorunum var Eski görünüm CZ'yi ekledim fakat uyumsuzluk veriyor. CZ'nin ortasında hem yeni czde bulunan bifrost gatenin olduğu rampa var hemde kale var bu sorunu nasıl çözeceğimi bilmiyorum acaba öğretebilir misiniz?
  12. merhaba arkadaşlar yukarda belirttiğim gibi ilk game server açılıgında sorun yok yanlız bir süre zaman geçince connection da bekleme sorunu var alttan connect e seri seri basınca oyuna alıyor bu sorunumda yardımcı olabilirmisiniz şimdiden teşekkürler
  13. mustyh16

    Cursed Santa Sorunu

    Arkadaşlar "SANTA" kesildiğinde normalde 1 kere de vursan 100 kerede vursan herkese aynı expi vermesi gerek. Şuan bende normal mob görevi görüyor. Kim daha fazla vurursa ona daha çok exp gidiyor. Bu sorunu nasıl çözebilirim?
  14. bugraozcan

    Build sorunu hk

    arkadaslar boostslamama rağmen build edemiyorum sorun ne ile alakalı olabilir acaba https://ibb.co/g4PQH0
  15. KroniqWaqaa

    Magic Bag Sorunu

    Merhaba Arkadaşlar; Forumda bununla ilgili bi yardım konusu açılmış ve çözülen konulara taşındığı için yorum yapamadım. Magic Bag' ta kayma sorunum vardı BURADAKİ konuda, Src'de @ EveryBodyFool 'un bahsettiği satırı bulamadım. Ayrıcı @ KiraAmora61 'in bahsettiği yerleri düzeltince o sorun ortadan kalktı. Fakat bu sefer takılan magic baglar çıkmıyor. Ve baglara konulan itemler relogta siliniyor. Acaba @ HKS nin buga girer demesindeki kasıt bumuydu ? Ve düzeltmem için nereye bakmam gerekli yardımcı olandan allah razı olsun void CUser::SendMyInfo @ KiraAmora61 in Paylaştığı yerleri aşağıda kırmızı ile belirttim void CUser::SendMyInfo() { C3DMap* pMap = GetMap(); CKnights* pKnights = nullptr; if (!pMap->IsValidPosition(GetX(), GetZ(), 0.0f)) { short x = 0, z = 0; GetStartPosition(x, z); m_curx = (float)x; m_curz = (float)z; } ServerNews(); Packet result(WIZ_MYINFO); g_pMain->GetUserRank(this); CKingSystem * pData = g_pMain->m_KingSystemArray.GetData(GetNation()); if (pData != nullptr && STRCASECMP(pData->m_strKingName.c_str(), m_strUserID.c_str()) == 0) { m_bRank = 1; AchieveMainCount(0, 0, 0, 1); } else m_bRank = 0; result.SByte(); result result result if (isInClan()) pKnights = g_pMain->GetClanPtr(GetClanID()); if (pKnights == nullptr) { result } else { CKnights *aKnights = g_pMain->GetClanPtr(pKnights->GetAllianceID()); if (pKnights->m_sAlliance != 0) pKnights->OnLoginAlliance(this); else if (isInClan()) pKnights->OnLogin(this); if (aKnights != nullptr && aKnights->isInAlliance()) { result GetAllianceID() m_byFlag m_strName m_byGrade m_byRanking m_sMarkVersion) GetCapeID(aKnights) m_bCapeR m_bCapeG m_bCapeB } else { result GetAllianceID() m_byFlag m_strName m_byGrade m_byRanking m_sMarkVersion) m_sCape) m_bCapeR m_bCapeG m_bCapeB } } result result.append(m_bstrSkill, 9); //BURASI_1 for (int i = 0; i { _ITEM_DATA *pItem = GetItem(i); #if (__VERSION >= 1950) if (i == BAG1) pItem = GetItem(FAIRY); else if (i == BAG2) pItem = GetItem(BAG1); else if (i == FAIRY) pItem = GetItem(BAG2); #endif //BURASI if((pItem->nExpirationTime - UNIXTIME nExpirationTime != 0) || pItem->sCount { result pItem->nNum = 0; } else { result nNum sDuration sCount bFlag sRemainingRentalTime; if (pItem->isSpecial()) LoadSpecialItem(result, pItem->SealSerial); else result result nExpirationTime; } } m_bIsChicken = CheckExistEvent(50, 1); result for (int i = 0; i { uint32 TimeRest; uint16 TimeShow; _PREMIUM_DATA * uPrem = GetPremiumPtr(i); if (!uPrem) continue; if (uPrem->pTime == 0) continue; TimeRest = uint32(uPrem->pTime - UNIXTIME); if (TimeRest >= 1 && TimeRest TimeShow = 1; else TimeShow = TimeRest / 3600; result pType } result result result result SendCompressed(&result); g_pMain->AddCharacterName(this); SetZoneAbilityChange(GetZoneID()); Send2AI_UserUpdateInfo(true); QuestDataRequest(); foreach(itr, NewQuestMap) { auto pQuestMap = itr->second; if (pQuestMap.bQuestState != 1 && pQuestMap.bQuestState != 3) continue; QuestV2MonsterDataRequest(itr->first); } } void CUser::SetSlotItemValue() En altına //BURASI_2 for (int i = 0; i { _ITEM_DATA *pItem = GetItem(i); if (i == BAG1) pItem = GetItem(FAIRY); else if (i == BAG2) pItem = GetItem(BAG1); else if (i == FAIRY) pItem = GetItem(BAG2); if ((pItem->nExpirationTime - UNIXTIME nExpirationTime != 0) || pItem->sCount RobItem(i); } } //BURASI_2
  16. arkadaslar hayırlı forumlar Oyun içerisinde H ye bastıgımda oyun takılıp oyundan atıyor.Sorun ne ile alakalı olabilir acaba
  17. Merhabalar Günlerdir db düzenlemeyle uğraşıyorum ve serverı test ettiğimde farkettim ki takılarım + basılmıyor editör item listesine baktım örneğin rof +0 +5 +6 +7 saçma sapan değerli itemler görünüyor ve hepsi orjinalinden farklı özelliklerde bundan kaynaklı olduğunu düşündüm. bu item listesini nasıl orjinale çevirebiliriz ?
  18. arkadaşlar öncelikle merhaba hepinize pus ıtemlerını 0 kc olarak ayarladım ancak oyuna gırdıgımde pustan esya cekemıyorum yeterlı kcnız yok dıyor uzerınızde. 2. bır problem ıse kclerı kırdıgım zaman pusta hesapta kc gozukmuyor:( ayrıca tb_user tablosundan cashpoınt ve _knightcash stunna 10k kc eklıyorum oyuna gırdıgımde pusta 0 kc gozukuyor ( sorunu cozmeye yardımcı olması acısından paylasıyorum ) yardımcı olabılırsenız sevınırım ıyı forumlar :)
  19. Arkadaşlar merhaba, Databaseye yeni eklediğim Gem of Life bastığımda hp vermiyor. Gem Of Life Nedir : Basıldığında 30 dakika boyunca +250 HP sağlayan bir taş. ITEM; 810243000 -1 0 Gem of Life 97 17 0 0 0 0 0 1 1 1000 0 0 1 500209 0 1 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 MAGIC; 500209 ??? ?? Jewels of Life Rise in the HP 250 nested for 30 minutes. -1 0 0 0 702 1 1 0 0 0 0 9 810243000 0 10 100 4 0 0 0 0 MAGIC_TYPE4; 500209 33 0 1800 100 100 0 100 100 100 250 100 0 100 0 0 0 0 0 0 0 0 0 0 0 100 0 100 100
  20. Merhaba sevgili KoDevelopers Ailesi; Sayenize Source Files mantığını kavrayabildim. Güncel Sorunuma gelicek olursak. 1 - Pet Görevini yapınca üzerine 2 adet kaul geliyor, Invertoryim full ise gameserver patlıyor. 2 - Pet çıkardığımda Skillbar ekrana gelmiyor ve P menüsü açılmıyor. (Ektra not : klavyeden alt + 1 kombinasyonu yaptığımda sağ altta logda çalışıyor gözüküyor bu çalışıyor) 3 - Pet npc sinde magic bag , oto looting kırdırabiliyorum sorunsuz bir şekilde, fakat Aynı npc üzerinden familiar , yaprak vs satın alamıyorum ve herhangi birşey satamıyorum. Kullandığım ve düzenlediğim sourcede Kod bu şekildedir. #include "stdafx.h" #include "Map.h" #include "KnightsManager.h" #include "KingSystem.h" #include "MagicInstance.h" #include "DBAgent.h" #include #include "../shared/DateTime.h" CPet::CPet(uint16 sSid ,uint64 SerialNum): Unit(UnitPet) { Initialize(); pUser = g_pMain->GetUserPtr(sSid); m_Serial = SerialNum; } void CPet::Initialize() { Unit::Initialize(); m_sSid = 0; m_sPid = 0; // MONSTER(NPC) Picture ID m_sSize = 100; // MONSTER(NPC) Size m_strName.clear(); // MONSTER(NPC) Name m_iMaxHP = 0; // �ִ� HP m_iHP = 0; // ���� HP m_byState = 0; // ������ (NPC) �����̻� m_tNpcType = 0; // NPC Type // 0 : Normal Monster // 1 : NPC // 2 : �� �Ա�,�ⱸ NPC // 3 : ������ m_iSellingGroup = 0; //m_dwStepDelay = 0; m_byDirection = 0; // npc�� ����,, m_iWeapon_1 = 0; m_iWeapon_2 = 0; m_NpcState = PET_ATTACK; m_byGateOpen = true; m_byObjectType = NORMAL_OBJECT; m_byTrapNumber = 0; } void CPet::HandlePacket(Packet & pkt, CUser* pUser) { uint8 type, opcode; pkt >> type >> opcode; printf("WIZ_PET PACKET Type :%u OpCode :%u ", type, opcode); if(type == 1) { switch (opcode) { case PET_STATE_CHANGE: { uint8 state = pkt.read(); printf("state %u ",state); PetStateChange(state, pUser); } break; } } else { switch (opcode) { case 4: { uint16 test1,test2; uint16 ssıd , echo , echo1 ,echo2, echo3; pkt >> test1 >> test2 >> echo >> ssıd >> echo1 >> echo2 >> echo3; printf("Move %u %u %u %u %u %u %u ",test1, test2, echo, echo1, echo2, echo3, ssıd);//, speed, echo); if (pUser == nullptr) return; CPet * pPet = g_pMain->GetPetPtr(pUser->GetSocketID() + INVALID_BAND); if (pPet == nullptr || pPet->isDead()) return; CNpc * pNpc = g_pMain->GetNpcPtr(ssıd); pPet->MoveResult(echo1, echo2, echo3, 28.0f); } case PET_MAGIC_PROCESS: MagicProcess(pkt, pUser); break; } } } void CPet::PetStateChange(uint8 state, CUser *pUser) { Packet result(WIZ_PET, uint8(1)); CPet* pPet = g_pMain->GetPetPtr(pUser->GetSocketID() + INVALID_BAND); if (pPet == nullptr) return; pPet->m_NpcState = state; pPet->m_byState = state; result m_NpcState pUser->Send(&result); } void CPet::MagicProcess(Packet & pkt, CUser *pUser) { if (g_pMain->m_IsMagicTableInUpdateProcess) return; MagicInstance instance; instance.bOpcode = MAGIC_EFFECTING; pkt >> instance.nSkillID; printf("Pet Attığı Skill ID %u ", instance.nSkillID); instance.pSkill = g_pMain->m_MagictableArray.GetData(instance.nSkillID); if (instance.pSkill == nullptr) { if (pUser != nullptr) printf("[%s] Used skill %d but it does not exist. ", pUser->GetName().c_str(), instance.nSkillID); if (pUser != nullptr && pUser->isPlayer() && instance.nSkillID { DateTime time; g_pMain->SendFormattedNotice("%s is currently disconnect for skill hack.",Nation::ALL, pUser->GetName().c_str()); g_pMain->WriteCheatLogFile(string_format("[ SkillHack - %d:%d:%d ] %s Disconnected for SkillHack. ", time.GetHour(),time.GetMinute(),time.GetSecond(), pUser->GetName().c_str())); TO_USER(pUser)->Disconnect(); } return; } pkt >> instance.sCasterID >> instance.sTargetID >> instance.sData[0] >> instance.sData[1] >> instance.sData[2] >> instance.sData[3] >> instance.sData[4] >> instance.sData[5] >> instance.sData[6]; // Prevent users from faking other players or NPCs. if (pUser != nullptr // if it's nullptr, it's from AI. && (instance.sCasterID >= NPC_BAND && instance.sCasterID return; if(instance.sCasterID == instance.sTargetID) instance.sCasterID = instance.sTargetID += INVALID_BAND; else if (instance.sCasterID >= USER_BAND && instance.sCasterID instance.sCasterID += INVALID_BAND; instance.bIsRecastingSavedMagic = false; instance.Run(); } bool CPet::LoadPetData() { if(pUser == nullptr ) return false; return g_DBAgent.LoadPetData(m_Serial, this); } void CPet::SendPetMyInfo() { if(!LoadPetData()) return; Packet result(WIZ_PET, uint8(1)); m_NpcState = m_NpcState; m_sNid = pUser->GetSocketID() + INVALID_BAND; m_sSize = 80; m_iWeapon_1 = m_iWeapon_2 = 0; m_bZone = pUser->GetZoneID(); m_bNation = pUser->GetNation(); m_strUserName = pUser->GetName(); m_bLevel = m_bLevel; m_curx = pUser->m_curx; m_curz = pUser->m_curz; m_cury = pUser->m_cury; m_tNpcType = 15; m_iSellingGroup = 0 ; m_byGateOpen = 0; m_fTotalHitrate = 0; m_fTotalEvasionrate = 0; m_sTotalAc = 0; m_sTotalHit = 0; m_byObjectType = 0; m_byTrapNumber = 0; m_bMonster = true; m_byDirection = 45; m_oSocketID = pUser->GetSocketID() + INVALID_BAND; m_bEventRoom = pUser->m_bEventRoom; m_sFireR = m_sColdR = m_sLightningR = 0; m_sMagicR = m_sDiseaseR = m_sPoisonR = 0; m_iHP = m_iMaxHP = int(25 * m_bLevel * 1.5); m_iMP = m_iMaxMP = int(25 * m_bLevel * 1.5); m_pMap = g_pMain->GetZoneByID(pUser->GetZoneID()); if (GetMap() == nullptr) return; if(!g_pMain->m_UserPetArray.PutData(GetID(),this)) { printf("Put Failed"); return; } SendInOut(INOUT_IN, GetX(), GetZ(), GetY()); result.DByte(); result for (int i = 0; i { _ITEM_DATA *pItem = GetItem(i); if (pItem == nullptr) continue; result nNum sDuration sCount nSerialNum nExpirationTime; } pUser->Send(&result); result.clear(); result.Initialize(WIZ_OBJECT_EVENT); result SendToRegion(&result); printf("%u ",GetID()); } /** * @brief Constructs and sends an in/out packet for the NPC. * * @param bType The type (in or out). * @param fX The x coordinate. * @param fZ The z coordinate. * @param fY The y coordinate. */ void CPet::SendInOut(uint8 bType, float fX, float fZ, float fY) { if (GetRegion() == nullptr) { SetRegion(GetNewRegionX(), GetNewRegionZ()); if (GetRegion() == nullptr) return; } if (bType == INOUT_OUT) { GetRegion()->Remove(this); } else { GetRegion()->Add(this); SetPosition(fX, fY, fZ); } Packet result; GetInOut(result, bType); SendToRegion(&result); } void CPet::GetNpcInfo(Packet & pkt) { pkt.SByte(); pkt } void CPet::GetInOut(Packet & result, uint8 bType) { result.Initialize(WIZ_NPC_INOUT); result if (bType != INOUT_OUT) GetNpcInfo(result); } void CPet::OnDeath(Unit *pKiller) { if (m_NpcState == NPC_DEAD) return; ASSERT(GetMap() != nullptr); ASSERT(GetRegion() != nullptr); m_NpcState = NPC_DEAD; m_sACPercent = 100; Unit::OnDeath(pKiller); InitType3(); InitType4(); if (GetRegion() != nullptr) GetRegion()->Remove(TO_PET(this)); SetRegion(); if(g_pMain->GetPetPtr(pUser->GetSocketID() + INVALID_BAND)) g_pMain->m_UserPetArray.DeleteData(pUser->GetSocketID() + INVALID_BAND); } /** * @brief Adds the Pet to the region. * * @param new_region_x The new region x coordinate. * @param new_region_z The new region z coordinate. */ void CPet::AddToRegion(int16 new_region_x, int16 new_region_z) { GetRegion()->Remove(this); SetRegion(new_region_x, new_region_z); GetRegion()->Add(this); } void CPet::MoveResult(float fPosX, float fPosY, float fPosZ, float fSpeed) { Packet result(WIZ_NPC_MOVE, uint8(1)); SetPosition(fPosX, fPosY, fPosZ); RegisterRegion(); result SendToRegion(&result); } /** * @brief Changes an NPC's hitpoints. * * @param amount The amount to adjust the HP by. * @param pAttacker The attacker. * @param bSendToAI true to update the AI server. */ void CPet::HpChange(int amount, Unit *pAttacker /*= nullptr*/, bool bSendToAI /*= true*/) { uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); // Implement damage/HP cap. if (amount amount = -MAX_DAMAGE; else if (amount > MAX_DAMAGE) amount = MAX_DAMAGE; // Glorious copypasta. if (amount m_iHP) m_iHP = 0; else if (amount >= 0 && m_iHP + amount > m_iMaxHP) m_iHP = m_iMaxHP; else m_iHP += amount; // NOTE: This will handle the death notification/looting. if (bSendToAI) //SendHpChangeToAI(tid, amount); if (pAttacker != nullptr && pAttacker->isPlayer()) TO_USER(pAttacker)->SendTargetHP(0, GetID(), amount); if (m_iHP == 0) OnDeath(pAttacker); } void CPet::MSpChange(int amount) { } void CPet::SendTargetHP( uint8 echo, int tid, int damage ) { int hp = 0, maxhp = 0; Unit *pTarget = nullptr; if (tid >= USER_BAND && tid { CUser *pUser = g_pMain->GetUserPtr(tid); if (pUser == nullptr) return; hp = pUser->m_sHp; maxhp = pUser->m_iMaxHp; pTarget = pUser; } else if (tid >= NPC_BAND && tid { if (g_pMain->m_bPointCheckFlag == false) return; CNpc *pNpc = g_pMain->GetNpcPtr(tid); if (pNpc == nullptr) return; hp = pNpc->m_iHP; maxhp = pNpc->m_iMaxHP; pTarget = pNpc; } else { CPet * nPet = g_pMain->GetPetPtr(tid); if (nPet == nullptr) return; hp = nPet->m_iHP; maxhp = nPet->m_iMaxHP; pTarget = nPet; } printf("Target ID %u %u %u %s ", pTarget->GetID(), TO_USER(pTarget)->GetID(), TO_NPC(pTarget)->GetProtoID(), pTarget->GetName().c_str()); CUser * pUser = g_pMain->GetUserPtr(GetID() - INVALID_BAND); Packet result(WIZ_TARGET_HP); result pUser->Send(&result); } Bu kodda bir hatamı var? var ise düzeltilmiş halini bana verirmisiniz? Umarım anlatmak istediğimi detaylıca anlatabilmişimdir. Eğer tam olarak kendimi ifade edemediğimi düşünüyorsanız lütfen skype: @Saitalierisek üzerinden iletişime geçebiliriz. (konuya çözümü yazmam şartıyla :) @ OzkanOzdemir
  21. Arkadaşlar merhaba, Yeni bir valkyrie yapmak istiyorum , Holy Knight Armor'ların görüntüsünü almasını istiyorum , lakin giydiğimde görüntüsünü vermiyor. Yardımlarınızı bekliyorum.
  22. bugraozcan

    Restore %100 sorunu

    Yedeğini aldıgım database i tekrar restore ederken %100 de kalıyo tamamlamıyo arkadaşlar . Birkaç kere sildim tekrar yüklemeye çalışıyorum sorun devam ediyor
  23. Merhabalar arkadaşlar, Başlıkta da belirttiğim gibi Hyper Noah hiç basılmıyor. HP & MP Maestro bildiğiniz üzere basılınca 3,5K Coins alıyor , bende ki bu sorun ne coins alıyor ne hp ve mp dolduruyor. Yardımlarınızı bekliyorum.. Hyper Noah; ITEM Tablosu; 900693000 22 0 Hyper Noah 255 15 20 0 0 100 0 1 10 2501 0 0 0 500277 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 900910000 22 0 Hyper Noah 255 15 71 0 0 100 0 1 10 2501 0 0 0 500283 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 810051000 -1 0 Hyper Noah 255 15 69 0 0 100 0 1 10 2500 0 0 0 504004 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 MAGIC Tablosu; 500277 Hyper noah Hyper noah For one hour, you will gain 100% more coins. -1 0 0 0 702 1 0 0 0 0 0 9 900693000 0 0 100 4 0 31 0 0 500283 Hyper noah Hyper noah For one hour, you will gain 100% more coins. -1 0 0 0 702 1 0 0 0 0 0 9 900910000 0 0 100 4 0 31 0 0 504004 Hiper Noha Special For one hour, you will gain 100% more coins. -1 0 0 0 702 1 0 0 0 0 0 9 810051000 0 0 100 4 0 31 0 0 MAGIC_Type4 Tablosu; 500277 16 0 3600 100 100 0 100 100 100 0 100 0 100 0 0 0 0 0 0 0 0 0 0 0 200 0 100 100 500283 16 0 3600 100 100 0 100 100 100 0 100 0 100 0 0 0 0 0 0 0 0 0 0 0 200 0 100 100 504004 16 0 3600 100 100 0 100 100 100 0 100 0 100 0 0 0 0 0 0 0 0 0 0 0 200 0 100 100 HP MP Maestro ITEM Tablosu; 810117000 22 0 HP Maestro Potion 255 17 71 0 0 0 0 45 1 4900 0 0 0 490076 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 810118000 22 0 MP Maestro Potion 255 17 71 0 0 0 0 15 1 4900 0 0 0 490084 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 HP MP Maestro MAGIC Tablosu; 490076 Water of favors Recover Health 720 HP recovery Potion -1 0 0 0 602 1 0 0 0 0 0 9 0 0 20 100 3 0 30 0 0 490084 Potion of soul Mana Recovery 1920 MP recovery Potion -1 0 0 0 702 1 0 0 0 0 0 9 0 0 20 100 3 0 30 0 0 HP MP Maestro MAGIC_TYPE3 Tablosu; 490076 0 20 720 4900 0 0 0 0 490084 0 21 1920 10500 0 0 0 0
  24. Spades

    Takı Sorunu

    Arkadaşlar merhaba, Oyuna Old Glass belt eklemek istiyorum. Databaseye eklemeyi yapıyorum , item_org'u da editliyorum , bağlı olduğu item_ex'i de editliyorum , lakin oyuna girdiğimde isim ve özellikleri normal glass belt gibi görünüyor , yardımlarınızı bekliyorum.. Database; 440410109 21 8 Old Glass Belt 94 14 0 0 0 100 0 0 1 6400 0 30 0 0 0 1 99 0 0 0 0 0 0 0 0 4 0 0 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 10 0 50 0 0 0 0 0 0 0 0 0 0 1 1 İtem_org_us.tbl; İtem_ext_21_us.tbl;
  25. Arkadaşlar merhaba, iki adet problemim var. 1-) Oyun içi Emblem görünüm ; - Emblem taktığımda charın kafasında ki çıkan yazıyı veya görünümü nereden düzenleyebilirim veya değiştirebilirim? 2-) Moira (Kutu kırdırma); - Forgotten Acessory Chest Exchange kısmına tıkladığımda kutuyu kırmıyor. Lua; Kırılacak Kutu İD : 900823000 İtem kırdırma item_exchange index'i 6189'dan başlıyor 6211'de bitiyor -------------------- Accessory Exchange Starts -------------------- if EVENT == 700 then SelectMsg(UID, 2, -1, 4035, NPC, 8805, 701, 8806, 702, 8807, 703); end -------------------- Accessory Exchange Ends -------------------- ------------------------Accessory Chest Exchange Starts-------------------------------------- if EVENT == 701 then ACCESSORYBOX= HowmuchItem(UID, 508194000); if (ACCESSORYBOX< 1) then SelectMsg(UID, 2, -1, 9462, NPC, 10); else Check = CheckExchange(UID, 476431) if Check == true then Roll = RollDice(UID, 27) found = Roll + 476430 RunExchange(UID, found); else Ret = 1; end end end ------------------------Accessory Chest Exchange Ends-------------------------------------- ------------------------Forgotten Accessory Chest Exchange Starts-------------------------------------- if EVENT == 702 then FORGOTTENACCESSORY= HowmuchItem(UID, 900823000); if (FORGOTTENACCESSORY< 1) then SelectMsg(UID, 2, -1, 9462, NPC, 10); else Check = CheckExchange(UID, 6211) if Check == true then Roll = RollDice(UID, 23) found = Roll + 6189 RunExchange(UID, found); else Ret = 1; end end end ------------------------Forgotten Accessory Chest Exchange Ends-------------------------------------- ------------------------Forgotten Advanced Accessory Chest Exchange Starts-------------------------------------- if EVENT == 703 then ADVANCEDFORGOTTEN= HowmuchItem(UID, 900824000); if (ADVANCEDFORGOTTEN< 1) then SelectMsg(UID, 2, -1, 9462, NPC, 10); else Check = CheckExchange(UID, 486431) if Check == true then Roll = RollDice(UID, 27) found = Roll + 486430 RunExchange(UID, found); else Ret = 1; end end end ------------------------Forgotten Advanced Accessory Chest Exchange Ends-------------------------------------- return Ret;
×
×
  • Yeni Oluştur...