Jump to content

bWolfie

Members
  • Content Count

    850
  • Joined

  • Last visited

  • Days Won

    34

Everything posted by bWolfie

  1. sorry for my question i worked it out.
  2. I think it goes the same for any npc, even FAKE_NPC. The only time you can walk over it is when it is disabled (maybe disablenpc())
  3. Hi guys. I'm not involved in the project, just wanna give a message to those replying: Please construct your complaints/criticism/issues in an organised fashion. This is an important project and we don't wanna burn these guys out! ty
  4. Hello, I want to set a permanent character variable that calls from an array. For example, my variable set up: setarray(variable$[0], "value_1", "value_2", "value_3" ); And then call array to set the variable: variable$[2] = 1; It seems to work okay...but when scripts reload, values are cleared. Any help? Thanks.
  5. The issue is if you are duplicating an NPC (i.e. multiple NPCs running same script), every time OnPCKillEvent/DieEvent is triggered, it will activate for all NPCs. This script very messy, hard to read for me so don't know what's going on. But something like this is an example. The following script would cause the script to run 5 times - 1 original and 4 duplicates. - script Kill Announce FAKE_NPC,{ OnPCKillEvent: announce("" + strcharinfo(PC_NAME) + " killed somebody.", bc_all); end; } prontera,150,150,3 duplicate(Kill Announce) Kill Announce#1 FAKE_NPC payon,150,150,3 duplicate(Kill Announce) Kill Announce#2 FAKE_NPC izlude,150,150,3 duplicate(Kill Announce) Kill Announce#3 FAKE_NPC alberta,150,150,3 duplicate(Kill Announce) Kill Announce#4 FAKE_NPC You can edit it like such so it would only announce when killed somebody on your same map. - script Kill Announce#template FAKE_NPC,{ OnPCKillEvent: if (strnpcinfo(NPC_NAME_HIDDEN) == "template") end; if (strnpcinfo(NPC_MAP) != strcharinfo(PC_MAP)) end; announce("" + strcharinfo(PC_NAME) + " killed somebody.", bc_all); end; } prontera,150,150,3 duplicate(Kill Announce) Kill Announce#1 FAKE_NPC payon,150,150,3 duplicate(Kill Announce) Kill Announce#2 FAKE_NPC izlude,150,150,3 duplicate(Kill Announce) Kill Announce#3 FAKE_NPC alberta,150,150,3 duplicate(Kill Announce) Kill Announce#4 FAKE_NPC Idk if this is helpful ,just thought i would put it out there
  6. Good work guys. Keep working hard. This is a great project.
  7. variable_one[getarraysize(variable_one)] = value_one_point_one variable_two[getarraysize(variable_two)] = value_two_point_one variable_three[getarraysize(variable_three)] = value_three_point_one I think you need these the other way around? E.g. JobLevel = .@joblevel; Would make your JobLevel = whatever .@joblevel is. So when saving variable_one[getarraysize(variable_one)] = value_one_point_one v1[3] would mean whatever the third index of variable one is, is now equal to value point 1.
  8. Ok sorry I just tried this config and it turns out I have need to edit file in nemo/input/auraSpec.txt to put aura out of limit. aura still display when you hit 99, but once your screen refreshes, no one can see it.
  9. Is it good now? Actually I didn't read the script_commands.txt doc properly haha didn't notice you need to specify type. If you are still having issues I will try to test tomorrow.
  10. Hello again Hercules community, How would one go about disabling (or removing) the lv99/175 auras in a 20141022 client? Thanks
  11. Sorry, I provided a bad script. Script needs to reattach to detach and attach from yourself before it can run again. Hopefully this works: https://pastebin.com/3EzxL3fB
  12. Not sure if there's a better way, but one way you could do it is using attachrid. I didn't test, kinda working on logic. The way it works is: 1. Fetch party ID. 2. Check if party member is online. If yes, continue. If no, loop again to next array and check. 3. attachrid of the online AID, collect their BaseLevel and put it in an array (.@blvl[]). 4. detachrid; display name + base level - script Party Member Base Level FAKE_NPC,{ getpartymember(getcharid(CHAR_ID_PARTY)); for (.@i = 0; .@i < $@partymembercount; ++.@i) { if (isloggedin($@partymemberaid[.@i])) { attachrid($@partymemberaid[.@i]); .@blvl[.@i] = BaseLevel; detachrid; dispbottom("" + $@partymembername$[.@i] + ": Level " + .@blvl[.@i] + ""); } } end; }
  13. It's not a botcheck...I just call it that for simplicity. For example, if you have a problem with Hunter/Sniper bots, you can quickly check through your list of maps then head to the player if you think necessary. It may not sound like much, but Game Masters use it on my server and it is incredibly useful for helping their searches.
  14. Thanks. I use this on my own server so I thought I would release it. Mine looks a bit different as it doesn't have the configs. Sorry about that! Will fix it up.
  15. File Name: @botcheck File Submitter: True Zeal File Submitted: 30 Apr 2017 File Category: Utility File Name: @botcheck File Submitter: True Zeal File Submitted: 30 Apr 2017 File Cateogry: Utility Description A useful command for your Game Masters to help monitor problem "bot" maps. Runs the @whomap2 command on a list of specified maps. This allows you to check classes as well as names, which could be useful for quickly ignoring a character. Requires configuration for maps you wish to have it run a check on. Example Configuration: //--- Sets the list of maps to run @whomap2 on setarray(.map$[0], "amatsu", // Note: Every entry excluding the last one must have a comma! "prontera", "odin_tem03" // Note: Last entry must never have a comma! ); Download You can "download" this file from its Pastebin location. Pastebin: https://pastebin.com/yYuFdLHm Click here to download this file
  16. bWolfie

    @botcheck

    72 downloads

    File Name: @botcheck File Submitter: True Zeal File Submitted: 30 Apr 2017 File Cateogry: Utility Description A useful command for your Game Masters to help monitor problem "bot" maps. Runs the @whomap2 command on a list of specified maps. This allows you to check classes as well as names, which could be useful for quickly ignoring a character. Requires configuration for maps you wish to have it run a check on. Example Configuration: //--- Sets the list of maps to run @whomap2 on setarray(.map$[0], "amatsu", // Note: Every entry excluding the last one must have a comma! "prontera", "odin_tem03" // Note: Last entry must never have a comma! ); Download You can "download" this file from its Pastebin location. Pastebin: https://pastebin.com/yYuFdLHm
  17. I have a script command which fetches a character's name from the .@atcmd_parameters$[] and displays them in a message. How do I get them to display in one line? Currently I can only get them to display if I print it one line at a time (using message()) - script Print Names FAKE_NPC,{ end; OnCommand: // If user inputs no parameters (i.e. character name) if (!.@atcmd_numparameters) { message(strcharinfo(PC_NAME), "Usage: @printname <name of player to print>"); message(strcharinfo(PC_NAME), "@printname failed."); end; } .@size = getarraysize(.@atcmd_parameters$); for (.@i = 0; .@i < .@size; ++.@i) { .@player$[.@i] = .@atcmd_parameters$[.@i]; message(strcharinfo(PC_NAME), "" + .@player$[.@i] + ""); } end; OnInit: bindatcmd("printname", "Print Names::OnCommand", 10 ,96 , true); end; } If I typed @printname John Smith, it would appear like this: However, I would like it to be on the same line. Thank you for any help.
  18. Do you only do pre-made designs? Currently looking for a designer: [info]
  19. of course you need to set up your server. you can pay someone to do it for you, but that is a really bad idea. better if you know how things work.
  20. If you are using callfunc or callsub, any .@ instance scope variables apply only within the function itself. So you would need to use maybe @ variable to apply to temp char value.
  21. i guess it is a different way of displaying flavor text and equipment bonuses
  22. To put in any script, would I just need to change the storage table, 'guildpack'? Give me an example, please. Yeah. In mine, I changed guildpack to lottery
  23. I'm going to take a wild stab and guess char.c
  24. Yup, basically this. You can use an arrangement of donpcevent() commands to activate events for your set times. Example: - script event 1 FAKE_NPC,{ OnAtCommand: OnEventOne: announce "Event 1 started.", bc_all; initnpctimer; end; OnTimer10000: announce "Event 1 ended." bc_all; end; OnTimer15000: donpcevent("event 2::OnEventTwo"); stopnpctimer; end; OnInit: bindatcmd("event1","event 1::OnAtCommand"); end; } - script event 2 FAKE_NPC,{ OnEventTwo: announce "Event 2 started.", bc_all; initnpctimer; end; OnTimer10000: announce "Event 2 ended.", bc_all; end; OnTimer15000: donpcevent("event 1::OnEventTwo"); stopnpctimer; end; } You can start the loop by typing @event1, then it would loop the announcements every 10/15 seconds.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.