Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by AnnieRuru

  1. sleep2 200;I have a feeling that if I made this configurable, everyone will just set to the minimum value =/
  2. OnNPCKillEvent: if ( killedrid == 1957 ) { if ( !getcharid(1) ) { if ( killamt == 1 ) { dispbottom "You have killed 1 Entwenhein Crothen Proceed to the next task"; set croth,1; } } else { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; .@map$ = strcharinfo(3); for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( killamt == 1 && strcharinfo(3) == .@map$ ) { dispbottom "You have killed 1 Entwenhein Crothen Proceed to the next task"; set croth,1; } } } } } end;
  3. http://www.eathena.ws/board/index.php?s=&showtopic=242306&view=findpost&p=1331760 lol, mine is even way more complicated mine doesn't use SQL, so almost every single variable is compressed emistry using SQL table means he has the freedom to create as many columns as he likes though, I also start thinking SQL is a better way to manipulate data in that post already got your answer I remember my old one allows a debug message like npc:mission to list out all the current mission statusand I suggest the user to make an item for it its separated from OnPCLoginEvent so that no need to explode the data I believe that is just a debug message to list out how many monsters the player had killedso the data is persistent after a server shut down, or player relog
  4. I knew about this trick since long time ago http://www.eathena.ws/board/index.php?s=&showtopic=165856&view=findpost&p=915097 but only today I knew about this bug http://rathena.org/board/tracker/issue-8541-set-maxweight-item-script-error/ he said the method above has bugs after soul linked so I tried create a patch [paste=5dtzwyegzv5b] .....,{ bonus baddmaxweight, 10000; },{},{}somehow its fixed ...
  5. [paste=o16se0xvtw7] think there's still some room for improvements like - the HP/SP item should've set as an array instead of searching through IT_HEALING - let the user set to use only when hp/sp drops to below a certain percent ... - play specialeffect2 .... - auto-restock pots from storage ... link EDIT wait ... didn't noticed my server spam error ... ok [paste=po9lzz2hj1a]
  6. I was the one who keep bringing up addrid in rathena forum until it was added months later run a search "addrid" in rathena confirm this I knew the existance of addrid while I was still on eathena forum playing around with Brainstorm http://www.eathena.ws/board/index.php?s=&showtopic=271105&view=findpost&p=1484769 @QQfoolsorellina the .@scope variable is not persistent after attachrid on other players but its still available to the current player so actually its possible to set a .@scope variable with just anything, other attached player will actually just return .@origin as 0 - script user_count -1,{ OnInit: bindatcmd "getusers", strnpcinfo(0)+"::OnCommand"; end; OnCommand: .@attached = 1; addrid 1; if ( getgmlevel() <= 20 ) // GM level here .count++; if ( !.@attached ) end; dispbottom .count +" User"+( .count > 1 ? "s" : "" )+" found on "+strcharinfo(3)+"."; .count = 0; end; }also worksthe .@origin has been stuck to my scripting style, so don't mind that so yeah, the dispbottom will only display on the attached player, not anyone else @Skorm http://www.eathena.ws/board/index.php?s=&showtopic=186459&view=findpost&p=1038374 weird, what I did was actually a method from the author himself ... I have read through addrid source code many times to confirm this https://github.com/rathena/rathena/blob/master/src/map/script.c#L10668
  7. hahaha, I'm just about to point out that bug xD anyway, optimized ~ - script user_count -1,{ OnInit: bindatcmd "getusers", strnpcinfo(0)+"::OnCommand"; end; OnCommand: .@origin = getcharid(3); addrid 1; if ( getgmlevel() <= 20 ) // GM level here .count++; if ( getcharid(3) != .@origin ) end; dispbottom .count +" User"+( .count > 1 ? "s" : "" )+" found on "+strcharinfo(3)+"."; .count = 0; end; }tested@MeWhoMustNotBeNamed if you are writing an event script like last man standing, its better to store them in an array http://rathena.org/board/topic/91723-please-help-this-script-about-mac-address/?p=240887
  8. erm ... me scare scare abit now x.x @Skorm, it should be getarg(3) ? or getarg(4) ? careless mistakes x.x
  9. haha, @Rikimaru's scripts xD there's a bug in your script [Error]: script:getarg: no callfunc or callsub! [Debug]: Source (NPC): [Quest] Church Worker at prontera (165,191)use this script when I am level99I believe should be like this else if (BaseLevel<=80) {callsub Buff,40000,80000,50000,5; } else if (BaseLevel<=96) {callsub Buff,80000,200000,60000,6; } else {callsub Buff,200000,400000,100000,7; }the last line should change to *elsebecause if their server is high rate, its more than 99
  10. hmm, I think its the opposite then actually, for a proper refiner script to successfully up a refine, use successrefitem to successfully down a refine, use downrefitem using these 2 commands will make the equipment stays bound or rented if the item already has that property it seems in this script, there's no downrefitem, but he use getitem2 for it means, if you down a refine with this script, the rented or bound item will become permanent
  11. that's inside OnNPCKillEvent // dispbottom "[Mission # "+@ms_list$[.@ms]+" Progress] Hunted "+.@value+" x "+getmonsterinfo( .@temp_array[.@mob],MOB_NAME );seems like just uncomment this line should work I also just realize this script also doesn't support party kills
  12. what is "Desaprimorar equipment." ? google translate failed to translate this into english from my understanding, if the equipment is bound or is rented, and run through successrefitem, the equipment will remain as bound or rented
  13. its a lame event but a request is still a request [paste=5zppjr19swhi] my portal event is much more interesting than this http://rathena.org/board/topic/77115-request-auto-game-warp-event/?p=171264
  14. post your bug here lolhttp://rathena.org/board/topic/91838-rathena-pastebin-bug/#entry241426 hmmm lol, how come you can't see any paste ? <deleted> EDIT: wait I think this script has a bug, *countstr script command doesn't count the same string twice yeah confirm prontera,156,188,5 script kjdfhkshfs 100,{ .@a$ = "#1#1#1#"; dispbottom countstr( .@a$, "#1#" ); // return 2 end; }EDIT2: use this prontera,156,188,5 script kjdfhkshfs 100,{ getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; .@origin = getcharid(3); for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; .@online++; .@compare_job$ = .@compare_job$ +"#"+ class +"#"; } } attachrid .@origin; // dispbottom .@online + .@compare_job$; if ( .@online < 5 ) mes "your party needs at least 5 party member online"; else if ( !compare( .@compare_job$, "#"+ Job_Paladin +"#" ) ) mes "your party needs a Paladin in your party"; else if ( !compare( .@compare_job$, "#"+ Job_High_Priest +"#" ) ) mes "your party needs a High Priest in your party"; else if ( countstr( .@compare_job$, "#"+ Job_High_Wizard +"#" ) + countstr( .@compare_job$, "#"+ Job_Assassin_Cross +"#" ) + countstr( .@compare_job$, "#"+ Job_Ninja +"#" ) + countstr( .@compare_job$, "#"+ Job_Sniper +"#" ) + countstr( .@compare_job$, "#"+ Job_Lord_Knight +"#" ) < 3 ) mes "your party needs to have at least 3 Damage Dealer classes in your party"; else mes "you are free the go"; close; }
  15. https://github.com/rathena/rathena/commit/dae81222a85f07455bd57276b5eafc6d407f33d0 https://github.com/rathena/rathena/blob/master/src/map/mob.h#L152
  16. http://rathena.org/board/topic/78560-party-checker-job/?p=179078 [paste=4uoqzic2dsf4] [paste=462knd46l7yv]
  17. possible but require source modification http://www.eathena.ws/board/index.php?showtopic=173259 berserk special effect is a permanent type aura however if you can think of using a temporary special effect, I can loop it with a timer just like I did in my previous battleground script, the leader blink in blue or red
  18. line 38 pk_point += .pk_point; // variable name here change into #PKPOINTS += .pk_point; // variable name here EDIT: I dunno how to do no.6 .... sry ...
  19. @Emistry already having 2nd highest reputation in this forum lol in just few weeks you gonna bypass @Jman soon how about let me just say ... this already fixed ?? I not even sure about this already lol
  20. you mean after conquered the castle, their own guild can attack their own emperium, but other guild cannot attack the emperium ? sounds to me like there is a bug on the 3ceam side just be sure, did you included this line in db\castle_db.txt 100,guild_vs1,koe,koe,1 http://www.eathena.ws/board/index.php?s=&showtopic=174222&view=findpost&p=1491458
  21. hahaha if you want to store all player's online account ID I think it might be better to store them in permanent server array so no need to access SQL so many times http://www.eathena.ws/board/index.php?showtopic=276326
  22. oh ! replace your addtimer function into like this BUILDIN_FUNC(addtimer) { int tick = script_getnum(st,2); const char* event = script_getstr(st, 3); TBL_PC* sd; check_event(st, event); sd = script_rid2sd(st); if( sd == NULL ) return 0; if (!pc_addeventtimer(sd,tick,event)) { ShowWarning("buildin_addtimer: Event timer is full, can't add new event timer. (cid:%d timer:%s)\n",sd->status.char_id,event); return 1; } return 0; }
  23. OnNPCKillEvent: if (killamt == 1) { if (killedrid == 1779){ set mvpcount,mvpcount+1; if (mvpcount >= 100) { // remember this curly bracket dispbottom "You have killed 100 Ktullanux's Proceed to the next task"; set ktul,1; } // and closing bracket } else if ( killedrid == 1708 ) { ..... } else if ( killedrid == 1957 ) { ..... } } end;
  24. this script can be quite fun to write although I couldn't complete it atm [paste=4uoqzibzwyn4]
×
×
  • Create New...