Jump to content

AnnieRuru

Members
  • Posts

    2,044
  • Joined

  • Last visited

  • Days Won

    48

Community Answers

  1. AnnieRuru's post in problem with instance "World?something...." was marked as the answer   
    the old instance system, the map name has to be

    <single digit number>@<seven characters long>example [email protected]
    [email protected]
    [email protected]_vs
     

    maximum map name without .gat is 12 the server will create 001 as the unique instance ID
    means there's only 9 character left for your map name
    new_1-4 will definitely crash your client
    try something like [email protected]
  2. AnnieRuru's post in How to make NPC reduce hp by set amount. was marked as the answer   
    set hp, hp -20000;if the player has less than 20k hp, the hp is set to 1
    heal -20000,0;if the player has less than 20k hp, the player is dead
  3. AnnieRuru's post in Help me with this idea.. was marked as the answer   
    yeah your native language has better explanation
    I don't even use google translator lol
    now I get what you mean,
    this is a mining script,
    the user has to mine the rock within a certain time
    the rock has 5 HP, plant mode
    if the user failed to hit the rock for 5 times within the certain time limit
    the user will die -> the rock falls on the user
    not that hard, the trick is spawn it with npc
    then it trigger the npc and spawn a mob
    if the mob is not killed within a certain time limit, the triggering player will be dead
     

    prontera,155,184,5 script Shining Plant 1083,{ getmapxy [email protected]$, [email protected], [email protected], 1; monster [email protected]$, [email protected], [email protected], "--ja--", 1083, 1, strnpcinfo(0)+"::OnMobDead"; hideonnpc strnpcinfo(0); .alive = getcharid(3); sleep 5000; // 5 seconds to mine if ( .alive ) { if ( attachrid( .alive ) ) { // player might log out message rid2name( .alive ), "the rock has fallen onto you"; unitkill .alive; } } .alive = 0; killmonster strnpcinfo(4), strnpcinfo(0)+"::OnMobDead"; hideoffnpc strnpcinfo(0); end; OnMobDead: .alive = 0; end; }if you don't like to use npc because needs to click twice,there is another way to make it trigger immediately by using mob controller system
    but it needs source modification
    EDIT:
    lol I already tackling this topic before I see your bump post lol
  4. AnnieRuru's post in supporter clone :) was marked as the answer   
    just like this enough
    http://rathena.org/board/pastebin/lirjxvd9bdp/
    though it seems your supporter clone npc, the time field is wrong
    your script says 5 minutes, but the clone only last 0.5 seconds
    because its counted in miliseconds
  5. AnnieRuru's post in Announcer for kills made / items gathered in this script? was marked as the answer   
    try change

    if ( !strcmp( strnpcinfo(0), .npc_name$ ) ) {into
    if ( strnpcinfo(0) == .npc_name$ ) {
  6. AnnieRuru's post in Checking script was marked as the answer   
    you have to do this manually though

    prontera,155,185,3 script kdfhksjfhs 100,{ [email protected] = gettimetick(0); for ( [email protected] = 0; [email protected] < 1000; [email protected]++ ) dispbottom "test"+ [email protected]; debugmes "this script use "+ ( gettimetick(0) - [email protected] ) +" 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
  7. AnnieRuru's post in Help with this script was marked as the answer   
    + for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) + if ( attachrid( [email protected][[email protected]] ) )there's a flaw about thishttp://www.eathena.ws/board/index.php?s=&showtopic=271168&view=findpost&p=1485484
    https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8112
    it should be

    + for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) + if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) { + attachrid [email protected][[email protected]];EDIT: ops !============================================================
    -EDIT-
    hmmm ... I think your answer is wrong

    for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) if ( attachrid( [email protected][[email protected]] ) ) for( set [email protected],0; [email protected] < getarraysize( .Reward ); set [email protected],[email protected] + 2 ) { getitem .Reward[[email protected]],.Reward[[email protected]+1], [email protected][[email protected]]; unittalk getcharid(3),"Yeeaaah !! Vencimos a todos los Mobs!!!"; unitemote getcharid(3),e_heh; specialeffect2 709; }if you indent properly, this script will make the player talk "Yeeaah !!" for the amount of times equal to getarraysize( .Reward ) /2ok I do this one then

    OnBossKill: delwaitingroom; if( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnBossKill" ) > 0 ){ waitingroom "Missing ["+ mobcount( strcharinfo(3),strnpcinfo(0)+"::OnBossKill") +"] Mobs",0; end; } else { // delwaitingroom; // no need delwaitingroom twice waitingroom "PRIZE TIME",0; specialeffect EF_POK_JAP; announce "Congratulations Missing the Party [ "+ strcharinfo(1) +" ] has exceeded the Instance Of Mutant Saurus.", bc_all; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; set [email protected]$, strcharinfo(3); set [email protected]_size, getarraysize( .Reward ); for ( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) { attachrid [email protected][[email protected]]; if ( strcharinfo(3) == [email protected]$ ) { unittalk getcharid(3),"Yeeaaah! We beat all the Mobs!!!"; unitemote getcharid(3), e_heh; specialeffect2 EF_POK_JAP; for( set [email protected],0; [email protected] < [email protected]_size; set [email protected], [email protected] + 2 ) getitem .Reward[[email protected]], .Reward[[email protected]+1]; // already attached to current player, no need optional parameter dispbottom "You won a Legendary Item by passing the Instance Of Mutant Saurus"; } } } }
  8. AnnieRuru's post in Euphys Qshop was marked as the answer   
    you show the wrong script
    the error comes from the script, that the npc located in que_moon and prt_are_in
    but this script has neither of them

    Source (NPC): BG Shop at que_moon (33,39)means the npc header should be something like this
    que_moon,33,39,? script BG Shop ?,{
  9. AnnieRuru's post in Please Need Help About PK :3 was marked as the answer   
    you didn't tell your server is pk enabled server =/
    -    script    PK System Minus    -1,{ OnPCKillEvent:     if ( !getd( "."+ strcharinfo(3) ) ) end; // only trigger on the maps defined in that array     attachrid killedrid;     [email protected]_amt = 1; // point to minus     if ( #KAFRAPOINTS - [email protected]_amt < 0 ) end; // prevent the value go into negative     #KAFRAPOINTS = #KAFRAPOINTS - [email protected]_amt ;     dispbottom "You have lost "+ [email protected]_amt +" Point of Honour.";     dispbottom "Your Total Points are : "+ #KAFRAPOINTS;     end; OnInit:     setarray [email protected]$, "prontera", "morocc", "payon"; // put all the maps here     [email protected] = getarraysize( [email protected]$ );     while ( [email protected] < [email protected] ) {         setd "."+ [email protected]$[[email protected]], 1;         [email protected]++;     }     end; } used some tricks ...
  10. AnnieRuru's post in HOW TO CHANGE THE TIME OF KOE EVENT EVERY SATURDAY? was marked as the answer   
    you just remind me I should put some fake labels o.o

    update again ...
    koe_0.3.txt
    [paste=53zbucwzu4t]
    koe_0.3.patch
    [paste=17eh6qh8492j]
    koe_0.3.patch
    the OnClock2000:
    can change into OnSat2000:
    then it will start every saturday 8pm

    and end it with OnSat2030: put below L_end:
     
     
     
    EDIT:
    ok the forum unicode problem again
    #include "../common/mmo.h" #include "../config/core.h" use attachment
  11. AnnieRuru's post in Happy Hour Script was marked as the answer   
    1 and 4 is possible
    2 is impossible
    3 is too hard to do ( need a long long array ... )
    we don't have a script command to alter the drop rate of existing monster
    however can use OnNPCKillEvent + getitem to achieve this
    but still, quite a nice idea you have there
    [paste=3bzgwipu6ldl]
    super easy script though
  12. AnnieRuru's post in request mvp ladder with prizes was marked as the answer   
    reference
    http://rathena.org/board/topic/66423-mvp-rank/?p=178037
    http://www.eathena.ws/board/index.php?showtopic=191107
    script
    [paste=3se94m739i57]
  13. AnnieRuru's post in R> Script Problem was marked as the answer   
    prontera,159,187,5 script jkfjsdkfjs 111,{ [email protected] = rand(100); if ( [email protected] < 3 ) getitem 2202, 1; else if ( [email protected] < 4 ) getitem 7179, 1; else if ( [email protected] < 7 ) getitem 6049, 1; else if ( [email protected] < 37 ) getitem "Poring_Coin", 1; else if ( [email protected] < 47 ) getitem "Poring_Coin", 5; else if ( [email protected] < 52 ) getitem "Poring_Coin", 10; else dispbottom "nothing happen"; end; }read the pinned topicOnInit:
    set .Length,1; //EDIT THE LENGTH OF CHARACTERS TO BE TYPED
    setarray .List$,"1","2","3","4","5","6","7","8","9","0"; //YOU CAN ADD LETTERS, DIGITS & SYMBOLS HERE..
    end;
    }
    what does this has to do with fishing script ?
  14. AnnieRuru's post in Gold room guild renting system? was marked as the answer   
    oh ? where ?
    me wanna see it
    me love to rewrite other member's paid scripts <3

    now you give me the motivation to start this script
    [paste=jxhqd5hxel9]

    EDITED:
    update and fixed
    [paste=33s2sgyvou08]
  15. AnnieRuru's post in Specificly timed warps. was marked as the answer   
    - script day_night_npc -1,{ OnClock0100: OnClock2000: OnInit: sleep 1; // if you want to use different script file, then slow down the script execution if ( gettime(3) >= 1 && gettime(3) < 20 ) { // day warp enablenpc "daywarp#1"; disablenpc "nightwarp#1"; } else { enablenpc "nightwarp#1"; disablenpc "daywarp#1"; } end; } prontera,152,192,0 warp daywarp#1 2,2,morocc,156,93 prontera,152,192,0 warp nightwarp#1 2,2,geffen,119,59if it is different file, then you have to make sure that your custom script is being read laterread npc\re\scripts_main.conf, or npc\scripts_custom.conf
    make sure the warp npc is being read 1st before the day_night_npc
    or ... just easily put a sleep command before enablenpc/disablenpc
  16. AnnieRuru's post in Need help in Item Require Warper was marked as the answer   
    [paste=74qo3zp6a878]
    if I understand correctly ...
    you trying to use 1 item to unlock the map
    but once the map is unlock, the script will open the map indefinitely
    this will require to set a permanent player variable in bits ...
    because in the script, it lacks this feature
  17. AnnieRuru's post in My Custom BG Error, (Always Infinite Loop) HELP <3 was marked as the answer   
    oh !this script has the leader option enabled
    the script will always loop the the team index to search for a player that is currently not a leader

    L_setleader: while ( ( [email protected] = getd( ".team"+ getarg(0) +"aid["+ rand( getd(".team"+ getarg(0) +"count") ) +"]" ) ) == playerattached() );if you set to 1, it will caused an infinite loopand it is supposed to be work in this way
    because .... didn't I already said DO NOT set to 1 ?

    set .minplayer2start, 2; // minimum player to start ... please do not set to 1
  18. AnnieRuru's post in AnnieRuru's Devil Square Bug was marked as the answer   
    my script has already able to on/off this event by typing
    @devilsquare on
    @devilsquare off
    there's no need for you to add your custom menu already
     

    disablenpc "Reward NPC#DS"; OnClock0400: // yeah I know about OnMinute ... it just that more people knows better using OnClock OnClock1000: OnClock1600: OnClock2200: .start = 1; disablenpc "Exit#DS";change into
    OnClock0400: // yeah I know about OnMinute ... it just that more people knows better using OnClock OnClock1000: OnClock1600: OnClock2200: if ( .start ) end; // I just fixed this recently .start = 1; disablenpc "Reward NPC#DS";
  19. AnnieRuru's post in R>Guild House for Rental was marked as the answer   
    what does guild house do ? using which map ?
    and if I remember correctly, emistry did a guild house script before ...
    let me dig it out
     
    I think I saw it inside emistry signature before if I'm not mistaken ..
    ( emistry you better don't change your sig )
    ok I think I saw it while it was still in old eathena forum ... nvm
     
    OH YES found it
    http://www.eathena.ws/board/index.php?s=&showtopic=270610&view=findpost&p=1482790
    I reupload it here again
    [paste=iebzflhnv6]
  20. AnnieRuru's post in Wrong stat points given on "set Baselevel" was marked as the answer   
    after some digging through the source code ....

    for ( ; low < high; low++ ) #ifdef RENEWAL // renewal status point cost formula sp += (low < 100) ? (2 + (low - 1) / 10) : (16 + 4 * ((low - 100) / 5)); #else sp += ( 1 + (low + 9) / 10 ); #endifmeans ... the statpoint.txt in \re\ folder is official ...because the formula above I used, is actually correct in \pre-re\ folder
    http://rathena.org/board/tracker/issue-4578-missing-bonus-infodocumentationblvlup-bug/?gopid=4578#entry4578
    can you please try this
     

    prontera,156,186,5 script stat calc 100,{ input [email protected], -999, 999; baselevel = baselevel + [email protected]; end; }check if the atcommand "@lvup" and set baselevel are having any difference in statin my test, how come when my server set to renewal, but I'm getting 2670 instead of 2545
    but you say you can get 2545 when reset ? my test shows 2670 when reset
    getting more and more funny each time I do this research
    and actually
    I do reset, my statpoint is actually 0 instead of 48 ... wtf ...
    EDIT:
    http://rathena.org/board/tracker/issue-8429-bug-statpoint/
    someone already reported, try post your result too
    EDIT2:
    confirmed now this is rathena bug, not from your custom script ...
    waiting for the developer to fix it
  21. AnnieRuru's post in R>script was marked as the answer   
    thx to @Lighta <3
    [paste=1cvelflk4v6k]
     
    @Blue Jem
    replace

    intif_broadcast2( aaa, (int)strlen(aaa)+1, strtol("0x9999FF", NULL, 0), 0x190, 12, 0, 0 );with
    clif_GlobalMessage( &sd->bl, aaa , ALL_CLIENT );
  22. AnnieRuru's post in Request> Job master Script ^__^V was marked as the answer   
    OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class set .ThirdClass,1; // Enable third classes? (1: yes / 0: no) set .SNovice,45; // Minimum base level to turn into Super Novice set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no) set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no) set .Platinum,1; // Get platinum skills automatically? (1: yes / 0: no) end;instead of looking at the game screentry to focus your mind and search for some hint at the script ... there's a lot force power in this particular area ...
  23. AnnieRuru's post in Make newly created character face forward. was marked as the answer   
    FUN !
    why not make a script command to change the player's facing
    [paste=1ta6tj2tm187]
    then can use

    - script kdjhfksdjf -1,{ OnPCLoginEvent: setdir DIR_SOUTH; end; }this might be useful with pushpc script command
  24. AnnieRuru's post in script help for this effect? was marked as the answer   
    bonus2 bAddEff,e,x;
    Adds a x/100 chance to cause effect e to the target when attacking (e.g. x=100 makes 1% chance, x=10000 makes 100% chance, etc)
    Eff_Stone 0
    Eff_Freeze 1
    Eff_Stun 2
    Eff_Sleep 3
    Eff_Poison 4
    Eff_Curse 5
    Eff_Silence 6
    Eff_Confusion 7
    Eff_Blind 8
    Eff_Bleeding 9
    Eff_DPoison 10
    Eff_Fear 309
    Eff_Burning 310
    stone, freeze, stun and sleep ... are possible candidates ...
    if you want a custom made effect here ... you have to do source modification
  25. AnnieRuru's post in Fishing script with anti bot help was marked as the answer   
    add this code right after your fishing script header
       if ( !rand(100) ) {         doevent "Anti Bot::OnCheck";         end;     } and change Check: label into OnCheck:
    along with goto Check; into goto OnCheck;
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.