Jump to content

LearningRO

Members
  • Posts

    778
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by LearningRO

  1. yeah, i know about that, but player still must have 5 porco to appear that menu right???
  2. thx bro, but how to make function reset appearance it's free ??
  3. hi, all i need help to make this npc cost 5 poring coin every use this npc thx
  4. i was try it but stil didn;t recognize my costum :(( and btw structure on itemdb.h in last version different also in cons.txt and still get error like this
  5. i try input on itemdb.h and script_constants.h and item_group_id and set on item_db.txt but always get error what step i miss :(( and i was recompile
  6. i still got warning but not to much and this i use gcc/g++ 5 OS debian 8 last ver and pure
  7. i got warning when compile server In file included from include/yaml-cpp/node/detail/node.h:14:0, from src/node_data.cpp:7: include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_mark(const YAML::Mark&)’: include/yaml-cpp/node/detail/node_ref.h:33:35: warning: declaration of ‘mark’ shadows a member of 'this' [-Wshadow] void set_mark(const Mark& mark) { m_pData->set_mark(mark); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_type(YAML::NodeType::value)’: include/yaml-cpp/node/detail/node_ref.h:34:39: warning: declaration of ‘type’ shadows a member of 'this' [-Wshadow] void set_type(NodeType::value type) { m_pData->set_type(type); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_tag(const string&)’: include/yaml-cpp/node/detail/node_ref.h:35:40: warning: declaration of ‘tag’ shadows a member of 'this' [-Wshadow] void set_tag(const std::string& tag) { m_pData->set_tag(tag); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_scalar(const string&)’: include/yaml-cpp/node/detail/node_ref.h:37:46: warning: declaration of ‘scalar’ shadows a member of 'this' [-Wshadow] void set_scalar(const std::string& scalar) { m_pData->set_scalar(scalar); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_style(YAML::EmitterStyle::value)’: include/yaml-cpp/node/detail/node_ref.h:38:45: warning: declaration of ‘style’ shadows a member of 'this' [-Wshadow] void set_style(EmitterStyle::value style) { m_pData->set_style(style); } ^ In file included from src/node_data.cpp:7:0: include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_mark(const YAML::Mark&)’: include/yaml-cpp/node/detail/node.h:69:35: warning: declaration of ‘mark’ shadows a member of 'this' [-Wshadow] void set_mark(const Mark& mark) { m_pRef->set_mark(mark); } ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_type(YAML::NodeType::value)’: include/yaml-cpp/node/detail/node.h:71:39: warning: declaration of ‘type’ shadows a member of 'this' [-Wshadow] void set_type(NodeType::value type) { ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_scalar(const string&)’: include/yaml-cpp/node/detail/node.h:80:46: warning: declaration of ‘scalar’ shadows a member of 'this' [-Wshadow] void set_scalar(const std::string& scalar) { ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_tag(const string&)’: include/yaml-cpp/node/detail/node.h:84:40: warning: declaration of ‘tag’ shadows a member of 'this' [-Wshadow] void set_tag(const std::string& tag) { ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_style(YAML::EmitterStyle::value)’: include/yaml-cpp/node/detail/node.h:90:45: warning: declaration of ‘style’ shadows a member of 'this' [-Wshadow] void set_style(EmitterStyle::value style) { ^ src/node_data.cpp: In member function ‘void YAML::detail::node_data::set_mark(const YAML::Mark&)’: src/node_data.cpp:31:42: warning: declaration of ‘mark’ shadows a member of 'this' [-Wshadow] void node_data::set_mark(const Mark& mark) { m_mark = mark; } ^ src/node_data.cpp: In member function ‘void YAML::detail::node_data::set_type(YAML::NodeType::value)’: src/node_data.cpp:33:46: warning: declaration of ‘type’ shadows a member of 'this' [-Wshadow] void node_data::set_type(NodeType::value type) { ^ src/node_data.cpp: In member function ‘void YAML::detail::node_data::set_tag(const string&)’: src/node_data.cpp:64:47: warning: declaration of ‘tag’ shadows a member of 'this' [-Wshadow] void node_data::set_tag(const std::string& tag) { m_tag = tag; } ^ src/node_data.cpp: In member function ‘void YAML::detail::node_data::set_style(YAML::EmitterStyle::value)’: src/node_data.cpp:66:52: warning: declaration of ‘style’ shadows a member of 'this' [-Wshadow] void node_data::set_style(EmitterStyle::value style) { m_style = style; } ^ src/node_data.cpp: In member function ‘void YAML::detail::node_data::set_scalar(const string&)’: src/node_data.cpp:73:53: warning: declaration of ‘scalar’ shadows a member of 'this' [-Wshadow] void node_data::set_scalar(const std::string& scalar) { ^ CXX src/nodebuilder.cpp In file included from include/yaml-cpp/node/detail/node.h:14:0, from src/nodebuilder.cpp:5: include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_mark(const YAML::Mark&)’: include/yaml-cpp/node/detail/node_ref.h:33:35: warning: declaration of ‘mark’ shadows a member of 'this' [-Wshadow] void set_mark(const Mark& mark) { m_pData->set_mark(mark); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_type(YAML::NodeType::value)’: include/yaml-cpp/node/detail/node_ref.h:34:39: warning: declaration of ‘type’ shadows a member of 'this' [-Wshadow] void set_type(NodeType::value type) { m_pData->set_type(type); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_tag(const string&)’: include/yaml-cpp/node/detail/node_ref.h:35:40: warning: declaration of ‘tag’ shadows a member of 'this' [-Wshadow] void set_tag(const std::string& tag) { m_pData->set_tag(tag); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_scalar(const string&)’: include/yaml-cpp/node/detail/node_ref.h:37:46: warning: declaration of ‘scalar’ shadows a member of 'this' [-Wshadow] void set_scalar(const std::string& scalar) { m_pData->set_scalar(scalar); } ^ include/yaml-cpp/node/detail/node_ref.h: In member function ‘void YAML::detail::node_ref::set_style(YAML::EmitterStyle::value)’: include/yaml-cpp/node/detail/node_ref.h:38:45: warning: declaration of ‘style’ shadows a member of 'this' [-Wshadow] void set_style(EmitterStyle::value style) { m_pData->set_style(style); } ^ In file included from src/nodebuilder.cpp:5:0: include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_mark(const YAML::Mark&)’: include/yaml-cpp/node/detail/node.h:69:35: warning: declaration of ‘mark’ shadows a member of 'this' [-Wshadow] void set_mark(const Mark& mark) { m_pRef->set_mark(mark); } ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_type(YAML::NodeType::value)’: include/yaml-cpp/node/detail/node.h:71:39: warning: declaration of ‘type’ shadows a member of 'this' [-Wshadow] void set_type(NodeType::value type) { ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_scalar(const string&)’: include/yaml-cpp/node/detail/node.h:80:46: warning: declaration of ‘scalar’ shadows a member of 'this' [-Wshadow] void set_scalar(const std::string& scalar) { ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_tag(const string&)’: include/yaml-cpp/node/detail/node.h:84:40: warning: declaration of ‘tag’ shadows a member of 'this' [-Wshadow] void set_tag(const std::string& tag) { ^ include/yaml-cpp/node/detail/node.h: In member function ‘void YAML::detail::node::set_style(YAML::EmitterStyle::value)’: include/yaml-cpp/node/detail/node.h:90:45: warning: declaration of ‘style’ shadows a member of 'this' [-Wshadow] void set_style(EmitterStyle::value style) { ^ CXX src/exp.cpp i use gcc/g++ 4.9 how to fix that??
  8. i don;t check at all but heave drive have show damage how to fix it?? somebody help me please?? i don't know this problem came from client side or server side
  9. help my server use PRE mode ( Client date 20151104) when my player use skill SG, MS, LV to another player didn't show damage display how to enable it?? i use last version
  10. somebody can help me to make spesialitemdrop.patch for last rev because in last rev have different structure Index: mob.c =================================================================== --- mob.c (revision 14722) +++ mob.c (working copy) @@ -65,7 +65,7 @@ static struct eri *item_drop_ers; //For loot drops delay structures. static struct eri *item_drop_list_ers; - +int ind_drop[32000];//[Ind/ro-resources.net] - Change it to whatever your max item db is... static struct { int qty; int class_[350]; @@ -3613,7 +3613,9 @@ break; } db->dropitem[i].p = mob_drop_adjust(rate, rate_adjust, ratemin, ratemax); - + if ( ind_drop[db->dropitem[i].nameid] ) { //[Ind/ro-resources.net] + db->dropitem[i].p = ind_drop[db->dropitem[i].nameid] * 10; + } //calculate and store Max available drop chance of the item if( db->dropitem[i].p && (class_ < 1324 || class_ > 1363) && (class_ < 1938 || class_ > 1946) ) { //Skip treasure chests. @@ -3637,7 +3639,64 @@ return true; } - +//[Ind/ro-resources.net] +static bool ind_parse_drop(char** str) { + int itemid = atoi(str[0]); + int ratio = atoi(str[1]); + if( itemid == 0 ) + return false; //??? + if( itemdb_exists(itemid) == NULL ) + return false; //??? + if( ratio <= 0 ) + return false;// what the fuck. + if( ratio > 10000 ) { + ratio = 10000;//100% and relay a warning. - HELLO SOMEONE TYPO'D + ShowWarning("[RR] itemID %d drop ratio is higher than 10k",itemid); + } + ind_drop[ itemid ] = ratio;//add. + return true; +} +void ind_mob_specdrop(void) { + uint32 lines = 0, count = 0; + char line[1024]; + char path[256]; + FILE* fp; + sprintf(path, "%s/ind_item_drop.txt", db_path); + fp = fopen(path, "r"); + if(fp == NULL) { + ShowWarning("[RR] Failed to process fopen request in db/ind_item_drop.txt"); + return; + } + + // process rows one by one + while(fgets(line, sizeof(line), fp)) + { + char *str[2], *p, *np; + int i; + + lines++; + if(line[0] == '/' && line[1] == '/') + continue; + for(i = 0, p = line; i < 2; i++) + { + str[i] = p; + if((np = strchr(p, ',')) != NULL) { + *np = '\0'; p = np + 1; + } + } + if(i < 2) { + ShowWarning("ind_mob_specdrop: Insufficient columns for itemID: %d, skipping.\n", atoi(str[0])); + continue; + } + + if (!ind_parse_drop(str)) + continue; + count++; + } + fclose(fp); + ShowStatus("[RR] Done reading '"CL_WHITE"%lu"CL_RESET"' entries in '"CL_WHITE"ind_item_drop.txt"CL_RESET"'.\n", count); + return; +} /*========================================== * mob_db.txt reading *------------------------------------------*/ @@ -4265,6 +4324,8 @@ static void mob_load(void) { + //[Ind/ro-resources.net] + ind_mob_specdrop(); #ifndef TXT_ONLY if(db_use_sqldbs) mob_read_sqldb(); @@ -4282,7 +4343,9 @@ void mob_reload(void) { int i; - + //[Ind/ro-resources.net] drops need to be rehashed before reloading. + for(i = 0; i < 32000; i++) + if( ind_drop[ i ] ) ind_drop[ i ] = 0; //Mob skills need to be cleared before re-reading them. [Skotlex] for (i = 0; i < MAX_MOB_DB; i++) if (mob_db_data[i]) ex: on old Rev : db->dropitem.p = mob_drop_adjust(rate, rate_adjust, ratemin, ratemax); on las rev : rate = mob_drop_adjust( rate, rate_adjust, battle_config.item_drop_mvp_min, battle_config.item_drop_mvp_max );
  11. i want to make npc with thist function 4 Low Grade Costume item = 1 points 2 Mid Grade Costume item = 2 points 1 Rare Grade Costume item = 4 Points 1 Special Grade Costume item = 4 points it's possible i use script card trader ?? If possible how to set the difference of each point category?? //===== rAthena Script ======================================= //= Card Trader //===== By: ================================================== //= Elias (og2) //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project; SVN r15340+ //===== Description: ========================================= //= Card and Points Trader //===== Additional Comments: ================================= //= 1.0 Translated from the Official [Elias] //= 1.1 Fixed variables and optimized script [Elias] //= 1.2 Fixed char being stuck with breaks [Elias] (bugreport:5374) //= 1.3 Optimized: reduced from 123kb to 7kb! [Euphy] //= 1.4 Variables don't need to load OnInit. [Euphy] //= 1.4a Misc. [Capuche] //============================================================ prontera,115,90,0 script Putty 4_F_01,{ setarray .@card1[0], 20239,19606,20259,20193,20150,20279,20043,19992,19952,20030, 20264,20459,20147,20215,31096,19746,19853,19158,20270,20298,19826,19973, 20452,19971,20212,19557,20466,31092,19876,19974,19800,20232,19565,32120; setarray .@card2[0], 20239,19606,20259,20193,20150,20279,20043,19992,19952,20030, 20264,20459,20147,20215,31096,19746,19853,19158,20270,20298,19826,19973, 20452,19971,20212,19557,20466,31092,19876,19974,19800,20232,19565,32120; setarray .@card3[0], 20201,20034,20071,31055,20407,31093,20132,20416,20418,20419,20420,20421,20422,20423,20424; setarray .@card4[0], 4120,4216,4217,4219,4221,4222,4230,4234,4233,4232, 4237,4238,4242,4243,4245,4246,4249,4252,4255,4258, 4262,4264,4276,4270,4271,4218,4239,4251,4253,4269; setarray .@size_card[1], getarraysize(.@card1), getarraysize(.@card2), getarraysize(.@card3), getarraysize(.@card4); .@points = oversea_event9; if (!.@points) { mes "[Putty]"; mes "Hi there."; mes "I don't know if I can be"; mes "of any assistance, but I"; mes "am trying to help older veterans"; mes "by exchaning the costume headgear that"; mes "they are no longer using."; next; switch(select("Ask for more information!","I don't have any costume right now.")) { case 1: mes "[Putty]"; mes "I will giving 4 point for each Spesial Grade"; mes "4 point for each Rare Grade"; mes "2 point for each Medium Grade"; mes "1 point for each Low Grade"; mes "that you bring me."; mes "The points can be used to exchange for random costume box."; next; mes "[Putty]"; mes "For ^CC00004 points^000000: ^0000CC1 Randon Costume Box^000000."; next; break; case 2: mes "[Putty]"; mes "Well, remember this offer!"; close; } } else { mes "[Putty]"; mes "Welcome back!"; mes "I see you already have some"; mes "trading points. Actually, you currently have ^00cc00" + .@points + "^000000."; next; mes "[Putty]"; mes "Would you like to exchange these"; mes "points now, or you would like to exchange more costume headgear?"; next; } switch(select("I would like to exchange costume headgear.","Can I exchange the points?")) { case 1: mes "[Putty]"; mes "Please tell me what costume headgear you want to exchange."; next; input .@i$; .@input$ = "_"+.@i$; freeloop(1); for(.@j = 1; .@j<4; .@j++) { for(.@i = 0; .@i<.@size_card[.@j]; .@i++) if (compare(.@input$,"_"+getitemname(getd(".@card"+.@j+"["+.@i+"]")))) { .@card = getd(".@card"+.@j+"["+.@i+"]"); break; } sleep2 10; // For good measure if (.@card) break; } freeloop(0); mes "[Putty]"; if (!.@card) mes "Please, come back here if you want to exchange a costume headgear."; else { .@count = countitem(.@card); if (!.@count) { mes "You don't have any ^0055FF"+callfunc("F_GetPlural",getitemname(.@card))+"^000000 with you!"; close; } mes "You've got ^0055FF"+callfunc("F_InsertPlural",.@count,getitemname(.@card))+"^000000."; mes " "; mes "Would you like to exchange 1 point for each of them?"; next; switch(select("Yes, please!","No, thank you.")) { case 1: delitem .@card,.@count; oversea_event9 = (.@points+.@count); mes "[Putty]"; mes "Alright, you have received ^CC0000"+.@count+"^000000 points."; break; case 2: mes "[Putty]"; mes "Okay, let me know if I can help you with something else."; break; } } close; case 2: if (.@points) { mes "[Putty]"; mes "These are the items that I have."; next; switch(select("1 Old Card Album - 50 Points","20 Yggdrasil Berry - 50 Points","10 Blue Potion - 20 Points","4 Honey - 1 Point","^777777Nerver mind.^000000")) { case 1: if (.@points < 100) break; mes "[Putty]"; mes "Great, I wish you the best"; mes "of luck with this album. I have a"; mes "very good feeling about this one!"; oversea_event9 = .@points - 100; getitem 616,1; close; case 2: if (.@points < 50) break; mes "[Putty]"; mes "Oh, you must like adventures."; mes "Here you go, just what you need!"; oversea_event9 = .@points - 50; getitem 607,20; close; case 3: if (.@points < 20) break; mes "[Putty]"; mes "Blue Potions? Are you sure?"; mes "If that's what you want, here they are!"; oversea_event9 = .@points - 20; getitem 505,10; close; case 4: if (.@points < 1) break; mes "[Putty]"; mes "It took many bees"; mes "to make all of this."; mes "Make good use of it."; oversea_event9 = .@points - 1; getitem 518,4; close; case 5: mes "[Putty]"; mes "Alright, come back when you have more points."; close; } mes "[Putty]"; mes "Sorry, but you don't have enough points."; close; } else { mes "[Putty]"; mes "You have 0 points. You need at least 1 point to exchange."; close; } } } somebody can help?
  12. can i request script autokill monster when on that map have some monster thx b4 sorry bad english
  13. [Warning]: script:query_sql: Only 128/288 rows have been stored i got warning on my console this is my script set .@nb, query_sql("select name, kills, deaths from pvpladder order by kills desc limit 10"+ getvariableofnpc(.showtotal,"DOTAPVP"), .@name$, .@kills, .@deaths); if ( .@nb == 0 ) { mes "["+ .@npcname$ +"]"; mes "The ladder currently is empty."; next; } for ( set .@j,0; .@j < .@nb; set .@j, .@j + getvariableofnpc(.showpage,"DOTAPVP") ) { mes "["+ .@npcname$ +"]"; for ( set .@i, .@j; .@i < (getvariableofnpc(.showpage,"DOTAPVP") + .@j) && .@i < .@nb; set .@i, .@i + 1 ) { mes "^996600"+ (.@i+1) +": ^006699"+ .@name$[.@i] +" ^00AA00["+ .@kills[.@i] +"] ^FF0000<"+ .@deaths[.@i] +">^000000"; } close; } how to fix this
  14. thanks u for ur help but i found more simple script function script L_CustomLRGmid { set @randOBB,rand(6); if(@randOBB==0){ getitem2 32121,1,1,0,0,7905,7905,0,0; } if(@randOBB==1){ getitem2 19509,1,1,0,0,7905,7905,0,0; } if(@randOBB==2){ getitem2 20318,1,1,0,0,7905,7905,0,0;; } if(@randOBB==3){ getitem2 20131,1,1,0,0,7905,7905,0,0;; } if(@randOBB==4){ getitem2 20399,1,1,0,0,7905,7905,0,0;; } if(@randOBB==5){ getitem2 20314,1,1,0,0,7905,7905,0,0;; } end; } and on item db just call that function
×
×
  • Create New...