Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/22/13 in all areas

  1. Think your the 2nd or 3rd person ive seen that thinks that. I don't see how their running out of idea's when level expansions is a normal thing in modern MMO's. Level caps are raised, more stats can be gained, newer skills can be learned (or higher levels of existing skills is accessible), and higher level monsters and equips are added. This is the first time ive seen something about them maybe increasing the max job cap for some jobs. This kind of stuff was goina happen sooer or later. I wonder what the level 175 aura will look like. 99 is normal feeling, 150 is big blue annoying, 160 is big yellow even more shinny and annoying, 175 will be big greyish white and sooooo easy to spot, and 200 will be big "Omg so bright and shinny white that looking at it will blind you".
    2 points
  2. Idea : http://goo.gl/83liA Preview : This script can supply a way to retrieve your account passwords. Download : SQL : ( Must install it !! ) CREATE TABLE IF NOT EXISTS `validate` ( `email` varchar(255) NOT NULL default '', `md5` varchar(255) NOT NULL default '', `account_id` int(11) unsigned NOT NULL default '0', `status` tinyint(1) NOT NULL default '0', PRIMARY KEY (`account_id`) ) ENGINE=MyISAM; Script : Validate System.txt Source : ( Must install it !! ) http://rathena.org/b...ail-to-someone/
    1 point
  3. Loki's Achievement System with no source edit This system contains many possible kinds of achievements, getting achievement points, announcing your achievement and displaying a cutin. And all that without any source edit. Only with trigger and a cache sytem, that your sql server won't be spamed with querys! I was really frustrated that most of the source edit versions haven't worked on my server. I hope you will enjoy it I will explain it's functions below. Downloads: lokis_achivement_system_1.0.1.zip loki_achivement_demodata_1.0.zip Supported Achievements: Mode 0 = Your custom achievements, see point Custom Achivemetns below. Mode 1 = Items in your inventar. It will be checked after every login and after every time when you are killing a mob. 9 different items at once are possible. Mode 2 = Kill Mobs. Will be checked after every mob kill. 9 different mobs at once are possible. Mode 3 = Mvp kills. Will be checked after every mob kill. Only 1 value is possible (ex. Kill 15 MvPs, Kill 30 Mvps. This mode is not like Kill 10 Phreeonis, for this use Mode 2!) Mode 4 = Pvp Kills. Will be checked after every pvp kill. Only 1 value is possible (ex. Kill 1 other Player, Kill 666 other Player etc.) Mode 5 = Reach Baselevel X. Will be checked on every BaseLevel up (@commands won't effect this trigger!). Only 1 value is possible Mode 6 = Reach Joblevel X. Will be checked on every JobLevel up (@commands won't effect this trigger!). Only 1 value is possible Creating a Achievement: All achievements are in your SQL database, so we just need to insert something in the table "achievement". name = name of your achievement desc = Your description for the achievement and will only be used by Bob (see below). Can be used for your website etc. mode = Your mode (see category above this one) deleted = should ever be "n"! Due to the cache system, you should never delete a Entry by "DELETE FROM achievement WHERE id=X". NEVER! Just set deleted="y" cutin = your cutin image. If you leave this NULL or empty, no cutin will be displayed. points = how many points do the user get for this achievement? singleval = will be used for mode 3,4,5,6. It would confuse everybody, if I would save the data in val1 or anywhere else. val1 - val9 = Will be used for Mode 1 and 2. Here you will write the itemID or the monsterID. val1amount - val9amount = The amount, the user have of itemID in his inventar or how many monster the user have to kill. If you want that the player have to kill 10 porings and 20 drops, you would save the follow: val1: 1002 val1amount: 10 val2: 1113 val2amount: 20 Every received achievement will be saved in the table achievement_log. Due to that here are no @commands, the table achievement_force is made to force player to get a achievement or to reset/remove a achievement. You don't have to create any insert. Just talk to Bob (see below). Configurate your achievement system: There isn't much to configure set $a_cache_expire,120; set $a_effect_id,908; set $a_cutin_delay,8000; $a_cache_expire = in how many seconds the global cache will be expire? $a_effect_id = which effect will be displayed on the user when he received an achivement (@effect 908) $a_cutin_delay = for how many milliseconds the cutin should be displayed in the bottom of your screen? Create a custom Achievement (mode 0): You can call the achievement you want to give in any of your scripts with just writing: callfunc "achieve",<<achievementId>>; Here is an example, which I placed in my custom instance. If the user is joining there the first time, he would get the achievement 18! warp "hellfire",264,129; if(a_done_18 != 1 && $a_del_18$ == "n") { sleep2 5000; callfunc "achieve",18; } a_done_X = have user already got the achievement? 1=yes, 0=no $a_del_X$ = is achievement active and not deleted? y=yes, n=no. This both flags should be placed everywhere where you use this function. sleep2 5000; is just for skipping the delay of warping to the map. Just ignore this If you want to use custom script with trigger, you can build them like that. This script checks if your zeny is higher than the "singel_val" value in the database ($a_sval_17). You could also just write if(Zeny >= 1000000) callfunc "achieve",17; - script ach_17 -1,{ OnPCLoginEvent: OnNPCKillEvent: if(a_done_17 == 1 || $a_del_17$ == "y") end; if(Zeny >= $a_sval_17) callfunc "achieve",17; end; } This script can be found in the demodata pack with 16 other achievement If you want to make an item_use Achievement, just place the important line above in the item script. Achievement Bob (including in lokis_achievement_system_X.X): This script is made for GM's and Player. The player can get information about all achievements, which they have or have to get and how many achievement points they have. The GM Menu have many more functions: Force Player Achievement This function will save entries into the table achievement_force. It can be used to give a player an achievement or to reset an achievement. The user just have to talk to Bob after you clicked through the form. There isn't any validation. So be careful, that the user won't get a achievement 2 or more times. Enable/Disable Achievements This function just set the deleted=y or deleted=n flag. If you change something, you should clear the cache (or wait until it expires). Clear cache Set Flag to clear cache. It will be renewed when a player is login into your server. Compare log with achievement points Compares the achievement_log table with the score of achievements of the player. If there is a difference, the real value will be saved. WARNING: If you have something like a cashshop with this points, this function will destroy your database :/ Points should only be used in viewing only or for a ranking. Else you should change the core of this function. Error Handing: Due to a lot of trigger events, your server may cause some phantom errors like "players event queue is full". To fix this, just edit the src/map/map.h and increase the #define MAX_EVENTQUEUE 2 value to 20. I hope this guide helped you in this complex system Have fun with it Loki1991 lokis_achivement_system_1.0.zip
    1 point
  4. I seset mo nalang yung VPS hosting mo para ma open and set mo sa data/clientinfo.xml
    1 point
  5. Yan yung specs ng virtual host na irerent mo. Upload mo lang yung svn, import yung sql files. configure mo yung map_athena.conf, char_athena.conf, login_athena.conf saka inter_athena.conf. Recompile mo yung server, tas run mo na. tas ibahin mo yung ip sa clientinfo.xml ok na un
    1 point
  6. Simplest way to say is that those specs are the basic things you need to have, to be able to host a dedicated server.
    1 point
  7. Diria yo que no se puede ya que los npcs son leidos desde el servidor y no desde tu grf.
    1 point
  8. For example poring.. Mode is 0x83 Input 83 here. And you'll get 131. Looking at this table.. MD_CANMOVE | 0x0001 | 1 MD_LOOTER | 0x0002 | 2 MD_AGGRESSIVE | 0x0004 | 4 MD_ASSIST | 0x0008 | 8 MD_CASTSENSOR_IDLE | 0x0010 | 16 MD_BOSS | 0x0020 | 32 MD_PLANT | 0x0040 | 64 MD_CANATTACK | 0x0080 | 128 MD_DETECTOR | 0x0100 | 256 MD_CASTSENSOR_CHASE | 0x0200 | 512 MD_CHANGECHASE | 0x0400 | 1024 MD_ANGRY | 0x0800 | 2048 MD_CHANGETARGET_MELEE | 0x1000 | 4096 MD_CHANGETARGET_CHASE | 0x2000 | 8192 MD_TARGETWEAK | 0x4000 | 16384 get the modes that will add up to 131 they are MD_CANMOVE | 0x0001 | 1 MD_LOOTER | 0x0002 | 2 MD_CANATTACK | 0x0080 | 128 to add MD_PLANT(64) 131+64 = 195 converting back to hex, you'll get 0xC3 the new entry should be
    1 point
  9. u may try spawn the mobs have high vit. and other else. haha adjust mob_db
    1 point
  10. you can try this too.. http://pastebin.com/raw.php?i=Kgk8PgzJ
    1 point
  11. u are welcome just share what i have, its not mine. hope it will usefull for u
    1 point
  12. //============================= // // Identifier // Version 1.0 // Author: Fire685 // //============================= prt_in,59,54,3 script Identifier 986,{ if(Zeny < 200) goto no_zeny; mes "[Identifier]"; mes "Hello, would you like to identify all your unidentified items for 200 zeny each?"; next; menu "Yes, please!",yes1,"No, thanks.",no1; yes1: getinventorylist; set @identify, 0; for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) { if (@inventorylist_identify[@i] == 0) set @identify, @identify + 1; } if (@identify == 0) goto no_unid; mes "[Identifier]"; if (@identify < 2) { mes "Are you sure you want to identify the "+@identify+" unidentified item in your inventory for "+(@identify * 200)+" zeny?"; } else { mes "Are you sure you want to identify the "+@identify+" unidentified items in your inventory for "+(@identify * 200)+" zeny?"; } next; menu "Yes, identify my items!",yes2,"No, thanks.",no2; yes2: if(Zeny < 200) goto no_zeny; getinventorylist; set @identify, 0; for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) { if (@inventorylist_identify[@i] == 0) set @identify, @identify + 1; } if (@identify == 0) goto no_unid; getinventorylist; set @identified, 0; for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) { if (@inventorylist_identify[@i] == 0) { if (Zeny < 200) goto no_zeny; else set Zeny, Zeny - 200; delitem2 @inventorylist_id[@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[@i],1; set @identified, @identified + 1; } } mes "[Identifier]"; mes "All your items have been identified!"; close; no1: mes "[Identifier]"; mes "Please come again soon!"; close; no2: mes "[Identifier]"; mes "Please come again soon!"; close; no_zeny: mes "[Identifier]"; mes "You don't have enough zeny!"; close; no_unid: mes "[Indentifier]"; mes "You don't have any unidentified items!"; close; no: mes "[Identifier]"; mes "Please come again soon!"; close; } adjust the zeny ok
    1 point
  13. inside the npc folder trunk/npc/
    1 point
  14. recache your mapcache.dat
    1 point
  15. check ur card drops rate and etc... use @mi to check the actualy monster drop rate...
    1 point
  16. Hmm. set #Premium,#Premium + ( 30 * 24 * 3600 ); // Days * Hours * secondsperhour Just change 30 to the number of premium days you want to give them accordingly.
    1 point
  17. For all quest initialized add set Quest_finish, Quest_finish + 1; and if( Quest_finish > 3 ) { mes "you can't take another quest"; close; } when the quest is finished set Quest_finish, Quest_finish - 1;
    1 point
  18. Dazu würd ich dir empfehlen einfach mal das Script zum Endless Tower anzusehen. Prinzipiell funktioniert das ganze mit OnKill-Events in denen du mitzählen kannst wieviele Monster schon tod sind und wenn keine mehr übrig sind einfach einen zuerst versteckten Warp NPC wieder freischalten.
    1 point
  19. There's a backwards way around this. Have the item call a function when equipped. if(Class == Job_Assassin || Class == Job_Assassin_Cross) { callfunc "awesomefunc"; } In that function, have an 'OnNPCKillEvent' label with code like this in it: OnNPCKillEvent: set .@number,rand(0,1); if (.@number == 0) { set .@drop,rand(0,9); if (.@drop < 2) getitem 908,1; } else if (.@number == 1) { set .@drop,rand(0,9); if (.@drop < 2) getitem 909,1; } break;
    1 point
  20. Это со стандартного джобмастера не получается? set .ThirdClass,1; // Enable third classes? (1: yes / 0: no)Тут что-то непонятное написано?Или не удалить загрузку прогружающихся нпц для 3'их профессий? re/scripts_jobs.conf // - 3-1 npc: npc/re/jobs/3-1/archbishop.txt npc: npc/re/jobs/3-1/mechanic.txt npc: npc/re/jobs/3-1/ranger.txt npc: npc/re/jobs/3-1/rune_knight.txt npc: npc/re/jobs/3-1/warlock.txt npc: npc/re/jobs/3-1/guillotine_cross.txt // - 3-2 npc: npc/re/jobs/3-2/genetic.txt npc: npc/re/jobs/3-2/minstrel.txt npc: npc/re/jobs/3-2/royal_guard.txt npc: npc/re/jobs/3-2/shadow_chaser.txt npc: npc/re/jobs/3-2/sorcerer.txt npc: npc/re/jobs/3-2/sura.txt npc: npc/re/jobs/3-2/wanderer.txtВы уже настолько обленились, что даже сами поискать ничего не можете, даже включить мозг создаётся впечатление, что у вас его просто нет.
    1 point
  21. 1 point
  22. hi,you may want to check this out, the npc can be found at new_1-1 (@go 15) ) feel free to modify it as you wish new_1-1,51,113,5 script Freebies 403,{ if( BaseLevel > 1 || JobLevel > 1 || Class != Job_Novice ){ mes "[Novice Freebies]"; mes "Nice to meet you "+ strcharinfo ( 0 ) +", "; mes "Welcome to ^E066FFYour Ragnarok Online!^000000"; mes "I see that you're new here so to help you out I'd like to give you these"; mes "items as a gift to show how much we appreciate you here!"; next; mes "[Novice Freebies]"; mes "Have fun!"; sc_start SC_EXPBOOST,3600000,100; sc_start SC_ITEMBOOST,3600000,0; skilleffect 34,0; sc_start SC_BLESSING,3600000,20; skilleffect 29,0; sc_start SC_INCREASEAGI,3600000,20; skilleffect 361,0; sc_start SC_ASSUMPTIO,3600000,5; getitem 1203,1; getitem 2306,1; savepoint "prontera",155,179; next; warp "new_zone02",164,172; close; } { mes "[Freebies]"; mes "Have fun!"; savepoint "prontera",155,179; next; warp "new_zone02",164,172; close; } }
    1 point
  23. But I prefer to use a menu rather than a switch.
    1 point
  24. Author: Angst Compatible with: r14558+ This system would replace the traditional system for refinement, and there is no refinement failure unless stated otherwise. Also this system uses no source modifications (Npc Menu Driven). The system requires three of the same stone to get to the next tier; a total of 59049 fragments needed to make a +10. The system will convert as many stones as it can automatically without the need for the player to use the input box. DB entries you will need. No Breakage, No Catalysts Max Refinement +10. Version: 5 -Some If statements had the wrong comparison operators. -Changed refinement back to atcommand since it's easier and doesn't cause the script to hang when refining and doesn't show refinement from 1-10 in the chat window like normal refining does. -Added "Merge all stones to highest possible Tier" menu option, allowing to merge 512x T1 stones into a T10, or 1023x T1 == 1x of each level of tier stones. -Changed rates from 3 to 2 stones required per Tier. 10 fragments required for T1. -Added simple anti-hack checking. -------------------------- Version: 1.3 >Updated refinement section with loop instead of atcommand. Optimized itemID usage into vars if the user changes Tstone itemID. Version: 1.2 >Initial Release. Link -------------------------- Max Refinement +20 Link Breakage, Catalysts Max Refinement +10 Catalyst items, 'Enhancement Stone' and 'Support Stone'. Enhancement Stones in sets of 10 bring out the full %chance to refine. To prevent failure and breaking, have a Support Stone in your inventory. Failure removes attempted Tstone, Enhancement and Support stones from inventory. Version: 1.3 >Fixed refinement tiers 1-4 from delitem'ing Enhancement Stones. Version: 1.2 >Initial Release. Link -------------------------- Max Refinement +20 Link
    1 point
  25. src/common/core.c find to change Unknown to the version as you know
    1 point
  26. I have seen the @dance command somewhere here at the forums but now it doesn't support the latest SVN revision of rAthena due to the changes of the structure for player commands. Here is the update to support the latest SVN revision for rAthena On your atcommand.c, find the function: ACMD_FUNC(partyrecall) Below its closing brace '}' Add this function /*========================================== * @dance by OnNplay * inspired by Anarchist * Updated by Kaito_Kid to support the latest rev. for rAthena * => Special effects with dance style *------------------------------------------ */ ACMD_FUNC(dance) { nullpo_retr(-1, sd); if (!message || !*message) { clif_displaymessage(fd, "usage: @dance 1-9"); return -1; } if ( atoi(message) == 1 ) { clif_specialeffect(&sd->bl, 413, ALL_CLIENT); } else if ( atoi(message) == 2 ) { clif_specialeffect(&sd->bl, 414, ALL_CLIENT); } else if ( atoi(message) == 3 ) { clif_specialeffect(&sd->bl, 415, ALL_CLIENT); } else if ( atoi(message) == 4 ) { clif_specialeffect(&sd->bl, 426, ALL_CLIENT); } else if ( atoi(message) == 5 ) { clif_specialeffect(&sd->bl, 458, ALL_CLIENT); } else if ( atoi(message) == 6 ) { clif_specialeffect(&sd->bl, 466, ALL_CLIENT); } else if ( atoi(message) == 7 ) { clif_specialeffect(&sd->bl, 501, ALL_CLIENT); } else if ( atoi(message) == 8 ) { clif_specialeffect(&sd->bl, 540, ALL_CLIENT); } else if ( atoi(message) == 9 ) { clif_specialeffect(&sd->bl, 550, ALL_CLIENT); } return 0; } Then find the line ACMD_DEF2("newmount", new_mount), and then place this line of code below ACMD_DEF(dance), Then recompile your source code. NOTE: I didn't create a diff file cause I don't know how to make one ;P, if someone can then it would be helpful
    1 point
×
×
  • Create New...