Jump to content

Mumbles

Members
  • Posts

    127
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Mumbles

  1. This would require a server restart to take effect (unless there's some method to reload the pet db that I'm unaware of). Using Poring as an example, make sure that the bold red number is the one that you've changed to 10000.
  2. In conf/battle/skill.conf, you can edit this line: // Allow use of SG skills without proper day (Sun/Moon/Star) ? allow_skill_without_day: no If you're adding this change on a live server, @reloadbattleconf will apply the new setting.
  3. Mumbles

    Map Reward

    A bit off-topic but uh...change this: //Idle Check for 5 Minutes if(@afk == 5) { dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again."; stopnpctimer; end; } to this: /* //Idle Check for 5 Minutes if(@afk == 5) { dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again."; stopnpctimer; end; } */ ...or you can just completely remove that block of code if you never want to check for 5-mins idle again.
  4. No, this is an alternative to using Euphy's patch.
  5. Mumbles

    Map Reward

    So instead, we could add a conditional check to see if the loop has already been run once (.runonce)? OnPCLoadMapEvent: do { // Receive item getitem .hourlyitem,.hourlyamount; // Thank-you message dispbottom "You have received "+ .hourlyamount +" "+ getitemname(.hourlyitem) +" as your hourly reward."; dispbottom "Thank you for playing at "+ .servername$ +"!"; .runonce = 1; end; } while (strcharinfo(3) == .hourlymap$ && gettime(2) == .hourlymin && checkidle() < .idletime*60 && .runonce != 1); Wat
  6. You could use permanent variables, or simply not reloadscript.
  7. Mumbles

    Map Reward

    It's fine. I'd rather have someone point out what's wrong and/or could be improved with my scripts. So if I used a do...while loop that's triggered by an OnPCLoadMapEvent, would that work? OnPCLoadMapEvent: do { // Receive item getitem .hourlyitem,.hourlyamount; // Thank-you message dispbottom "You have received "+ .hourlyamount +" "+ getitemname(.hourlyitem) +" as your hourly reward."; dispbottom "Thank you for playing at "+ .servername$ +"!"; end; } while (strcharinfo(3) == .hourlymap$ && gettime(2) == .hourlymin && checkidle() < .idletime*60); In theory, OnPCLoadMapEvent would trigger the loop, which would run checks on the condition until it's met, then execute the script. I also added an end statement within the loop so it wouldn't run indefinitely or until the minute was over.
  8. Mumbles

    Map Reward

    Used an if statement instead with a OnPCLoadMapEvent: hourly.txt The map will need a loadevent mapflag unless you've made the necessary source modifications so that loadevent is run on every map. It runs when the NPC is whispered to, if you're loading this during live gameplay. o-o
  9. Mumbles

    Map Reward

    Updated: hourly.txt
  10. Woops. The original code was one line, so I sorta forgot. - script mobitemadder -1, { OnNPCKillEvent: if(strcharinfo(3) == .mobaddmap$ && killedrid == .mobaddID) { //getitem .mobadditem = .mobaddamt; getmapxy(.@M$,.@X,.@Y,0); makeitem .mobadditem,.mobaddamt,.@M$,.@X,.@Y; } end; // Configuration //OnWhisperGlobal: OnInit: .mobaddID = 1002; // Define mob ID number .mobaddmap$ = "prt_fild08"; // Define map name .mobadditem = 7227; // Define item ID .mobaddamt = 1; // Define amount //dispbottom "Configuration loaded."; // Vanity confirmation end; }
  11. You could make it drop on the floor with makeitem, I believe. - script mobitemadder -1, { OnNPCKillEvent: if(strcharinfo(3) == .@mobaddmap$ && killedrid == .@mobaddID) //getitem .@mobadditem = .@mobaddamt; getmapxy(.@M$,.@X,.@Y,0); makeitem .@mobadditem,.@mobaddamt,.@M$,.@X,.@Y; end; // Configuration //OnWhisperGlobal: OnInit: .@mobaddID = 1002; // Define mob ID number .@mobaddmap$ = "prt_fild08"; // Define map name .@mobadditem = 7227; // Define item ID .@mobaddamt = 1; // Define amount //dispbottom "Configuration loaded."; // Vanity confirmation end; } I added that vanity display message when using the OnWhisperGlobal label to invoke the configuration (as opposed to using @reloadscript?)
  12. This would work singularly as well: - script mobitemadder -1,{ OnNPCKillEvent: if(strcharinfo(3) == $mobaddmap$ && killedrid == $mobaddID) getitem $mobadditem,$mobaddamt; end; // Configuration //OnWhisperGlobal: OnInit: $mobaddID = 1002; // Define mob ID number $mobaddmap$ = "prt_fild08"; // Define map name $mobadditem = 7227; // Define item ID $mobaddamt = 1; // Define amount dispbottom "Configuration loaded."; // Vanity confirmation end; } It can be customized easily by using an array instead, if you want. Just make sure to reconfigure the settings.
  13. Mumbles

    Map Reward

    Link updated in my previous post. You can define the map in the configuration settings. It is defaulted to Prontera. // Configuration //OnWhisperGlobal: OnInit: $idletime = 5; // Allowed idle time in minutes $hourlymap$ = "prontera"; // Designated reward map $hourlymin = 0; // The minute on which ro receive reward (0-59) $hourlyitem = 909; // Item ID of the item received hourly $hourlyamount = 1; // Amount of the item to be received $servername$ = "Server"; // Server name for thank-you message dispbottom "Hourly Reward config has been loaded."; // Vanity confirmation to confirm load end; Read the header in the file for more instructions if need be.
  14. Valid point; why not use a conditional statement to check what class you are, then run the corresponding Spirit skill? You could use BaseJob as the check for a more...universal (?) Spirit Scroll script. On a different note, this a pretty sweet release. Thanks!
  15. If you want to change the music entirely, you could simply replace the corresponding .mp3 file in your client folder's BGM directory. Doing this would change the music on every single map that uses the new file. For example, replacing 87.mp3 client-side would change any map's background music that has the 87.mp3 defined in data/mp3nametable.txt. If you wanted to add a new .mp3 file and change a specific map, you would change the map's file definition in data/mp3nametable.txt. gef_fild02.rsw#bgm\\35.mp3# gef_fild03.rsw#bgm\\35.mp3# gef_fild10.rsw#bgm\\35.mp3# in_orcs01.rsw#bgm\\35.mp3# Here, we can see that multiple maps use 35.mp3. Instead of changing the song for all four maps that use it, we could change a specific map by adding a new file to the BGM folder and defining it. For example, if I added a new .mp3 and called it 1001.mp3, I could then change: in_orcs01.rsw#bgm\\35.mp3# to: in_orcs01.rsw#bgm\\1001.mp3# This will change the background music on in_orcs01 instead of changing it for the other field maps that use 35.mp3. This is particularly useful when adding custom maps or just getting a different feel for an existing one.
  16. Mumbles

    Map Reward

    Here you go: hourly.txt Be sure to read the header notes. Your server needs to be updated to at least r17127 for this to work, as the script calls upon a new script command, checkidle().
  17. It's not a huge ordeal or anything, but I can't seem to award a +1 to someone's post rep after having it "Marked As Solved". Though I'm not quite that active of this particular forum, I do find that a member's Reputation and rating tends to reflect their contributions in the community. Here, it's more of an appreciative factor than a popularity contest; it'd be nice to see it functioning correctly so as to help others build their Reputation on the board. The community here has overall been outstandingly helpful; I'd like to give them credit where credit is due. Again, this is easily a low-priority issue, so don't stress yourselves over it. Thanks for reading guys. Oh, and uh. Since I have your attention, I'll add that hotkey rich-text editing features (i.e. Ctrl B to use bold text, Ctrl I for italics, etc.) appear to be disabled.
  18. Went ahead and used this as a solution. Thanks.
  19. Idk, I'm getting sprite and resource errors from these folders:
  20. This does not prevent them from re-equipping it afterwards.
  21. Hey hemagx, I ran into a similar issue a while back and resolved it by using an older version of ThorGenerator. The one I attached is from 2009 but has (generally) the same functionality and interface as the most recent version. Also, if you're compressing directories that have gibberish text ( ex: data\texture\À¯ÀúÀÎÅÍÆäÀ̽º ), make sure you have your selection switched to ASCII, not Unicode. Hope this helps. d: ThorGenerator.zip
  22. Is there a ViewID that can be used for each job class? I'd like to use something along the lines of disguise 4004; or changelook 4004; - I'm aware these are invalid values; it's simply an example. I'd like to avoid using changebase, as doing so causes sprite errors when attempting to switch to a job that does not allow the weapon being worn (i.e. Clown wearing a Bow disguising into a Baby Novice; Knight wearing a Broad Sword changing into a Sniper; etc.). Alternatively, I could write conditional checks to prevent usage by each specific class disguising into an invalid class, but I'd rather use something less restricted if it exists.
  23. Thanks Brian; contrary to what I originally requested, what you suggested works much better.
  24. Does that even matter? I've used the OnPCLoadMapEvent label before on maps without the loadevent mapflag; what makes towns any different? In any case, I want the script to check if the map you loaded on was not in the array, so wouldn't that require every single map that isn't a town to have the loadevent mapflag?
  25. So I'm trying to write a condition where if your character is not on one of these maps: // Town Definitions setarray .@mapname$[0],"prontera","morocc","geffen","payon","alberta","izlude","aldebaran","xmas","comodo","yuno","amatsu","gonryun","umbala","niflheim","louyang","lunette","in_moc_16","jawaii","ayothaya","einbroch","lighthalzen","einbech","hugel","rachel","veins","moscovia","schenberg"; you will be undisguised: OnPCLoadMapEvent: for(set .@i,0; .@i < getarraysize(.@mapname$); set .@i,.@i+1) { if( "+.@mapname$[.@i]+" == strcharinfo(3)) set .@a,1; if(!.@a) { undisguise; end; } As written, it's not quite confirming that you are not on the maps in the array. What am I doing wrong?
×
×
  • Create New...