Jump to content

Euphy

Members
  • Posts

    2997
  • Joined

  • Last visited

  • Days Won

    74

Everything posted by Euphy

  1. Add it like you would any other script.
  2. Just on certain maps, or all maps? Certain maps: trunk/conf/mapflag/nosave.txt All maps: - script ToSavePoint -1,{ OnPCLogoutEvent: warp "SavePoint",0,0; end; }
  3. My Job Master in the SVN already does this. trunk/npc/custom/jobmaster.txt
  4. Euphy

    Server Uptime

    How would you want that displayed o.o? // This is pretty much unreadable. yr:mo:dy:hr:mn:sc 00:00:00:00:00:00
  5. @WillSuranol: I've dropped support for eAthena a while ago since the project is essentially dead. Almost everything should be compatible -- I think you're only missing a freeloop (convert to 'sleep') and the LOOK_* constants (revert r16862/rathena/trunk/npc/custom/quests/quest_shop.txt).
  6. If you're using my WOE Controller (trunk/npc/custom/woe_controller.txt), I've included auto-reward features there. The v1.5 update allows you to mail rewards to all Guild Masters for castles in each WOE session. Otherwise, you'll have to edit all flag scripts to call a separate function for guild rewards, ex. Guild Prize Giveaway.
  7. The most practical way I can think of is making all the registration NPCs call an IP check function, which would do something like this: // callfunc "Check_IP","<map_name>"; function script Check_IP { // Get list of accounts with attached character's IP address. set .@size, query_sql("SELECT `account_id` FROM `login` WHERE `last_ip` = '"+getcharip()+"'",.@aid); // Passed check if only the attached player is returned. if (.@size < 2) return; // Check all online characters using the IP address if they're on the given map. set .@self, getcharid(3); for(set .@i,0; .@i<.@size; set .@i,.@i+1) { if (attachrid(.@aid[.@i])) { if (strcharinfo(3) == getarg(0)) { set .@name$, strcharinfo(0); attachrid(.@self); mes "Character "+.@name$+" is already logged into Battlegrounds with your IP."; close; } } } attachrid(.@self); // Passed check. return; } Note that you can't do an SQL query on `last_map` since that field doesn't update in real time.
  8. Euphy

    WOE Script

    You're using a previous version.
  9. @Brian: That would be fine running WOE through the official scripts/agitstart commands, but would produce label errors in any controller, that's all. :> @icabit: I find that the two settings for kicking players currently are more practical, since a wall doesn't prevent a character from, say, teleporting onto the warp point. Plus, flags aren't officially restricted to guildmasters only (so you'd have to edit that too).
  10. mes strcharinfo(0)+" has just turned into "+jobname(Class)+"!"; There's no trigger event for changing jobs, so add it to a job changer.
  11. trunk/npc/re/scripts_main.conf //import: npc/re/scripts_jobs.conf
  12. Please follow the Script Release Rules: Your script is almost entirely a copy-paste of Rokimoki's script: // AntiBot System made by Rokimoki - script AntiBot -1,{ // Main Script OnPCLoginEvent: sleep2 500; atcommand "@hide"; callfunc("CheckBot"); atcommand "@hide"; // Timer controler do { if (@timer == 600000) { dispbottom "[Densnity Police]: I will check you if you are a bot in 20 minutes."; } else if (@timer == 1200000) { dispbottom "[Densnity Police]: I will check you if you are a bot in 10 minutes."; } else if (@timer == 1500000) { dispbottom "[Densnity Police]: I will check you if you are a bot in 5 minutes."; } else if (@timer == 1800000) { atcommand "@hide"; callfunc("CheckBot"); atcommand "@hide"; set @timer, 0; } // End if sleep2 1000; // 1 second set @timer, @timer + 1000; } while(1); // End Loop } // End Script function script CheckBot { // Text Script mes "[^FF0000Densnity Police^000000]"; mes "Hello,Welcome To Densintiy Ragnarok"; mes "Because We Need To Know You Are Normal Player Or Using Bot."; mes "I Had Warned you: ^FF0000" +BotDetected +"^000000 Times Of 5, Then Ban."; next; set @fwg, rand(1000); mes "[^FF0000Densnity Police^000000]"; mes "Please, Type The Red Numer Inside The Text Box, Is The Security Code."; mes "Security code: [^FF0000" +@fwg +"^000000]"; next; input @yz; if (@yz == @fwg) { mes "[^FF0000Densnity Police^000000]"; mes "You Already Pass The Bot Check, Have A Fun Game !"; mes "In You Found The Bot Please Report At: ^0000FFhttp://Densintiy.no-ip.org^000000"; } else { if (BotDetected == 5) { mes "[^FF0000Densnity Police^000000]"; mes "You account have been banned for 6 years."; announce "[Densnity Police]: The user [" +strcharinfo(0) +"] have been banned because of using bots.",0; atcommand "@ban +6y "+strcharinfo(0); // Banned 6 years atcommand "@kick "+strcharinfo(0); } else { set BotDetected, BotDetected + 1; mes "[^FF0000Densnity Police^000000]"; mes "You Are Not Pass The Bot Check!!if Over 5 Time Not Pass You Account Will Ban Forever!~"; next; atcommand "@kick "+strcharinfo(0); } // End if end; } // End if close2; return; } // End function I'm going to have to deny this release, and I encourage you to write original scripts in the future.
  13. Euphy

    WOE Script

    It's no longer needed, really. I added a feature to auto-mail rewards to Guild Masters in v1.5 of my controller: trunk/npc/custom/woe_controller.txt
  14. If you're running the script on the attached character, you can just do it using script commands, no need for SQL/relog: setlook 7,0; setlook 1,0; setlook 6,0; You only need an SQL query to modify values for offline characters (in which case @kick would still not be needed xP).
  15. rAthena has a documentation file for atcommands: trunk/doc/atcommands.txt You can add them to player groups through trunk/conf/groups.conf. Aliases (extra names) can be defined in trunk/conf/atcommand_athena.conf.
  16. Euphy

    Server Uptime

    Something like this? prontera,159,187,4 script Uptime 858,{ function Add_Zero; function Add_S; mes "[uptime]", "The server has been online for ", ((.t[1])?Add_S(.t[1],"hour")+", ":"")+ ((.t[1]||.t[2])?Add_S(.t[2],"minute")+" ":"")+ ((getarraysize(.t)>2)?"and ":"")+Add_S(.t[3],"second")+", "+ "and counting!"; close; function Add_Zero { return ((getarg(0)<10)?"0":"")+getarg(0); } function Add_S { return "^0055FF"+getarg(0)+" "+getarg(1)+((getarg(0)==1)?"":"s")+"^000000"; } OnInit: set .t[0], gettimetick(2); waitingroom " [ 00:00:00 ]",0; initnpctimer; end; OnTimer950: set .@t, gettimetick(2)-.t[0]; set .t[1], .@t/3600; set .t[2], .@t/60-.t[1]*60; set .t[3], .@t%60; end; OnTimer990: initnpctimer; delwaitingroom; waitingroom " [ "+Add_Zero(.t[1])+":"+Add_Zero(.t[2])+":"+Add_Zero(.t[3])+" ]",0; end; }
  17. trunk/doc/script_commands.txt
  18. Finished in r17104. Missing effects for Drake (4496), Randgris (4535), and Detale (4542). When these are released, please file a bug report.
  19. The previous two answers are incorrect. You have two choices: Initiate all castles (using 'agitstart' commands), then terminate the castles you don't need. Only initiate the castles you need by calling the specific script labels. The first is what my WOE Controller script does (you configure times/castles in-game on an admin account); the second you'll have to write yourself.
  20. We follow kRO/iRO only, so unless this gets implemented there we will not be adding sealed cards into the official database. Sealed cards are in our latest kRO database, actually. I'll start working on this.
  21. Read: Loops#For_Loop The new code is a result of the r15982 Script Engine Update, allowing variables to be assigned as they would in other programming languages.
  22. ^ So a copy-paste of my script.
  23. Please use the newer version. ^.^ trunk/npc/custom/woe_controller.txt
  24. set .@item, 512; if (countitem(.@item)) { getmapxy(.@map$,.@x,.@y,0); delitem .@item,1; makeitem .@item,1,.@map$,.@x,.@y; }
×
×
  • Create New...