Jump to content

Brian

Members
  • Posts

    2223
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Brian

  1. Instead of using a Permanent_Monster_Spawn, you could use a script: OnInit --> spawn X monsters (use the monster script command) spawn the monsters with an attached even label when the monster dies, that label triggers --> (re)spawn 1 more monster add the OnDay and OnNight source edit OnDay --> killmonster (kill the monsters with your event label) OnNight --> respawn the monsters (same trigger as OnInit) Example:- script night_only_mob_spawns -1,{ OnInit: OnNight: killmonster "prontera", strnpcinfo(3)+"::OnZombieDead"; monster "prontera",155,180,"Zombie",1015,10,strnpcinfo(3)+"::OnZombieDead"; end; OnZombieDead: if (isnight()) monster "prontera",155,180,"Zombie",1015,1 ,strnpcinfo(3)+"::OnZombieDead"; end; OnDay: killmonster "prontera", strnpcinfo(3)+"::OnZombieDead"; end; }
  2. from this topic: Can i host my patcher at free hosting site?
  3. Here are some guides: Run and Stop eAthena Server How to use screen?
  4. It means those search engines are currently crawling the page(s) you see them on.
  5. if (getequipid(EQI_HEAD_MID) == -1) { mes "You need to wear a middle headgear to continue."; close; }
  6. Use Notepad++ to search your whole /npc folder. You can also browse to the /npc folder in Windows Explorer, then search for "mc1" in the search box.
  7. Brian

    rAthena

    Red instructions are on your computer, Blue instructions are on AsuraHosting. (optional) compress your rAthena folder into a .zip file upload the .zip file via FTP or SFTP to your server on AsuraHosting login to SSH on your server on AsuraHosting (optional, if you did step 1) unzip your rAthena folder on your computer, do a mysqldump of your "ragnarok" SQL database upload the sql dump to your server on AsuraHosting import the sqldump to your AsuraHosting SQL database back in SSH, recompile your server edit any config files that changed (ex: SQL login info in inter_athena.conf, IP addresses or ports in login_athena.conf, char_athena.conf, map_athena.conf) start your server Let us know if you need more help with a specific step.
  8. a live Fabre or dead Fabre? // count ingredients // take ingredients progressbar "FFFF00",600; // 600 seconds = 10 minutes // give product Or a more serious example: prontera,155,180,0 script cook_for_10_min 910,{ mes "[Oven]"; if (fabre_finish_cooking == 0) { // first time (no quest in progress) mes "Bring me 1 jellopy, 1 clover, 1 fabre card."; next; if (countitem(909)<1 || countitem(705)<1 || countitem(4002)<1) { select("I don't have all the items yet"); mes "[Oven]"; mes "Well, get going and bring me those items!"; } else if (prompt("Here you go. **give items to oven**:Cancel, keep items")!=1) { mes "[Oven]"; mes "Fine! Keep your items!"; } else { mes "[Oven]"; if (countitem(909)<1 || countitem(705)<1 || countitem(4002)<1) { mes "You don't have all the ingredients."; } else { delitem 909,1; // Jellopy delitem 705,1; // Clover delitem 4002,1; // Fabre Card set fabre_finish_cooking, gettimetick(2) + 600; // 10 minutes from now mes "Now I will cook your Fabre."; mes "Come back in 10 minutes..."; } } } else if (gettimetick(2) < fabre_finish_cooking) { // quest IN PROGRESS (wait 10 mins) mes "Your Fabre is still cooking."; mes "Come back in "+ Time2Str(fabre_finish_cooking) +" ..."; } else if (gettimetick(2) >= fabre_finish_cooking) { // FINISH quest if (checkweight(5785,1) == 0) { mes "You are overweight or carrying too many items."; } else { mes "**ding**"; getitem 5785,1; // Green_Bunny_Hairband set fabre_finish_cooking,0; mes "All done, here is your cake/pie!!"; } } close; }
  9. Your re-post of the script does not address what Emistry said in post #4.
  10. Brian

    Mail Box ?

    By default, openmail only works on maps with mapflag#town. trunk/conf/mapflag/town.txt You can add your other maps to /conf/mapflag/town.txt Or you can remove the 'town' mapflag check from mail_invalid_operation() in trunk/src/map/mail.c
  11. The guide is mostly complete. The section that's missing is after Installation_(CentOS)#Import_MySQL_Tables, you need to: set the MySQL user/pass in trunk/conf/inter_athena.conf in MySQL (ragnarok.login table), change the default s1/p1 userid and password then edit char_athena.conf and map_athena.conf with the new userid and password
  12. TSR was moving to a new house. It's back online now.
  13. I haven't had to transport a desktop computer with me before.. but if I did, in addition to what the others are suggesting, I would pack the hard drive with me in my carry-on. Then, at least I know that piece won't be getting tossed around!
  14. Here is my trunk/src/map/atcommand.c (SVN revision 17205) Did you edit that whole code block "so it looks like this"? (what I pasted in the 2nd codebox) If you only deleted line 9302, that's incorrect.
  15. For GMs, the server already displays "________ is Unknown Command." To enable that for players too (group_id 0), edit trunk/src/map/atcommand.c (line 9299-9309) Remove the pc_get_group_level(sd) check (line 9302) so it looks like this: //Grab the command information and check for the proper GM level required to use it or if the command exists info = get_atcommandinfo_byname(atcommand_checkalias(command + 1)); if (info == NULL) { sprintf(output, msg_txt(153), command); // "%s is Unknown Command." clif_displaymessage(fd, output); atcommand_get_suggestions(sd, command + 1, *message == atcommand_symbol); return true; }
  16. Clients that read GRF only still save the user options in /data/OptionInfo.lua (if the client can write that file, of course).
  17. Yes you can substitute a variable for the <default_value> in getarg. getarg(<index>{,<default_value>}) For account or char variables, just make sure there is a player attached during that part of your script.
  18. In clients that use LUA files, this option is stored in the data folder: /data/OptionInfo.lua CmdOnOffList["/showname"] = 1
  19. trunk/src/map/atcommand.c line 485, add this code: if ( pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) { clif_displaymessage(fd, msg_txt(81)); // Your GM level doesn't authorize you to preform this action on the specified player. return -1; } Save and recompile.
  20. First, get the card3 and card4 values using getequipcardid or getinventorylist. Then, combine them to get the char_id: set .@signer_char_id, .@card3 | (.@card4 << 0x10);Then, query the `char` table to get the name:query_sql "SELECT `name` FROM `char` WHERE char_id="+.@signer_char_id, .@signer$;
  21. Brian

    custom @go.

    If you choose not to edit clif.c, then you need to write a mapflag script that sets the 'loadevent' mapflag on every map (or every map where you want the map name to be announced when you enter).
  22. Brian

    custom @go.

    Sorry about that. I forgot variable names can only be alphanumeric and underscore. I fixed it by adding replacestr to change "@" and "-" to underscores. where_am_i.txt
  23. Brian

    custom @go.

    Here you go:1. edit trunk/src/map/clif.c so OnPCLoadMapEvent always triggers, even if maps do not have the 'loadevent' mapflag. Find these lines: if(map[sd->bl.m].flag.loadevent) // Lance npc_script_event(sd, NPCE_LOADMAP); and change to look like this: npc_script_event(sd, NPCE_LOADMAP); 2. load this script: where_am_i.txt (I commented out maps that did not have an English translation in mapnametable.txt, so there will be no announcement when you load on those maps.
×
×
  • Create New...