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

KODevelopers

Forum Sahibi
  • İçerik sayısı

    1.458
  • Katılım

  • Son ziyaret

  • Günün Kazananı

    10
  • Puan

    2,396 [ Bağış Yap ]

KODevelopers kullanıcısının paylaşımları

  1. @ Mikarin Merhabaa Hangi version ?
  2. Usko Son güncellemiştir 2183 [Gizli İçerik]
  3. KODevelopers

    v21xx Pus-İnvertory Hatası

    @ GUNEYHAN INSERT_WEBITEM Sil baştan ekle. CREATE PROCEDURE [dbo].[INSERT_WEBITEM] @account varchar(50), @itemid int, @itemcount smallint AS BEGIN declare @char varchar(50) select @char = strCharID from CURRENTUSER where strAccountID = @account INSERT INTO WEB_ITEMMALL VALUES (@account,@char,1,@itemid,@itemcount,GetDate(),'','',0,0,0) END GO
  4. KODevelopers

    v21xx Pus-İnvertory Hatası

    @ GUNEYHAN bunu Dener misi ALTER PROCEDURE [dbo].[INSERT_WEBITEM] @account varchar(50), @itemid int, @itemcount smallint AS BEGIN declare @char varchar(50) select @char = strCharID from CURRENTUSER where strAccountID = @account INSERT INTO WEB_ITEMMALL VALUES (@account,@char,1,@itemid,@itemcount,GetDate(),'','',0,0,0) END
  5. @ we1982 Merhaba.. Loginserver.ini deki sadece [DOWNLOAD] PATH=/ URL=127.0.0.1 [NEWS] TITLE_00= TITLE_01= TITLE_02= [ODBC] DSN=kn_online PWD=password UID=username [SERVER_LIST] COUNT=2 FREELIMIT_00=3000 FREELIMIT_01=3000 GROUPID_00=1 GROUPID_01=1 ID_00=1 ID_01=1 KING1_00= KING1_01= KING2_00= KING2_01= KINGMSG1_00= KINGMSG1_01= KINGMSG2_00= KINGMSG2_01= LANIP_00=NO İP LANIP_01=ipconfig ip NAME_00=USER|USER NAME_01=AdminGiris|Giris PREMLIMIT_00=3000 PREMLIMIT_01=3000 SERVER_00=NO İP SERVER_01=ipconfig ip [SETTINGS] PORT=15100
  6. KODevelopers

    1299 oyun içi ses sorunu

    @ Fugal Anladım eksik olabilir benim ki vereyim. dener misi. Dosya.tc -
  7. KODevelopers

    1299 oyun içi ses sorunu

    @ Fugal Merhaba Option.ini varsa sil tekrar gir.. birşeyler ayarlama direk sesi var mı onun bak.
  8. Merhaba.. Kırdırmak bölümü açmak istedim fakat bos geliyor luada kısımı ne eksigi var.. bulamadım. local UserClass; local QuestNum; local Ret = 0; local NPC =19073; --104 Kısımı okunuyor if (EVENT == 100) then SelectMsg(UID, 20, -1, 845, NPC, 4520, 101, 4521, 102, 4526, 103, 4522, 104, 4523, 105); end if EVENT == 104 then SelectMsg(UID, 19, -1, 848, NPC, 4524, 106, 4525, 168); end if EVENT == 105 then SelectMsg(UID, 21, -1, -1, NPC, -1, -1 ); end if EVENT == 106 then SelectMsg(UID, 18, -1, -1, NPC); end if EVENT == 168 then Ret = 1; end if (EVENT == 101) then SelectMsg(UID, 2, -1, 846, NPC, 2003, 100); end if (EVENT == 102) then SelectMsg(UID, 2, -1, 847, NPC, 2003, 100); end if (EVENT == 103) then SelectMsg(UID, 2, -1, 849, NPC, 4527, 200, 4528, 201); end if (EVENT == 200) then Loyalty = CheckLoyalty(UID); Money = HowmuchItem(UID, 900000000); if (Loyalty SelectMsg(UID, 2, -1, 852, NPC, 18, 202); elseif (Money SelectMsg(UID, 2, -1, 851, NPC, 18, 203); else RobLoyalty(UID, 100) GoldLose(UID, 1000000) GiveItem(UID, 389132000, 1) end end if (EVENT == 202) then ShowMap(UID, 338); end if (EVENT == 203) then ShowMap(UID, 336); end if (EVENT == 201) then SelectMsg(UID, 2, -1, 854, NPC, 10, 168); end
  9. KODevelopers

    v21xx Pus-İnvertory Hatası

    @ GUNEYHAN. INSERT_WEBITEM görebilir miyim buraya eklebilir misi sql kod bakayim.
  10. @ sem123 Socket kopması var Shared kontrol eder misi rica etsem.. Burası Sıkındı yer. Baska src bakabilirsi ordan alıp deneyebilirsi. shared Kod: SocketMgr.cpp SocketWin32.cpp Socket.cpp KOSocket.cpp
  11. KODevelopers

    v21xx Pus-İnvertory Hatası

    @ GUNEYHAN Merhaba.. Letter sistemin yaparsa oraya kısımı düzeltmek gerekiyor. DB deki Procedure gidin. INSERT_WEBITEM
  12. KODevelopers

    Gameserver donma

    @ we1982 Merhaba Game mi donuyor direk mi kapanıyor yardımcı olayim src var mı ve files den mi aldı nerde paylaşdıkları öğreneyim yardımcı olayim.
  13. Teşekkürler yararlı paylaşım güzel
  14. KODevelopers

    GameServer hk.

    Level Up da alakısı yok Clan paketini yazması istiyor.. Sexyko Src kullanıyorsun. Öğrenmek gerek lazım Tablodan prosedür aracılığıyla veri okuma https://www.kodevelopers.com/gelistirme/1107-tablodan-prosedur-araciligiyla-veri-okuma.html
  15. KODevelopers

    GameServer hk.

    Nasıl yani biraz açıklamayı verir misi levep up işlem yapmıyor nasıl birşey ?
  16. KODevelopers

    2167 Versıyon hk

    @ HKS Teşekkürler... benim ki sorun yoktur..
  17. KODevelopers

    2167 Versıyon hk

    Packet.h de altında ekle #define WIZ_HACKTOOL 0x72 #define WIZ_NEW_1 0xB3 User.h de ekle void HackTool(Packet & pkt); void News(Packet & pkt); Game/LoginHandler.cpp altında ekle //Gerisi paketini yazarsı. void CUser::HackTool(Packet & pkt) { Packet result(WIZ_HACKTOOL, uint8_t(1)); Send(&result); } void CUser::News(Packet & pkt) { Packet result(WIZ_NEW_1, uint8_t(1)); Send(&result); } User.cpp altında ekle HandlePacket case WIZ_SPEEDHACK_CHECK: deki altında Ekle case WIZ_HACKTOOL: HackTool(pkt); break; case WIZ_NEW_1: News(pkt); break;
  18. KODevelopers

    ICE mage EFFECT problemi

    Soruyu çözüldü. bunu şekilde değiştirebilirsi. // Applied when a magical attack, healing, and mana restoration is done. bool MagicInstance::ExecuteType3() { if (pSkill == nullptr) return false; _MAGIC_TYPE3* pType = g_pMain->m_Magictype3Array.GetData(nSkillID); if (pType == nullptr) return false; int damage = 0, duration_damage = 0; vector casted_member; // If the target's a group of people... if (sTargetID == -1) { std::vector unitList; g_pMain->GetUnitListFromSurroundingRegions(pSkillCaster, &unitList); if(pType->sFirstDamage > 0 || pType->sTimeDamage > 0) casted_member.push_back(pSkillCaster); BOOST_FOREACH (auto itr, unitList) { Unit * pTarget = g_pMain->GetUnitPtr(itr); if(pTarget == nullptr) continue; if (pTarget->isNPC() && pTarget->GetNation() == pSkillCaster->GetNation() && pType->sFirstDamage && !TO_NPC(pTarget)->isMonster()) continue; if(pTarget->GetEventRoom() != pSkillCaster->GetEventRoom()) continue; if (pSkillCaster != pTarget && !pTarget->isDead() && pTarget->isAttackable() && CMagicProcess::UserRegionCheck(pSkillCaster, pTarget, pSkill, pType->bRadius, sData[0], sData[2])) casted_member.push_back(pTarget); } // If you managed to not hit anything with your AoE, you're still gonna have a cooldown (You should l2aim) if (casted_member.empty() || (sTargetID == -1 && casted_member.empty())) { SendSkill(); return true; } } else { // If the target was a single unit. if (pSkillTarget == nullptr || pSkillTarget->isDead() || (pSkillTarget->isPlayer() && (TO_USER(pSkillTarget)->isBlinking() || TO_USER(pSkillTarget)->isInSafetyArea()))) return false; if (pSkill->sRange > 0 && (pSkillCaster->GetDistanceSqrt(pSkillTarget) > float(pSkill->sRange * 2))) return false; casted_member.push_back(pSkillTarget); } // Anger explosion requires the caster be a player // and a full anger gauge (which will be reset after use). if (pType->bDirectType == 18) { // Only players can cast this skill. if (!pSkillCaster->isPlayer() || !TO_USER(pSkillCaster)->hasFullAngerGauge()) return false; // Reset the anger gauge TO_USER(pSkillCaster)->UpdateAngerGauge(0); } sData[1] = 1; BOOST_FOREACH (auto itr, casted_member) { Unit * pTarget = itr; // it's checked above, not much need to check it again if(pTarget == nullptr) continue; if (pSkill->sRange > 0 && (pSkillCaster->GetDistanceSqrt(pTarget) >= (float)pSkill->sRange)) continue; // If you are casting an attack spell. if ((pType->sFirstDamage bDirectType == 1 || pType->bDirectType == 8) && (nSkillID && (pType->bDirectType != 11 && pType->bDirectType != 13)) damage = GetMagicDamage(pTarget, pType->sFirstDamage, pType->bAttribute); else damage = pType->sFirstDamage; // Allow for complete magic damage blocks. if (damage m_bBlockMagic) continue; if (pSkillCaster->isPlayer()) { if (pSkillCaster->GetZoneID() == ZONE_SNOW_BATTLE && g_pMain->m_byBattleOpen == SNOW_BATTLE) damage = -10; } bool bSendLightningStunSkill = true; if (pType->bDirectType && pType->bAttribute == AttributeLightning || pType->bAttribute == AttributeIce && pTarget->isPlayer()) { // Success rate... if (pSkill->bSuccessRate bSuccessRate bSendLightningStunSkill = false; // Calculate user ressistance... else { uint16 nMaxRessitance = 250; // Monster Lighting Fix uint16 nTargetResistance = pType->bAttribute == AttributeIce ? pTarget->m_sColdR : pTarget->m_sLightningR; if (nTargetResistance > nMaxRessitance) nMaxRessitance = nTargetResistance; if (nTargetResistance >= myrand(0, nMaxRessitance - nTargetResistance) || myrand(0,3)) bSendLightningStunSkill = false; } if (nSkillID == 115810 || nSkillID == 215810) bSendLightningStunSkill = true; } // Non-durational spells. if (pType->bDuration == 0) { switch (pType->bDirectType) { // Affects target's HP case 1: // Disable to heal or minor NPC. if ((pTarget->isNPC() && pType->sTimeDamage > 0) || (pTarget->isNPC() && pType->sFirstDamage > 0)) return false; // "Critical Point" buff gives a chance to double HP from pots or the rogue skill "Minor heal". if (damage > 0 && pSkillCaster->hasBuff(BUFF_TYPE_DAMAGE_DOUBLE) && CheckPercent(500)) damage *= 2; /*if (damage > 0 && pTarget->isDevil()) //Created by Terry damage *= 2; //Kurian HP POT x2*/ pTarget->HpChangeMagic(damage, pSkillCaster, (AttributeType) pType->bAttribute); if (pTarget->m_bReflectArmorType != 0 && pTarget != pSkillCaster && damage ReflectDamage(damage, pTarget); break; case 2: if (!pTarget->isDead() && pTarget->isPlayer()) pTarget->MSpChange(pType->sFirstDamage); else if (!pTarget->isDead()) pTarget->HpChange(pType->sFirstDamage,pSkillCaster); break; case 3: pTarget->MSpChange(damage); break; // "Magic Hammer" repairs equipped items. case 4: if (pTarget->isPlayer()) { if (damage > 0) { // Power Up Store ( Talia, Armor Destruction ve Tamamını ) if (pSkill->iNum == SPECIAL_MAGIC_HAMMER_SKILL_1 || pSkill->iNum == SPECIAL_MAGIC_HAMMER_SKILL_2 || pSkill->iNum == SPECIAL_MAGIC_HAMMER_SKILL_3) TO_USER(pTarget)->ItemWoreOut(ACID_ALL, damage); else TO_USER(pTarget)->ItemWoreOut(REPAIR_ALL, damage); } else TO_USER(pTarget)->ItemWoreOut(DEFENCE, -damage); } break; // Increases/decreases target's HP by a percentage case 5: if (pType->sFirstDamage damage = (pType->sFirstDamage * pTarget->GetHealth()) / -100; else damage = (pTarget->GetMaxHealth() * (pType->sFirstDamage - 100)) / 100; pTarget->HpChangeMagic(damage, pSkillCaster); break; // Caster absorbs damage based on percentage of target's HP. Players only. case 8: if (pType->sFirstDamage > 0) { if (pType->sFirstDamage damage = (pTarget->GetHealth() * 100) / pType->sFirstDamage; else damage = (pTarget->GetMaxHealth() - 100 * 100) / pType->sFirstDamage; } if (!pTarget->isDead() && pTarget->isPlayer()) { pTarget->HpChangeMagic(damage, pSkillCaster); pSkillCaster->HpChangeMagic(-(damage)); } else pTarget->HpChange(damage,pSkillCaster); break; // Caster absorbs damage based on percentage of target's max HP case 9: if (pType->sFirstDamage damage = (pType->sFirstDamage * pTarget->GetHealth()) / -100; else damage = (pTarget->GetMaxHealth() * (pType->sFirstDamage - 100)) / 100; pTarget->HpChangeMagic(damage, pSkillCaster); if (pTarget->isPlayer()) pSkillCaster->HpChangeMagic(-(damage)); break; // Inflicts true damage (i.e. disregards Ac/resistances/buffs, etc). case 11: pTarget->HpChange(damage, pSkillCaster); break; // Used by "Destination scroll" (whatever that is) case 12: continue; // Chance (how often?) to reduce the opponent's armor and weapon durability by sFirstDamage case 13: if (pTarget->isPlayer() && CheckPercent(500)) // using 50% for now. { TO_USER(pTarget)->ItemWoreOut(ATTACK, damage); TO_USER(pTarget)->ItemWoreOut(DEFENCE, damage); } break; // Drains target's MP, gives half of it to the caster as HP. Players only. // NOTE: Non-durational form (as in 1.8xx). This was made durational later (database configured). case 16: if (pTarget->isPlayer()) { pTarget->MSpChange(pType->sFirstDamage); pSkillCaster->HpChangeMagic(-(pType->sFirstDamage) / 2); } break; case 17: if (!pTarget->isNPC() && !pTarget->isDead() && pSkillCaster->GetZoneID() == ZONE_DELOS && !pSkillCaster->isDead()) { pTarget->HpChangeMagic(pType->sFirstDamage,pSkillCaster, (AttributeType) pType->bAttribute); } break; case 19: // Chaos Dungeon Skills if (pTarget->isPlayer()) { pTarget->HpChangeMagic(damage / 10, pSkillCaster, (AttributeType) pType->bAttribute); if (pTarget != pSkillCaster) ReflectDamage(damage, pTarget); } break; // Stat Scroll - MagicNum = 501011 case 255: if (TO_USER(pSkillCaster)->isPlayer()) { } break; } } // Durational spells! Durational spells only involve HP. else if (pType->bDuration != 0) { if (pType->bDirectType == 18) damage = -(int)(pSkillCaster->GetLevel() * 12.5); if (damage != 0) // In case there was first damage...... pTarget->HpChangeMagic(damage, pSkillCaster); // Initial damage!!! if (pTarget == nullptr) return false; if (pTarget->isAlive()) { CUser *pUser = TO_USER(pSkillCaster); // HP booster (should this actually just be using sFirstDamage as the percent of max HP, i.e. 105 being 5% of max HP each increment?) if (!pTarget->isNPC()) { if (pType->bDirectType == 14) duration_damage = (int)(pSkillCaster->GetLevel() * (10 + pSkillCaster->GetLevel() / 2.6)) + 3; else if (pType->bDirectType == 19) duration_damage = (pType->sTimeDamage / 10); /*else if (pSkillCaster->isPlayer() && pUser->isKurianPortu()) duration_damage = (pType->sTimeDamage * 2);*/ else if (pType->sTimeDamage bAttribute != 4) duration_damage = GetMagicDamage(pTarget, pType->sTimeDamage, pType->bAttribute); else duration_damage = pType->sTimeDamage; // Allow for complete magic damage blocks. if (duration_damage m_bBlockMagic) continue; if (pType->bDirectType == 18) duration_damage = -(int)((pSkillCaster->GetLevel() * 12.5) * (pType->bDuration / 2)); // Setup DOT (damage over time) for (int k = 0; k { Unit::MagicType3 * pEffect = &pTarget->m_durationalSkills[k]; if(pEffect == nullptr) continue; if (pEffect->m_byUsed) continue; pEffect->m_byUsed = true; pEffect->m_tHPLastTime = 0; if (pType->bDirectType == 14) // HP Booster pot basamama sorunu pEffect->m_bHPInterval = 4; // interval of 4s between each damage loss/HP gain else pEffect->m_bHPInterval = 2; // interval of 2s between each damage loss/HP gain // number of ticks required at a rate of 2s per tick over the total duration of the skill float tickCount = (float)pType->bDuration / (float)pEffect->m_bHPInterval; // amount of HP to be given/taken every tick at a rate of 2s per tick pEffect->m_sHPAmount = (int16)(duration_damage / tickCount); pEffect->m_bTickCount = 0; pEffect->m_bTickLimit = (uint8) tickCount; pEffect->m_sSourceID = sCasterID; pEffect->m_byAttribute = pType->bAttribute; pEffect->m_sTo = false; break; } pTarget->m_bType3Flag = true; }else{ if (pType->sTimeDamage bAttribute != 4) duration_damage = GetMagicDamage(pTarget, pType->sTimeDamage, pType->bAttribute); else duration_damage = pType->sTimeDamage; for (int k = 0; k { Unit::MagicType3 * pEffect = &pSkillCaster->m_durationalSkills[k]; if(pEffect == nullptr) continue; if (pEffect->m_byUsed) continue; pEffect->m_byUsed = true; pEffect->m_tHPLastTime = 0; pEffect->m_bHPInterval = 2; // interval of 2s between each damage loss/HP gain // number of ticks required at a rate of 2s per tick over the total duration of the skill float tickCount = (float)pType->bDuration / (float)pEffect->m_bHPInterval; // amount of HP to be given/taken every tick at a rate of 2s per tick pEffect->m_sHPAmount = (int16)(duration_damage / tickCount); pEffect->m_bTickCount = 0; pEffect->m_bTickLimit = (uint8) tickCount; pEffect->m_sSourceID = pTarget->GetID(); pEffect->m_byAttribute = pType->bAttribute; pEffect->m_sTo = true; break; } pSkillCaster->m_bType3Flag = true; } } // Send the status updates (i.e. DOT or position indicators) to the party/user if (pTarget->isPlayer() // Ignore healing spells, not sure if this will break any skills. && pType->sTimeDamage { if (bSendLightningStunSkill) TO_USER(pTarget)->SendUserStatusUpdate(pType->bAttribute == POISON_R ? USER_STATUS_POISON : USER_STATUS_DOT, USER_STATUS_INFLICT); } } if (!bSendLightningStunSkill) { if (pSkillCaster->isNPC()) { sData[1] = 0; BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); TO_USER(pTarget)->ShowEffect(nSkillID); } else { if (pSkill->bMoral == MORAL_ENEMY) { sData[1] = 0; BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); TO_USER(pTarget)->ShowEffect(nSkillID); } else if (pSkill->bMoral != MORAL_ENEMY) { sData[1] = 0; BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); } } } else { if (bSendLightningStunSkill && LightStunSkills() && pTarget->isPlayer() || bSendLightningStunSkill && ColdSkills() && pTarget->isPlayer()) { MagicInstance instance; nSkillID += 80000; instance.nSkillID = nSkillID; if (LightStunSkillsNot() && pTarget->isPlayer()) { TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_INFLICT); ExecuteType4(); } if(ColdSkillsNot() && pTarget->isPlayer()) { if (pTarget->isPlayer() && ColdSkillsNot()) { TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_SPEED, USER_STATUS_INFLICT); ExecuteType4(); } _MAGIC_TYPE4* pType2 = g_pMain->m_Magictype4Array.GetData(nSkillID); if (pType2 == nullptr) return false; uint8 nTargetSpeedAmount = pType2->bSpeed; uint8 bResult = 1; uint16 sDuration = pType2->sDuration; Unit *pTmp = (pSkillCaster->isPlayer() ? pSkillCaster : pTarget); int16 sDataCopy[] = { sData[0], bResult, sData[2], sDuration, sData[4], pType2->bSpeed, sData[6] }; sDataCopy[5] = nTargetSpeedAmount; BuildAndSendSkillPacket(pTmp, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sDataCopy); } else BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); TO_USER(pTarget)->ShowEffect(nSkillID); } else // Send the skill data in the current context to the caster's region, with the target explicitly set. // In the case of AOEs, this will mean the AOE will show the AOE's effect on the user (not show the AOE itself again). if (pSkill->bType[1] == 0 || pSkill->bType[1] == 3) BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); } // Tell the AI server we're healing someone (so that they can choose to pick on the healer!) if (pType->bDirectType == 1 && damage > 0 && sCasterID != sTargetID) { Packet result(AG_HEAL_MAGIC); result g_pMain->Send_AIServer(&result); } } // Allow for AOE effects. if (sTargetID == -1 && pSkill->bType[0] == 3) SendSkill(); return true; }
  19. KODevelopers

    ICE mage EFFECT problemi

    Sen beni küfür etmisi o yüzden engellemiştim ahh hatırladım :p neyse engellemeyi kaldırıyorum.. http://prntscr.com/htr7v4
  20. KODevelopers

    ICE mage EFFECT problemi

    @ vestside Skype ekle efsaneemoo6161 bakması lazım..
  21. KODevelopers

    2167 Versıyon hk

    @ byxox hata degil 0x72 xigncode paketini yazmak lazım yada kullanmasa kapatabilirsi. 0xB3 paketini town atılması paketini yazması gerekiyor.
  22. KODevelopers

    ICE mage EFFECT problemi

    bool MagicInstance::ExecuteType3() paketini at bakayim..
  23. KODevelopers

    Yeni GIF smiley listesi

    https://gif-avatars.com/img/90x90/i-am-groot.gif https://gif-avatars.com/img/90x90/sorry.gif https://gif-avatars.com/img/90x90/avatar-51.gif https://gif-avatars.com/img/90x90/avatar-49.gif https://gif-avatars.com/img/90x90/f7-1.gif Beğendikleri varsa all
  24. KODevelopers

    [0xF3] WIZ_ACCOUNT_LOGIN

    Teşekkürler Ellerine sağlık.
×
×
  • Yeni Oluştur...