Jump to content

Kreustoo

Members
  • Content Count

    162
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Kreustoo

  1. change: party_data *p; to: party_data *p = NULL;
  2. Hello, # commands make the player using the command as if they did it themself using @. So you may change your @reward command to NOT take in parameter a player, but gives to the player using it the reward, so: @reward 10000 - would give you 10000 zeny #reward "N a M e" 10000 - would give N a M e 10000 zeny And you don't give the @reward command right to the basic players and it should do the job. --- Another way is to split the parameters you get, and change how you give them, like: @reward N a M e#10000 And you split on # on know on [0] it's the name and on [1] it's the number (but be carefull what you're doing there). --- Or like vip command, you put the name at the end, just watch in the src how it's done: ACMD_FUNC(vip) { struct map_session_data *pl_sd = NULL; char * modif_p; int32 vipdifftime = 0; time_t now=time(NULL); nullpo_retr(-1, sd); memset(atcmd_output, '\0', sizeof(atcmd_output)); if (!message || !*message || sscanf(message, "%255s %23[^\n]",atcmd_output,atcmd_player_name) < 2) { clif_displaymessage(fd, msg_txt(sd,700)); //Usage: @vip <timef> <character name> return -1; } atcmd_output[sizeof(atcmd_output)-1] = '\0'; modif_p = atcmd_output; vipdifftime = (int32)solve_time(modif_p); if (vipdifftime == 0) { clif_displaymessage(fd, msg_txt(sd,701)); // Invalid time for vip command. clif_displaymessage(fd, msg_txt(sd,702)); // Time parameter format is +/-<value> to alter. y/a = Year, m = Month, d/j = Day, h = Hour, n/mn = Minute, s = Second. return -1; } if ((pl_sd = map_nick2sd(atcmd_player_name,false)) == NULL) { clif_displaymessage(fd, msg_txt(sd,3)); // Character not found. return -1; } And adapt the first parameter to work without having to solve_time (just an integer).
  3. Kreustoo

    @who3

    Hello For @who3 to show AID, you need to se the permission who_display_aid: true: inside conf/groups.conf Example: id: 99 name: "Admin" level: 99 inherit: ( "Mentor", "Law Enforcement" ) commands: { /* not necessary due to all_commands: true */ } log_commands: true permissions: { can_trade: true can_party: true all_skill: false all_equipment: false skill_unconditional: true use_check: true who_display_aid: true /* all_permission: true */ } For every group you want to be able to show the AID, you'll need to set the permission (if the group doesn't inherit the permission already).
  4. View File Click The Ninja How it works Every seconds some ninja will spawn (depending of the number of player on the map), the first to click on them will get a reward and will have to wait before being able to get another reward. To launch it, you can go it by hand or Auto start it with OnClockXXXX. The players will join using @ninja. Configuration You can edit the number of ninja, the timing between spawn, the delay between rewards ect. Follow the !!Modify With a small number of ninja spawning, only the fastest will get rewarded, if you spawn a lot of ninja, everybody will get a chance to have one! There's more information to help the configuration inside the npc. Submitter Kreustoo Submitted 07/04/2020 Category Games, Events, Quests Video https://www.youtube.com/watch?v=uT0cH-QgXLw Content Author Kreustoo  
  5. Version 1.0.0

    11 downloads

    How it works Every seconds some ninja will spawn (depending of the number of player on the map), the first to click on them will get a reward and will have to wait before being able to get another reward. To launch it, you can go it by hand or Auto start it with OnClockXXXX. The players will join using @ninja. Configuration You can edit the number of ninja, the timing between spawn, the delay between rewards ect. Follow the !!Modify With a small number of ninja spawning, only the fastest will get rewarded, if you spawn a lot of ninja, everybody will get a chance to have one! There's more information to help the configuration inside the npc.

    Free

  6. Hello, I see you're on windows, you can launch your map-server.exe in debug and it'll show you where the problem is (and we might find what's the problem :)). If you don't know how, you can check here https://herc.ws/wiki/MSVC_Crash_Debugging - thanks Emistry's answer here ^^ : https://rathena.org/board/topic/108891-entering-debugging-mode-with-visual-studio-how/ You then launch login/char on there own (not the runserver.exe) and if you don't understand what's the problem, you can screen us what is happening (stacktrace ect.).
  7. It seems the first script search in mvp_ranking and the other in hourly_points? First) query_sql( "SELECT `points`, 1 + (SELECT COUNT(1) FROM `mvp_ranking` t1 WHERE t1.`points` > t2.`points`) FROM `mvp_ranking` t2 WHERE `char_id` = "+ getcharid(0), [email protected], [email protected]); -- Second) query_sql( "select `First_Name`, `xpmineracao`, `nvmineracao` from `hourly_points` where `xpmineracao` > '0' order by `xpmineracao` DESC", [email protected]$[[email protected]], [email protected][[email protected]], [email protected][[email protected]] ); So you can be rank 6 in one and rank 9 on the other?
  8. Hello, This should work (not tested): dispbottom "============== My Rank ==============", 0xffe066; query_sql( "SELECT `points`, 1 + (SELECT COUNT(1) FROM `mvp_ranking` t1 WHERE t1.`points` > t2.`points`) FROM `mvp_ranking` t2 WHERE `char_id` = "+ getcharid(0), [email protected], [email protected]); query_sql( "SELECT `char_id` FROM `mvp_ranking` WHERE `points` = "+ [email protected], [email protected]);//search all that are equals, supposing there's less than 127 players at the same value [email protected] = getarraysize([email protected]); for([email protected] = 0;[email protected]<[email protected] && [email protected][[email protected]] != getcharid(0);[email protected]++){ //Parse every line and rank++ for each one different than charid [email protected]++; } dispbottom "My Rank is: " + [email protected]+ ".", 0x6666ff; dispbottom "My Points is: " + [email protected]+ ".", 0x6666ff; dispbottom "==========================================", 0xffe066; Be aware that the rank when they have the same number of points would depend of the entry in the database, not the time it had its points. If it's not clear, for example: Suppose Player 2 killed a mvp before player 3 => he's added in the table before the player 3 --Player 3 got 400 points first, Player 3 has a better rank Player 3: 400 ExpPlayer 2: 399 Exp --Player 2 go to 400 points, Player 2 has now a better rank Player 2: 400 ExpPlayer 3: 400 Exp
  9. Hello, Maybe I'll be useless I don't know the code 600 but md5 activated on server and not on client? Check the log on your server? Maybe it'll help.
  10. Hello, I don't think you can without more edit (but I might be wrong, don't quote me on this). If you really want to show how much it costs a "fix" would be to put the amount of zeny for how much it is and comment the line where it removes the zeny. I know that's not what you wanted and it's not perfect, but he may be better than nothing.
  11. To add to what LearningRo said, if you plan to truncate nearly everything, you can create another sql table and save your data there (the account id being the key). But if you really wiped EVERYTHING (even the account id), you can use random generated code that the players will have to enter as the key. The player succeed => "Well play when the server launch enter ZnjdqoZJkqdspaze12qsdzqd12", and save that on another sql table. They'll be able to trade thoses code tho, but if nothing stays, I don't see any other solution.
  12. Hello, I'm pretty sure only @Akkarin has the answer but, is there any way to donate to rathena using credits on the board? We can actually pay things with it but we can't donate it to rathena directly? I know I can withdraw and donate after, but there's some paypal fees lost here and there sadly.
  13. - script mvpspawner::mvpspawner -1,{ OnClock1130: OnClock2330: .event$ = strnpcinfo(3)+"::OnBossDead"; if( mobcount( "pvp_y_1-1",.event$ ) ) killmonster "pvp_y_1-1",.event$; pvpon "pvp_y_1-1"; monster "pvp_y_1-1",100,119,"Faceworm Queen",2529,1,.event$; monster "pvp_y_1-1",44,204,"Faceworm Queen (Yellow)",2535,1,.event$; monster "pvp_y_1-1",156,315,"Faceworm Queen (Red)",2532,1,.event$; monster "pvp_y_1-1",268,204,"Faceworm Queen (Blue)",2534,1,.event$; monster "pvp_y_1-1",237,79,"Faceworm Queen (Green)",2533,1,.event$; announce "FACEWORM QUEENS HAS AWAKEN! DEAR ADVENTURE, PLEASE PUT THEM TO SLEEP.",bc_all; end; OnBossDead: announce "OnBossDead called, remove me, I'm here to check if it works.",bc_all; set [email protected]_dead,mobcount("pvp_y_1-1", .event$); announce "OnBossDead called, value: "[email protected]_dead,bc_all; if ([email protected]_dead < 1) { pvpoff "pvp_y_1-1"; } else announce "Remaining" + [email protected]_dead + "MVPs left.",bc_all; end; } This should works, I added 2 announce to help you be sure it works or not (hopefully you have a test server, otherwise removes them before testing).
  14. As I said, you have to talk with the player with the variable set at 1 (talking to the first npc) and your guard should move. And for the commands: https://github.com/rathena/rathena/blob/master/doc/script_commands.txt
  15. Hello, Hard to help without seeing the global script but a common mistake is to evaluating if they can access the event, then printing a next/select/close2 THEN warp. Maybe add a check on the "$arenac_gate" just before warping them (and let the one before the next/select/close2).
  16. Hello, For the guard moving before talking to it, remove the OnInit: When the player will talk to him it'll move then. For the character moving by script, I never worked on that.
  17. Hello, There's an error in OnBossDead: [email protected]$ is a temporary variable and you're using it on OnBossDead without giving it a value (so either you replace by .event$ or copy paste your initalisation).
  18. Hello, I'd have done something like this: OnHour03: OnHour15: if ( gettime(4) == 6 || gettime(4) == 0) goto OnHappyHour3; if ( gettime(4) != 6 || gettime(4) != 0){ if(rand(1,2) == 1) goto OnHappyHour3; else goto OnHappyHour2; } (not tested)
  19. Try with that: output_table[22].value = sd->bonus.short_weapon_damage_return + (sd->sc?(sd->sc.data[SC_REFLECTSHIELD]?(sd->sc.data[SC_REFLECTSHIELD]->val1:0):0); Testing if sc is valid before accessing it, then the same for the SC itself.
  20. Hello, Not all the npc has a cutin, if the website is up to date, you have this where a cutin exist (and check the link of the gif to know the cutin name) And you can check here the list of the cutin : data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\illust
  21. @RuhnCheck if there's any error when you load the pet_db (@reloadmobdb)
  22. Hello, If your npc is only open on sunday, and you want the player to only be able to withdraw there reward on sunday, I modified the npc to have a global variable that increments every sunday (and store it in players). OnSun0000: //Every sunday, it increments $Freebies++; end; claim: if ( gettime(4) != 0) { //Iopen only on sunday mes .name$; mes "I'm sorry but supplies are only available every ^ff0000Sundays^000000"; close; //When you use mes, use a close; not an end; } else if (#freeclaim == $Freebies) { //Freebies already claimed on that current session mes .name$; mes "You have already claimed your streamer's pack see you next week!"; close; } else { //get the item getitembound 14003,50,1; set #freeclaim, $Freebies; } But if they can withdraw anyday but the supplied are reset on sunday, it'll be like this: OnSun0000: $Freebies++; end; claim: if (#freeclaim == $Freebies) { //Just checking the freebies value, not caring about the day mes .name$; mes "You have already claimed your streamer's pack see you next week!"; close; } else { getitembound 14003,50,1; set #freeclaim, $Freebies; } No tested tho
  23. Hello, I think you just need to add an else to make it work the way you want: if (getgmlevel()>=99) showscript strcharinfo(0)+" : Admin Level Account Confirmed!."; else if (vip_status(VIP_STATUS_ACTIVE)){ if a gm => admin level else if a vip => vip confirmed else => (not a gm nor a vip) => kick
  24. View File [QOL] Costume/Shadow no weight This small src modif make you don't worry if you have some costume items in your item_db with some weight, they'll all be calculated at 0. CostumeNoWeight.diff Make only the costume having no weight on the player ShadowAndCostumeNoWeight.diff Make costume and shadow having no weight on the player Submitter Kreustoo Submitted 06/14/2020 Category Source Modifications Video Content Author Kreustoo  
×
×
  • Create New...

Important Information

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