Jump to content

Emistry

Forum Moderator
  • Posts

    10018
  • Joined

  • Days Won

    409

Everything posted by Emistry

  1. true.. .it look much lively using custom sprite xD previously I just did it using mob sprite ... >.< it look suck ... @Topic Starter So you roughly created 800+ sprites? consider there exists 400+ monster cards 1 for card background, 1 for monster card displays
  2. use custom npc script ... 45 = sprite id use ontouch event to trigger the event.
  3. set item to not sellable to npc ?
  4. useatcmd "@warp " + .@atcmd_parameters$[0] + " " + .@atcmd_parameters$[1] + " " + .@atcmd_parameters$[2]; change to warp .@atcmd_parameters$[0],atoi( .@atcmd_parameters$[1] ),atoi( .@atcmd_parameters$[2] );
  5. depend on what kind of variable you used to store i, example: permanent variable
  6. http://hercules.ws/board/topic/7547-custom-monster-transform/ i think this could be a good way too ? although it limited per monsters >.<
  7. post your script ... provide a steps that you did ... from which steps/conversations till which steps it stops ... etc...
  8. it's already an automated event that start every 2 hours...
  9. perl script ... #!/usr/bin/perl # Item Database: # --i=../db/pre-re/item_db.txt --o=../sql-files/item_db.sql --t=pre --m=item --table=item_db # --i=../db/re/item_db.txt --o=../sql-files/item_db_re.sql --t=re --m=item --table=item_db_re # # Mob Database: # --i=../db/pre-re/mob_db.txt --o=../sql-files/mob_db.sql --t=pre --m=mob --table=mob_db # --i=../db/re/mob_db.txt --o=../sql-files/mob_db_re.sql --t=re --m=mob --table=mob_db_re # # Mob Skill Database: # --i=../db/pre-re/mob_skill_db.txt --o=../sql-files/mob_skill_db.sql --t=pre --m=mob_skill --table=mob_skill_db # --i=../db/re/mob_skill_db.txt --o=../sql-files/mob_skill_db_re.sql --t=re --m=mob_skill --table=mob_skill_db_re use command prompt to navigate to the directory and execute the command...
  10. OnBroadcast: announce strcharinfo(0)+": "+ .@broadcast_message$,bc_all; addrid(0); soundeffectall .sfx$,0; end; you can try this.
  11. Emistry

    Stalker NPC.

    prontera,155,180,5 script Stalker 100,{ mes "select which skill you want to be copy, your existing one will be overwrite"; next; set .@menu, select(.menu$) -1; if ( getskilllv(.skill$[.@menu * 3 +1]) && .skill$[.@menu * 3 +1] ) { mes "you already copied that skill"; close; } else if ( .skill$[.@menu * 3 +1] ) { mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?"; } mes "you'll need to relogin again"; next; if ( select ( "Yes", "No" ) == 2 ) close; set CLONE_SKILL, .skill$[.@menu * 3 +1]; set CLONE_SKILL_LV, .skill$[.@menu * 3 +2]; atcommand "@kick "+ strcharinfo(0); end; OnInit: setarray .skill$, "< Remove >", 0, 0, "Fire Bolt", 19, 10, "Cold Bolt", 14, 10, "Lightning Bolt", 20, 10; set .@skillsize, getarraysize(.skill$); for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 ) set .menu$, .menu$ + .skill$[.@i] +":"; end; } it's because you assigned a skill id with 0 in order to remove the skill that the char copied.... skill id with 0 doesnt exist.
  12. https://github.com/rathena/rathena/blob/master/tools/convert_sql.pl
  13. something similar.. // Check if failed if (rand(1, .@range) != .success[.@target]) { message strcharinfo(0), "Nothing valuable was excavated..."; } else { .@random = rand( 100 ); if ( .@random < 20 ) .@type = 1; else .@type = 2; .@size = getarraysize( getd( ".mineral_"+.@type ) ); copyarray .@temp_array,getd( ".mineral_"+.@type ),.@size; // Randomize target mineral to mine do { .@target = rand( .@size ); } while ( .@target % 2 ); // Get mineral(s) getitem .@temp_array[.@target], .@temp_array[.@target + 1]; message strcharinfo(0), "You have successfully mined "+ .@temp_array[.@target + 1] +" "+ getitemname(.@temp_array[.@target]) +"!"; } ......... ......... ......... OnInit: // Minerals (constant/ID, amount) setarray .mineral_1[0], Phracon, 5, Emveretarcon, 3, Oridecon, 1, Elunium, 1; setarray .mineral_2[0], Phracon, 5, Emveretarcon, 3, Oridecon, 1, Elunium, 1;
  14. You're actually may click on the "Report" button to report any dead servers, moderators will take care on it. =D
  15. the font..... it's Comis Sans I believe.. just diff your client to use custom font style.
  16. http://info-ea.100webspace.net/Release/Natural_Weather.txt
  17. set the time to -1 ...
  18. ...{},{ sc_end SC_BLIND; },{ if ( strcharinfo(3) == "mymap" ) sc_start SC_BLIND........; }
  19. https://github.com/rathena/rathena/blob/master/tools/convert_sql.pl you can use this.
  20. disguise feature - I like this ... marriage required - .. I cant get a house if I dont get married? guest inviting - sound good password door lock - actually we can have "physical" key that bind to each users.. like your real life where you distribute key to your housemates.
  21. getarraysize( getd( ".@id"+.@num ) ); try
  22. my bad, overlooked the topic title. https://rathena.org/board/topic/101779-source-request-makeegg-returns-pet-id/
  23. it's hercules emulator.
  24. try to diff without the "Ignore missing file error" check if you're missing any files..
  25. something like this ? using the getd and setd to set and retrieve variable that differentiate based on npc name or any other way , as long as it recognize it's for which npc. // main npc - script npc_dup#1 -1,{ OnInit: .@npc = atoi( strnpcinfo(2) ); setd( ".npc_variable_"+.@npc ),( .@npc * 1000 ); end; OnLabel: debugmes "["+strnpcinfo(3)+"] variable value = "+getd( ".npc_variable_"+atoi( strnpcinfo(2) ) ) ; end; } // duplicate above NPC to set a label event. - duplicate(npc_dup#1) npc_dup#2 -1 - duplicate(npc_dup#1) npc_dup#3 -1 - duplicate(npc_dup#1) npc_dup#4 -1 - duplicate(npc_dup#1) npc_dup#5 -1 // extra npc to trigger specific duplicated npc event label. - script call_label -1,{ OnInit: sleep 1000; donpcevent "npc_dup#3::OnLabel"; donpcevent "npc_dup#1::OnLabel"; donpcevent "npc_dup#4::OnLabel"; donpcevent "npc_dup#2::OnLabel"; donpcevent "npc_dup#5::OnLabel"; end; } Preview : I believe it's actually possible. - script npc_1 -1,{ OnInit: setarray .array,1,2,3,4,5; .array_size = getarraysize( .array ); end; } - script npc_2 -1,{ OnInit: sleep 1000; .@size = getvariableofnpc( .array_size,"npc_1" ); while ( .@i < .@size ) { debugmes "[npc_1] .array["+.@i+"] = "+getelementofarray( getvariableofnpc( .array,"npc_1" ),.@i ); .@i++; } end; } Preview : However, most of the users out there did it using the global variable ($ and $@) most of the time.
×
×
  • Create New...