Jump to content

Capuche

Developer
  • Posts

    2407
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by Capuche

  1. The reason: these mvps have their own event and you can't cumulate theirs + onnpckillevent Add a doevent in their quest script to trigger your onnpckillevent Misc: I guest the purpose of your script is to give some point to your party - when you have one. you miss some curly in the for loop for( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) if( isloggedin( $@partymemberaid[.@i],$@partymembercid[.@i] ) ) if( attachrid( $@partymemberaid[.@i] ) ) {// <- curly here set #CASHPOINTS, #CASHPOINTS + (24/$@partymembercount); set .@sharedpoints, (24/$@partymembercount); dispbottom "You have gained "+.@sharedpoints+" DaedaRO Points."; }// <- curly here
  2. if (.@count < 3) { + if ( select( "Revive", "Leave" ) == 2 ) { + dispbottom "Take care~."; + end; + } callsub S_setrevivecount, .@count +1;
  3. - script iuno -,{ OnInit: while(1) { if ( getareadropitem( "jupe_ele",34,34,49,54,969 ) < 100 ) makeitem 969,1,"jupe_ele",rand(34,49),rand(34,54); sleep 800; } }
  4. recovery is update since r17321 a trick to replace this one - recovery 0; + getmapxy .@map$, .@x, .@y, 0; + warp .@map$, .@x, .@y; + percentheal 100,100;
  5. Template sample prontera,150,180,5 script your newbienpc 56,{ // your newbie reward ... mes "wanna do the newbie quest?"; next; if ( select( "yes", "no" ) -1 ) end; // your newbie quest } like this?
  6. Ajust your areawarp L_Lose1: areawarp "quiz_01",183,81,191,60,"prontera",155,182;// box 2 areawarp "quiz_01",195,81,203,60,"prontera",155,182;// box3 areawarp "quiz_01",207,81,215,60,"prontera",155,182;//box4 goto L_Start; end; L_Lose2: areawarp "quiz_01",183,81,191,60,"prontera",155,182;//1 areawarp "quiz_01",195,81,203,60,"prontera",155,182;//3 areawarp "quiz_01",219,81,227,60,"prontera",155,182;;//4 goto L_Start; end; L_Lose3: areawarp "quiz_01",183,81,191,60,"prontera",155,182; areawarp "quiz_01",207,81,215,60,"prontera",155,182; areawarp "quiz_01",219,81,227,60,"prontera",155,182; goto L_Start; end; L_Lose4: areawarp "quiz_01",195,81,203,60,"prontera",155,182; areawarp "quiz_01",207,81,215,60,"prontera",155,182; areawarp "quiz_01",219,81,227,60,"prontera",155,182; goto L_Start; end;
  7. - .@name$ = strcharinfo(0); + set .@name$, strcharinfo(0); it will warp a top 8 in prontera change this if you don't use rathena
  8. or Mapflag#nosave instead of warp on onpcloginevent
  9. trunk/npc/re/merchants/refine.txt and set refine_db in db folder for 50% chance trunk/db/re/refine_db.txt
  10. <effect type> are sc_ type in const, db foolder
  11. query_sql "SELECT `char`.`name`,CAST(`value` AS UNSIGNED) " + "FROM global_reg_value " + "LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id " + "WHERE global_reg_value.`str`='class_s' " + "ORDER BY CAST(`value` AS UNSIGNED) DESC LIMIT 20",.@aid$,.@var; .@name$ = strcharinfo(0); for (set .@i,0; .@i<8; set .@i,.@i+1) if ( .@aid$[.@i] == .@name$ ) break;// is in the top 8 ladder if ( .@i == 8 ) { mes "you need to be include in the ladder"; close; } warp "prontera",0,0;
  12. Update french translate to 17408 http://pastebin.com/pbTCRamh Criticisms are welcome Misc: I made a ugly python file to check the missing/extra message number for each lang file vs main file. Put it in the same msg_conf folder, the diff is saved in a diff file http://pastebin.com/xurp6VdT I use it, if it can help
  13. Capuche

    WOE:TE

    Thanks for the infos
  14. I suggest a reload npc (= unload npc/load npc - the script, not the path) on click (for gm) Your opinion?
  15. trunk/npc/custom/events/disguise.txt set .Prize,512;// <- prize set .PrizeAmt,1;// amount OnClock0000:// <- hour OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200:
  16. it checks if the variable account is highter than 0 (player of account already get the reward) and checks if the variable with the ip is set (player with this ip already get the reward) with a or in condition
  17. prontera,150,180,5 script ujiono 56,{ getmapxy .@map$,.@x,.@y, 1;// XY npc sample for ( .@i = -4; .@i <= 4; .@i++ )// x for ( .@j = -4; .@j <= 4; .@j++ )// y if ( checkcell( .@map$, (.@x+.@i), (.@y+.@j), cell_chkpass ) ) {// can pass .@cell_x[.@size] = .@x+.@i; .@cell_y[.@size] = .@y+.@j; .@size++; } .@r = rand( .@size );// random index makeitem 501,1,.@map$,.@cell_x[.@r],.@cell_y[.@r]; }
  18. for (set .@i,0; .@i<8; set .@i,.@i+1) { mes (.@i+1) +". ^0000FF"+ .@aid$[.@i] +"^000000 ["+ .@var[.@i] +"]"; - close; } + close; your script close the window and put an end on for loop after one iteration
  19. Capuche

    HIRE NPC

    or this? prontera,160,160,2 script Arch Bishop 1002,{ function giveBuff; if ( .is_renting ) end; if ( select( "Rent", "Leave" ) -1 ) end; .is_renting = getcharid(3); .name_isrenting$ = strcharinfo(0); addtimer ( .rent_time * 1000 ), strnpcinfo(3) +"::OnPCLogoutEvent"; doevent strnpcinfo(3) +"::OnStart"; npctalk "I will follow you for "+ .rent_time +" secs."; end; function giveBuff { .@name$ = getarg( 0,.name_isrenting$ ); .@account_id = getarg( 1,.is_renting ); if ( readparam( 5,.@name$ ) *100 < 70 * readparam( 6,.@name$ ) ) recovery 0, .@account_id; for ( .@i = 0; .@i < .size_effects; .@i++ ) if ( getstatus( .effects[.@i] ) == 0 )// on player attached status sc_start .effects[.@i], 60000,10,100,15,.@account_id; } OnStart: while ( .is_renting ) { if ( getcharid(1) ) { .@party_id = getcharid(1); getpartymember .@party_id; getpartymember .@party_id,1; getpartymember .@party_id,2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) giveBuff( $@partymembername$[.@i], $@partymemberaid[.@i] ); } else giveBuff; for ( .@i = 0; .@i < 3; .@i++ ) { if ( !.is_renting ) break; getmapxy .@map$, .@x, .@y, 0; getmapxy .@map_npc$, .@x_npc, .@y_npc, 1; if ( .@map$ != .@map_npc$ || distance( .@x, .@y, .@x_npc, .@y_npc ) > 10 ) unitwarp .npc_id, .@map$, .@x, .@y; else if ( distance( .@x, .@y, .@x_npc, .@y_npc ) > 5 ) { .@x = .@x + rand(3); .@y = .@y + rand(3); npcwalkto .@x, .@y; } sleep2 1000; } } npctalk "Goodbye~."; unitwarp .npc_id, .map_npc$, .x_npc, .y_npc; end; OnPCLogoutEvent: if ( getcharid(3) == .is_renting ) { .name_isrenting$ = ""; .is_renting = 0; } end; OnInit: // settings setarray .effects, SC_BLESSING, SC_INCREASEAGI; // sc effect in const.txt .rent_time = 3600; // in secs // .size_effects = getarraysize( .effects ); getmapxy .map_npc$, .x_npc, .y_npc, 1; .npc_id = getnpcid(0); npcspeed 50; end; }
  20. The previous script doesn't work on 3ceam. - script jnojij -,{ OnPCLoadMapEvent: if ( strcharinfo(3) == "job3_rune01" && @warp_on_job3_rune01 == 0 ) { if ( getsavepoint(0) != "job3_rune01" ) { message strcharinfo(0), "You can't warp here."; warp "Save",0,0; } } } job3_rune01 mapflag loadevent prontera,150,150,5 script warpto job3_rune01 56,{ set @warp_on_job3_rune01, 1; warp "job3_rune01",0,0;// warp player on rune map sleep2 50; set @warp_on_job3_rune01, 0; } I don't find an easy way with script npc
  21. http://rathena.org/board/topic/76602-a-little-help-about-charms/
  22. nope a player warped is automatically rez, it was a bug with attachrid http://rathena.org/board/tracker/issue-7607-the-walking-dead/?gopid=19634#entry19634
  23. Capuche

    Requesting

    http://www.eathena.ws/board/index.php?showtopic=270783
  24. Try with addtimer addtimer 3000,strnpcinfo(3) +"::OnTalk"; end; OnTalk: dispbottom "Already 3 secs"; end;
  25. - script atcmd_load -1,{ OnInit: bindatcmd "load",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: if ( getsavepoint(0) == "job3_rune01" ) { message strcharinfo(0), "Warping to save point."; warp "Save",0,0; } else atcommand "@load"; end; } or you need source mod
×
×
  • Create New...