Eros Posted January 21, 2014 Group: Members Topic Count: 76 Topics Per Day: 0.02 Content Count: 202 Reputation: 2 Joined: 07/09/12 Last Seen: June 7, 2023 Share Posted January 21, 2014 (edited) I need a hp script here's what i wantwhen a player reach 100k+ hp and 5k+ sp the player will be automatically kick out of the game.some players keep on using hp bug on my server. Edited January 21, 2014 by Eros Quote Link to comment Share on other sites More sharing options...
Skorm Posted January 21, 2014 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: April 11 Share Posted January 21, 2014 (edited) Although I recommend you fix the problem... Through other means. - script hp_sp_check -1,{ OnTimer60000: set .a, getusers(1); addrid(0); set .b, .b+1; if(playerattached()) { if(Hp>=100000||Sp>=5000) atcommand "@kick "+strcharinfo(0); } if(.a!=. end; OnInit: set .b, 0; initnpctimer; } Edited January 23, 2014 by Skorm Added npc variables. Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted January 21, 2014 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 21, 2014 (edited) - script hp_sp_check -1,{ OnTimer60000: addrid(0); if(playerattached()) { if(Hp>=100000||Sp>=5000) atcommand "@kick "+strcharinfo(0); } OnInit: initnpctimer; } that's the reason why Hercules still haven't implement addrid ... I remember I said something like this before http://rathena.org/board/topic/74489-woe-last-2-minutes-countdown-timer-hot-request/?p=163814 your script will add as many RID as the online player has, and keep reboot the initnpctimer script command means the initnpctimer keep reset the timer into 0 equal to the amount of online player has if 100 players online, initnpctimer will execute 100 times this script isn't bug, but really waste the server resources I think its better to use OnMinute - script kjfhdfksj -1,{ OnMinute00: OnMinute01: OnMinute02: OnMinute03: OnMinute04: OnMinute05: OnMinute06: OnMinute07: OnMinute08: OnMinute09: OnMinute10: OnMinute11: OnMinute12: OnMinute13: OnMinute14: OnMinute15: OnMinute16: OnMinute17: OnMinute18: OnMinute19: OnMinute20: OnMinute21: OnMinute22: OnMinute23: OnMinute24: OnMinute25: OnMinute26: OnMinute27: OnMinute28: OnMinute29: OnMinute30: OnMinute31: OnMinute32: OnMinute33: OnMinute34: OnMinute35: OnMinute36: OnMinute37: OnMinute38: OnMinute39: OnMinute40: OnMinute41: OnMinute42: OnMinute43: OnMinute44: OnMinute45: OnMinute46: OnMinute47: OnMinute48: OnMinute49: OnMinute50: OnMinute51: OnMinute52: OnMinute53: OnMinute54: OnMinute55: OnMinute56: OnMinute57: OnMinute58: OnMinute59: addrid 0; // dispbottom "test"; if( Hp >= 100000 || Sp >= 5000 ) atcommand "@kick "+ strcharinfo(0); end; }LOL xD Edited January 23, 2014 by AnnieRuru Quote Link to comment Share on other sites More sharing options...
Eros Posted January 22, 2014 Group: Members Topic Count: 76 Topics Per Day: 0.02 Content Count: 202 Reputation: 2 Joined: 07/09/12 Last Seen: June 7, 2023 Author Share Posted January 22, 2014 There's a bug normal players can use @item if they know the password how can i set only gm lvl 99 can use @item Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted January 22, 2014 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 22, 2014 There's a bug normal players can use @item if they know the password how can i set only gm lvl 99 can use @itemwhat kind of password ? @item <password> ? however, if you notice that when normal players type @item the player doesn't say @item find bindatcmd "item"in your \npc\ folder otherwise, try tell How did they type out a password by default rathena doesn't have this kind of feature ... I think ? Quote Link to comment Share on other sites More sharing options...
Eros Posted January 22, 2014 Group: Members Topic Count: 76 Topics Per Day: 0.02 Content Count: 202 Reputation: 2 Joined: 07/09/12 Last Seen: June 7, 2023 Author Share Posted January 22, 2014 I try to use @item *mypassword* idnum and it works on my lvl 0 account. Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted January 22, 2014 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 22, 2014 (edited) I can think of 3 methods to do that no.1 is use bindatcmd - script kjdhfkjsdh -1,{ OnInit: bindatcmd "item", strnpcinfo(0)+"::Onaaa"; end; Onaaa: if ( getgmlevel() ) { atcommand "@item "+ implode( .@atcmd_parameters$, " " ); } else if ( .@atcmd_parameters$[0] == "mypassword" ) { deletearray .@atcmd_parameters$[0], 1; atcommand "@item "+ implode( .@atcmd_parameters$, " " ); } end; }no.2 is modify the ACMD_FUNC(item) inside atcommand.c src/map/atcommand.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 46eb8c5..a3beccf 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -1139,6 +1139,8 @@ static const char* atcommand_help_string(const char* command) ))) { clif_displaymessage(fd, msg_txt(sd,295)); // Please enter an item name or ID (usage: @item <item name/ID> <quantity> <bound_type>). return -1; + } else if ( !pc_get_group_level(sd) && ( !message || !*message || ( sscanf( message, "mypassword \"%99[^\"]\" %d", item_name, &number) < 1 && sscanf( message, "mypassword %99s %d", item_name, &number) < 1 ) ) ) { + return 0; } else if (!message || !*message || ( sscanf(message, "\"%99[^\"]\" %d", item_name, &number) < 1 && sscanf(message, "%99s %d", item_name, &number) < 1 no.3 ....... modify is_atcommand inside atcommand.c...I think I know the culprit already xD http://rathena.org/board/topic/90798-password-for-all-commands/?p=237035 at that time she still never tells she use eathena and eathena doesn't support pc_get_group_level(sd) function has to use pc_isGM(sd) instead Edited January 22, 2014 by AnnieRuru Quote Link to comment Share on other sites More sharing options...
Skorm Posted January 23, 2014 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: April 11 Share Posted January 23, 2014 your script will add as many RID as the online player has, and keep reboot the initnpctimer script command means the initnpctimer keep reset the timer into 0 equal to the amount of online player has if 100 players online, initnpctimer will execute 100 times this script isn't bug, but really waste the server resources I think its better to use OnMinute Yeah I had thought about that but forgot (or just didn't mind) to change it and as for OnMinute I'd rather not type all that out... besides it just doesn't look very good... Anyways you can use npc variables to get the players and determine who is the last... I've also done something like this with dead-end co-routines doevent etc. The script is going to be stressful on the server either way... You're attaching every character to one script at practically the same time :/ That's why I suggested he find a different method. Quote Link to comment Share on other sites More sharing options...
Question
Eros
I need a hp script here's what i want
Edited by Eroswhen a player reach 100k+ hp and 5k+ sp the player will be automatically kick out of the game.
some players keep on using hp bug on my server.
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.