-
Posts
220 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by DrTurk
-
Everything works fine, just forget to load the locale_string in PythonApplication.cpp
-
@Sonitex How do you declare from which locale_string.txt it should load the information? My locale_string.txt is located in /locale/de 1217 19:56:49074 :: CPythonLocaleString::FindLocaleString: cannot find "1";
-
nice job!
-
Does someone know how to fix the problem with Invalid Motion Key in debug mode? float CActorInstance::GetMotionDuration(DWORD dwMotionKey) { CGraphicThing * pMotion; if (!GetMotionThingPointer(dwMotionKey, &pMotion)) { Tracenf("CActorInstance::GetMotionDuration - Cannot get motion: %d / %d", GET_MOTION_MODE(dwMotionKey), GET_MOTION_INDEX(dwMotionKey)); return 0.0f; } if (0 == pMotion->GetMotionCount()) { #ifdef _DEBUG Tracenf("CActorInstance::GetMotionDuration - Invalid Motion Key : %d, %d, %d", GET_MOTION_MODE(dwMotionKey), GET_MOTION_INDEX(dwMotionKey), GET_MOTION_SUB_INDEX(dwMotionKey)); #endif return 0.0f; } CGrannyMotion * pGrannyMotion = pMotion->GetMotionPointer(0); return pGrannyMotion->GetDuration(); } When you just stand ingame doing nothing, this gets spammed. CActorInstance::GetMotionDuration - Invalid Motion Key : 1, 1, 0 Or can someone give me a hint where I have to search.
-
Skills with Slow Effect not Working
DrTurk replied to KronosG's topic in Community Support - Questions & Answers
All other affects like aura etc are working? -
Skills with Slow Effect not Working
DrTurk replied to KronosG's topic in Community Support - Questions & Answers
Can you upload skill.h and char_skill.cpp? -
Skills with Slow Effect not Working
DrTurk replied to KronosG's topic in Community Support - Questions & Answers
Something isnt right with your skill proto if the slow affect doesnt show up (top left in the screen) [Hidden Content] Post your enum EAffectBits from affects.h and your skill_proto.sql -
Skills with Slow Effect not Working
DrTurk replied to KronosG's topic in Community Support - Questions & Answers
You dont even get the affect, check your skill_proto in server -
Thanks for the release. There is also a pickupfilter system via serverside from Sanii, its free and i'm using it for about 4 months now, no problem at all works like a charm.
-
Compiler Can't Find Boost
DrTurk replied to Defacer35's topic in Community Support - Questions & Answers
typdef.h --> #define itertype(v) decltype((v).begin()) -
[SRC] GCC49/C++11 Upgrade
DrTurk replied to Cunoo's topic in Community Support - Questions & Answers
Did you recompile cryptoPP since your update? -
[SRC] GCC49/C++11 Upgrade
DrTurk replied to Cunoo's topic in Community Support - Questions & Answers
../../../External/include/cryptopp/secblock.h:91:14: error: 'CheckSize' was not declared in this scope, and no declarations were found by argument-dependent loo kup at the point of instantiation [-fpermissive] ../../../External/include/cryptopp/secblock.h:91:14: note: declarations in depen dent base 'CryptoPP::AllocatorBase<unsigned int>' are not found by unqualified l ookup ../../../External/include/cryptopp/secblock.h:91:14: note: use 'this->CheckSize' just do that thing your compiler says to you -
Nice tutorial, my server is now running flawless
-
new IGNORE_BLOCK function
DrTurk replied to DrTurk's topic in Community Support - Questions & Answers
So maybe its just for the new hydra run, thanks penger -
Does someone know what IGNORE_BLOCK stands for in skilldesc? I have added this attributeflag in my source but without any function behind it, just that i dont have to delete it from files.
-
What is done in step 3 (performance) ?
-
Paid service - Vegas Projects
DrTurk commented on VegaS™'s product in Third Party - Providers Directory
Reselling Dude: What earn money with my own work?: -
Whats the correct way to initialize structs/classes? I dont want to use memset, so I did it that way: class ClientHandleInfo { public: DWORD dwHandle = 0; DWORD account_id = 0; DWORD player_id = 0; BYTE account_index = 0; char login[LOGIN_MAX_LEN + 1] = ""; char safebox_password[SAFEBOX_PASSWORD_MAX_LEN + 1] = ""; char ip[MAX_HOST_LENGTH + 1] = ""; original: class ClientHandleInfo { public: DWORD dwHandle; DWORD account_id; DWORD player_id; BYTE account_index; char login[LOGIN_MAX_LEN + 1]; char safebox_password[SAFEBOX_PASSWORD_MAX_LEN + 1]; char ip[MAX_HOST_LENGTH + 1]; I'm just using "" instead of "/0" because the +1 should do it already, correct me if i'm wrong, I'm learning by doing I never learned C++ Whats the correct initialize for a struct like that? Can someone show me a example? typedef struct SShopItemTable { DWORD vnum = 0; WORD count = 0; TItemPos pos; long long price = 0; BYTE display_pos = 0; long alSockets[ITEM_SOCKET_MAX_NUM]; TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM]; DWORD price_type = 1; DWORD price_vnum = 0; SShopItemTable() { memset(&alSockets, 0, sizeof(alSockets)); memset(&aAttr, 0, sizeof(aAttr)); } } TShopItemTable;
-
Only visual bug?
-
the 300 or 80 in your case is not the drop chance, the dropchance in this quest ist calaculated by the ds_drop flag Just use this quest: define gemstone 30270 define alchemist 20001 define reward_box 50255 define gemstone_need_count 10 define gemstone_trade_max_per_day 30 define dragon_soul_can_use_level 30 define dragon_soul_shop_vnum 131 quest dragon_soul begin state start begin when levelup or letter with pc.level >= dragon_soul_can_use_level begin send_letter(gameforge.dragon_soul._1010_sendLetter) local v = find_npc_by_vnum(alchemist) if 0 != v then target.vid("__TARGET__", v, mob_name(alchemist)) end end when info or button begin say(gameforge.dragon_soul._1020_say) end when alchemist.chat.gameforge.dragon_soul._1030_npcChat with pc.level >= dragon_soul_can_use_level begin target.delete("__TARGET__") say_title(mob_name(alchemist)) say(gameforge.dragon_soul._1040_say) set_state(state_learning) end end state state_learning begin when letter begin send_letter(gameforge.dragon_soul._1050_sendLetter) end when info or button begin say(gameforge.dragon_soul._1060_say) end when kill begin if npc.is_pc() then return end if pc.count_item(gemstone) < gemstone_need_count then local drop = number(1, 100) if drop <= 10 then game.drop_item_with_ownership(gemstone, 1, 300) end end end when alchemist.chat.gameforge.dragon_soul._1050_sendLetter begin say_title(mob_name(alchemist)) if pc.count_item(gemstone) >= gemstone_need_count then say(gameforge.dragon_soul._1070_say) pc.remove_item(gemstone, gemstone_need_count) ds.give_qualification() char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS') pc.give_item2(reward_box) local today = math.floor(get_global_time() / 86400) pc.setf("dragon_soul", "eye_timestamp", today) pc.setf("dragon_soul", "eye_left", 29) set_state(state_farming) else say(gameforge.dragon_soul._1080_say) end end end state state_farming begin when letter begin send_letter(gameforge.dragon_soul._1090_sendLetter) end when info or button begin say_title("Macht des Drachenauges") say(string.format(gameforge.dragon_soul._1100_say, pc.getf("dragon_soul", "eye_left"))) end when kill begin if npc.is_pc() then return end local drop = number(1, 100) if drop <= 10 then local eye_left = pc.getf("dragon_soul", "eye_left") local haved_gemstone_number = pc.count_item(gemstone) if eye_left > haved_gemstone_number / gemstone_need_count then game.drop_item_with_ownership(gemstone, 1, 300) end end end when gemstone.pick begin local eye_left = pc.getf("dragon_soul", "eye_left") if eye_left <= 0 then return end if pc.count_item(gemstone) >= gemstone_need_count then pc.setf("dragon_soul", "eye_left", eye_left - 1) pc.remove_item(gemstone, gemstone_need_count) pc.give_item2(reward_box) if 1 == eye_left then notice_multiline(gameforge.dragon_soul._1110_notice, notice) set_state(state_closed_season) end end end when alchemist.chat.gameforge.dragon_soul_refine._010_npcChat with ds.is_qualified() != 0 begin say_title(mob_name(alchemist)) say (gameforge.dragon_soul_refine._020_say) ds.open_refine_window() end when alchemist.chat.gameforge.dragon_soul._100_npcChat with ds.is_qualified() begin setskin(NOWINDOW) npc.open_shop(dragon_soul_shop_vnum) end when alchemist.chat.gameforge.dragon_soul._1120_npcChat begin say_title(mob_name(alchemist)) local today = math.floor(get_global_time() / 86400) if today == pc.getf("dragon_soul", "eye_timestamp") then say(gameforge.dragon_soul._1130_say) else say(gameforge.dragon_soul._1140_say) pc.setf("dragon_soul", "eye_timestamp", today) pc.setf("dragon_soul", "eye_left", 30) end end end state state_closed_season begin when letter begin send_letter(gameforge.dragon_soul._1150_sendLetter) end when info or button begin say(gameforge.dragon_soul._1160_say) local today = math.floor(get_global_time() / 86400) if today == pc.getf("dragon_soul", "eye_timestamp") then say(gameforge.dragon_soul._1170_say) else say(gameforge.dragon_soul._1180_say) end end when alchemist.chat.gameforge.dragon_soul._1090_sendLetter begin say_title(mob_name(alchemist)) local today = math.floor(get_global_time() / 86400) if today == pc.getf("dragon_soul", "eye_timestamp") then say(gameforge.dragon_soul._1130_say) else say(gameforge.dragon_soul._1140_say) pc.setf("dragon_soul", "eye_timestamp", today) pc.setf("dragon_soul", "eye_left", 30) set_state(state_farming) end end end -- deprecated states. so, jump to new state. state state_1 begin when login begin set_state(state_learning) end end state state_2 begin when login begin set_state(state_learning) end end state state_3 begin when login begin set_state(state_closed_season) end end end
-
You could do it like that: when kill begin if npc.is_pc() then return end if pc.count_item(gemstone) < gemstone_need_count then local drop = number(1, 100) if drop <= 10 then game.drop_item_with_ownership(gemstone, 1, 300) end end end when kill begin if npc.is_pc() then return end local drop = number(1, 100) if drop <= 10 then local eye_left = pc.getf("dragon_soul", "eye_left") local haved_gemstone_number = pc.count_item(gemstone) if eye_left > haved_gemstone_number / gemstone_need_count then game.drop_item_with_ownership(gemstone, 1, 300) end end end
-
Item/mob_proto reading by client
DrTurk replied to uScared?'s topic in Community Support - Questions & Answers
you can call the vnum instead of the name for server, so that the client can replace the name with the vnum