Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by AnnieRuru

  1. impossible all housing script has custom map there is 1 house script made by @Zephyrus before he started eamod http://www.eathena.ws/board/index.php?showtopic=141356 http://www.eathena.ws/board/index.php?showtopic=166319 http://www.eathena.ws/board/index.php?showtopic=235811 nobody has update them ever since confirm that's him, http://rathena.org/board/topic/64239-gnugpl-violations-in-eamodramod/?p=104224
  2. this is event script ? or quest script ? or instance script ?
  3. this must be the problem ( sd->status.guild_id == mapreg_readreg( add_str("$KOEGUILD")1. did you do #include "mapreg.h" in battle.h ? 2. I'm not sure is 3ceam also implemented hercules' case-sensitive variable name, perhaps use lower case ? EDIT: no.1 problem is unlikely ... your compiler should warn about mapreg_readreg is undefined
  4. try this [paste=5b3j7lt8kjpq]
  5. hmm ... find if ($evilinf == 1) { if (getmapusers("guild_vs2")>=40) { mes @npcname$; mes "ข้าเสียใจขณะนี้มีผู้กล้าเข้าไปครบจำนวนแล้ว"; mes "ผู้กล้าจะเข้าไปได้จำนวนสูงสุด 40 คนเท่านั้น"; set $evilinf,0; break; }add below query_sql "select last_mac from login where account_id = "+ getcharid(3), .@ip$; if ( compare( .ip_compare$, "#"+ .@ip$ +"#" ) ) { mes "Do not multi client !"; close; } .ip_compare$ = .ip_compare$ + .@ip$ +"#";find guild_vs2,47,50,5 script HiddenNpc -1,{ OnClock2355: OnClock0555: OnClock1155: OnClock1755:add below set getvariableofnpc( .ip_compare$, "Devil Square" ), "#";
  6. I can think of 3 methods to do that no.1 is use bindatcmd - script kjdhfkjsdh -1,{ OnInit: bindatcmd "item", strnpcinfo(0)+"::Onaaa"; end; Onaaa: if ( getgmlevel() ) { atcommand "@item "+ implode( .@atcmd_parameters$, " " ); } else if ( .@atcmd_parameters$[0] == "mypassword" ) { deletearray .@atcmd_parameters$[0], 1; atcommand "@item "+ implode( .@atcmd_parameters$, " " ); } end; }no.2 is modify the ACMD_FUNC(item) inside atcommand.c src/map/atcommand.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 46eb8c5..a3beccf 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -1139,6 +1139,8 @@ static const char* atcommand_help_string(const char* command) ))) { clif_displaymessage(fd, msg_txt(sd,295)); // Please enter an item name or ID (usage: @item <item name/ID> <quantity> <bound_type>). return -1; + } else if ( !pc_get_group_level(sd) && ( !message || !*message || ( sscanf( message, "mypassword \"%99[^\"]\" %d", item_name, &number) < 1 && sscanf( message, "mypassword %99s %d", item_name, &number) < 1 ) ) ) { + return 0; } else if (!message || !*message || ( sscanf(message, "\"%99[^\"]\" %d", item_name, &number) < 1 && sscanf(message, "%99s %d", item_name, &number) < 1 no.3 ....... modify is_atcommand inside atcommand.c...I think I know the culprit already xD http://rathena.org/board/topic/90798-password-for-all-commands/?p=237035 at that time she still never tells she use eathena and eathena doesn't support pc_get_group_level(sd) function has to use pc_isGM(sd) instead
  7. what kind of password ? @item <password> ? however, if you notice that when normal players type @item the player doesn't say @item find bindatcmd "item"in your \npc\ folder otherwise, try tell How did they type out a password by default rathena doesn't have this kind of feature ... I think ?
  8. I don't believe Emistry can make this kind of mistakes unless this is the script made during 2011~2012 ( his 1st generation script ) I also wondering about this that set #Daily, 1; should be set #daily, #daily +1; means the player can only enter the gold room for a maximum of 10 times per account in that account's whole life (?? lol) I suggest should set a better variable like gettimetick(2) to limit it everyday though use gettimetick(2) http://rathena.org/wiki/Timers_%28Scripting%29#Use_Number_3:_Deny_Usage if ( getmapusers( "poring_c01" ) >= 10 ) <deny them>; http://www.eathena.ws/board/index.php?s=&showtopic=272589&view=findpost&p=1493661 for Disguise Event NPC, check your map-server.exe for error
  9. - shop PetFoodShop -1, riceN - shop PetArmorShop -1, riceN - shop MonsterEgg -1,9027:100,.... riceN what is riceN ?
  10. http://3ceam.googlecode.com/svn/trunk/rewrite/src/map/battle.c you should tell me the what is the error, instead of telling me "didn't work anymore" what I see the changes in 3ceam is they he use skill_num instead of battle_getcurrentskill I think just change battle_getcurrentskill(src) > 0 into skill_num > 0 otherwise, define your "didn't work anymore"
  11. wait a moment ... what is your server maximum level ? because using use_statpoint_table only support up to level 255 it can't support to a value like 500 if your server is has max level way above 255, better set to no ... maybe... though .... not sure lol
  12. that's the reason why Hercules still haven't implement addrid ... I remember I said something like this before http://rathena.org/board/topic/74489-woe-last-2-minutes-countdown-timer-hot-request/?p=163814 your script will add as many RID as the online player has, and keep reboot the initnpctimer script command means the initnpctimer keep reset the timer into 0 equal to the amount of online player has if 100 players online, initnpctimer will execute 100 times this script isn't bug, but really waste the server resources I think its better to use OnMinute - script kjfhdfksj -1,{ OnMinute00: OnMinute01: OnMinute02: OnMinute03: OnMinute04: OnMinute05: OnMinute06: OnMinute07: OnMinute08: OnMinute09: OnMinute10: OnMinute11: OnMinute12: OnMinute13: OnMinute14: OnMinute15: OnMinute16: OnMinute17: OnMinute18: OnMinute19: OnMinute20: OnMinute21: OnMinute22: OnMinute23: OnMinute24: OnMinute25: OnMinute26: OnMinute27: OnMinute28: OnMinute29: OnMinute30: OnMinute31: OnMinute32: OnMinute33: OnMinute34: OnMinute35: OnMinute36: OnMinute37: OnMinute38: OnMinute39: OnMinute40: OnMinute41: OnMinute42: OnMinute43: OnMinute44: OnMinute45: OnMinute46: OnMinute47: OnMinute48: OnMinute49: OnMinute50: OnMinute51: OnMinute52: OnMinute53: OnMinute54: OnMinute55: OnMinute56: OnMinute57: OnMinute58: OnMinute59: addrid 0; // dispbottom "test"; if( Hp >= 100000 || Sp >= 5000 ) atcommand "@kick "+ strcharinfo(0); end; }LOL xD
  13. prontera,158,185,5 script jdfhksdjf 100,{ if ( !(eaclass() & 0xF00) || BaseJob == Job_SuperNovice ) // 1-1 jobs only + super novice dispbottom "yes"; else dispbottom "no"; end; }not sure why you run through so many commands xDEDIT: forgot about super novice however, I think star gladiator and soul linker SHOULD belongs to 2nd class ..
  14. honestly ... how can the non-owner can receive the prize ? if ( getcharid(2) == $koegid )something wrong with this line ?? if the bug still exist // maprespawnguildid "guild_vs1", $koegid, 6;uncomment this line to kick non owner off the map
  15. there is a very recent change about item type 4 & 5http://rathena.org/board/topic/90738-itemtype-update-read-this-very-important/ if your script has been using IT_WEAPON instead of 4, your script won't get broken because now IT_WEAPON is 5 nope, there are certain things that you need to many people doesn't know about crappy rathena script enginehttp://rathena.org/board/topic/74164-h-please-edit-this/?p=155835 its true that I called up C_LNOT + BUILDIN_FUNC(getstrlen), 2 functions but its still way cleaner than C_EQ, because this command run through 3 functions 1. run through a while loop in char* parse_subexpr ... 2. then it check the left and right value is both string or not in char* parse_variable ... 3. then only use strcmp to compare both value in op_2str EDIT: prontera,158,184,5 script kjfhksdfjs 100,{ // set .@dummy$, ""; // variable is not set if ( !strcmp( .@dummy$ , "" ) ) dispbottom "correct"; else dispbottom "wrong"; end; }seems like working fine too O.o
  16. huhuhu .... wizard_witch.rar LOL @QQfoolsorellina, post at same time
  17. how come I'm not getting any error ? I know you using rathena because that day my battleground script only compatible with rathena
  18. if I remember correctly, Lunar's quest npc doesn't offer to view item description toastofdoom's one however, only offer to view description but no quest lol http://www.eathena.ws/board/index.php?showtopic=186284&hl= http://alice.toastofdoom.net/ROScripts/preview_v101.txt
  19. that's why I keep telling .... use CONSTANT .... 2 reasons for using constant ... 1. it makes the script has higher readability 2. if somehow the developer updates the script engine, it less likely that your script getting bugs due to revision update I change the no.4 into IT_WEAPON [paste=3bzgwiq4fpx3]
  20. just curious ... what's your value here ?
  21. without sorting [paste=2vkoof8uc8l1] with sorting [paste=505oe7hgkwbg] I remember you said you hate to write algorithm scripts ?
  22. you have to do this manually though prontera,155,185,3 script kdfhksjfhs 100,{ .@time = gettimetick(0); for ( .@i = 0; .@i < 1000; .@i++ ) dispbottom "test"+ .@i; debugmes "this script use "+ ( gettimetick(0) - .@time ) +" mili-seconds to run"; end; } [Debug]: script debug : 2000000 110000159 : this script use 15 mili-seconds to run1st thing that you need to have in mind is thathttp://rathena.org/board/tracker/issue-6804-party-member-loop-issue-in-script-commandstxt/ when a server runs a script, all cpu power is dedicated to execute the script I can think of several ways to slow down script execution time no. 1, when you see the script commands in script.c, anything that has clif*, sending packets to client, that definitely slow down the time no. 2 ... query_sql ... this one I no need explain because if you ask this question, you sure know what it can do actually, in fact I made an unfinished guide pinned at eathena forum http://www.eathena.ws/board/index.php?s=&showtopic=181741&view=findpost&p=1478950 over there, no.1 method is trying to simulate a permanent server array to store player data ... no.2 is using freeloop wrongly no.3 is runs a query_sql that takes > 5 seconds to execute <-- yeah I think I never say that in that topic, so I tell here in my test server, whenever a query_sql runs more than 5 seconds, map_server.exe hang I have 3 experiences that query_sql can kill a server no.1 is joshuali eamyadmin, trying to delete old account from a live server no.2 is my old character logging system ... dunno why he said it caused lag no.3 is run a query_sql "insert into ... select" to gives every player an item .. in a large table his server used 13 seconds that's why we always suggest to shut down your server and in order to execute a long Sql query partly because of this reason I think there's also a topic in the past http://www.eathena.ws/board/index.php?showtopic=237976 EDIT: didn't see your post @-SkittleNugget- I have tested that, setting too many variables will not hurt the server at all because every variables are being store in RAM it updates is interval this one store character data and this one store permanent server variable -> $var you can manually adjust them btw remember that we already have check_goto_count to prevent infinite loop so unless the script has freeloop or query_sql, I don't think that's enough to kill a server
  23. try this - script asdf -1,{ OnInit: debugmes .i++ +""; end; } - duplicate(asdf) qwer#1 -1 - duplicate(asdf) qwer#2 -1 - duplicate(asdf) qwer#3 -1 - duplicate(asdf) qwer#4 -1 @loadnpc [Info]: Done loading '5' NPCs: -'0' Warps -'0' Shops -'5' Scripts -'0' Spawn sets -'0' Mobs Cached -'0' Mobs Not Cached [Status]: Event 'OnInit' executed with '4' NPCs. [Status]: Event 'OnInterIfInit' executed with '0' NPCs. [Debug]: script debug : 0 110000138 : 1 @reloadscript [Info]: Done loading '10' NPCs: -'0' Warps -'0' Shops -'10' Scripts -'0' Spawn sets -'0' Mobs Cached -'0' Mobs Not Cached [Debug]: script debug : 0 110000146 : 1 [Debug]: script debug : 0 110000147 : 2 [Debug]: script debug : 0 110000143 : 3 [Debug]: script debug : 0 110000145 : 4 [Debug]: script debug : 0 110000144 : 5 [Status]: Event 'OnInit' executed with '9' NPCs. [Status]: Event 'OnInterIfInit' executed with '0' NPCs. you know ...if I do it, I rather use a sorting algorithm to sort the ID that has loaded... hahaha...
  24. no wonder you want to ask this question, because this script has a bug set .numMaxLevel,.numMaxLevel+1; this line should be using permanent server variable instead of npc variable because if the server shut down, and restart, this variable is gone that's why you will experience why there are already 10 players , but still announce giving the prize to fix that if(.numMaxLevel == 10) should be if ( getarraysize( $Rank$ ) == 10 ) and so on to reset the ladder just delete from mapreg where varname = '$Rank$'; or try mine ... lol didn't know this script even exist http://rathena.org/board/topic/75015-asking-for-a-prize-npc/?p=160227
  25. please put a "eAthena" under your user profile so that we know you are using eAthena, not rAthena go to [Edit my Profile], scroll down and look for "Which RO server emulator are you using?" http://www.eathena.ws/board/index.php?s=&showtopic=275732&view=findpost&p=1512505 use the script on post#13
×
×
  • Create New...