Jump to content

TheDerpySupport

Members
  • Posts

    208
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by TheDerpySupport

  1. 2 hours ago, Gerzzie said:

    rAthena doesn't released it yet? 

     

    4 hours ago, lttrmn said:

    Hello,

    I'm using the 2018-05-30bRagexeRE.exe as recommended by some people here in the forum due its compatibility with the star emperor and soul reaper jobs. Problems is... all their skills are missing.

    With a fully updated kro server, and the newest rathena files, wasn't it supposed to work properly?

    Thanks in advance

    rAthena has not fully released the job skills because we do not have the information for them; Some users have fully implemented them on their servers through datamining kRO

  2. 3 hours ago, Dust87 said:

    Hi guys!
    I have some questions about the New Jobs Palettes.
    I have the sprites form the Third Job Costumes + New Classes by Haziel and first of after I put it in my client, I don't get why the Star Emperor and Soul reaper sprite don't show off... If someone have the answer I would be greatfull!

    For the second case, I've downloaded Dress changer by Secrets and I would like to know if there is any way to have a permanant job costume change (mean that It'll not be lost when you log out).

    And last question about Dress changer, is there any way to enable the classes to upgrade there skills when they have the sprite from a previous job? (Be abole to up your Warlock skills when you have HW sprite for exemple)


    Thanks !

    You'll need at least a 2018-05-30 client to view Star Emperor and Soul Reaper; There may be an option in the script to save costume because Secrets has explained to me how it saves the costume

  3. 12 minutes ago, Tio Akima said:

    Sorry for my ignorance, but how would that solve my question posted upstairs? ?

    I'm simply trying to understand why you do not wish to use the proper software for git; I mean you could easily download the git as a zip file but you obviously want the management capabilities for the git

  4. 32 minutes ago, Tio Akima said:

    Hi guys

    Does anyone know the link to download rA with tortoise svn checkout?
    I do not want to use git ...

    I tried the link:

    
    https://github.com/rathena/rathena
    https://github.com/rathena/rathena.git


    but it downloads all other folders in the repository.

    I also tried using:

    
    https://github.com/rathena/rathena/trunk

    but it downloads an old emulator about 3 years ago ...
    I wanted to download only the MASTER folder.

    I tried that way too:

    
    https://github.com/rathena/rathena/tree/master

    but it did not work
     

    Can you explain why you do not wish to use Git?

    Edit:

    I do not know if this will work but it is the very first result of a quick google search.

    https://www.youtube.com/watch?v=BiZLVQrp4tA

     

  5. 3 minutes ago, ezpzdeej said:

    I recently just made a private server for myself using this amazing guide: https://rathena.org/board/topic/109823-ragnarok-online-complete-offline-server-client-pack-2018-make-your-ro-server-in-less-then-5-minutes/
    And I'm loving it so far!
    The only issue I'm having is making another account a GM account. I have been googling the answer for hours now and haven't found anything.

    All I made this p-server for is to make MvPs fight each other. And right now, I'm doing @summon and then @spawn but they have minions and I think that makes the battles a little unfair.
    Any help?

    You'll need to edit your MySql database via workbench and set the secondary account in your `login` table to grouplv 99

  6. Well this is my script you're using so It's relatively easy to understand;

            if (rand(0,9) == 2){
            getitem 26080,1; //Credit
            specialeffect2 EF_TEMP_OK;
            mapannounce strcharinfo(3),strcharinfo(0)+" has caught a ATM Credit Card x1!",bc_map,"0xff77ff";
            }

    This would be 10%
    rand(0,19) would be 5% and 1% would be rand(0,99)

    • Love 1
  7. 32 minutes ago, ron0714 said:

    I meant, players do only 1 Damage to the MVP Summons from Bloody Branch. I want to fix it.

    Okay so the only logical way to do this is to duplicate all of the MVPs in the mob_db for the bloodybranch db and edit their mode to support  these

    MD_IGNOREMELEE        | 0x0010000 |     65536
    MD_IGNOREMAGIC        | 0x0020000 |    131072
    MD_IGNORERANGED       | 0x0040000 |    262144

     

  8. 2 hours ago, exchisu said:

    Hello all members! along time without post on rAthena

    I'm having an issue, actualy don't know if this is a issue or not ? 

    I was comparing the ASPD of my server with the RO calculator ASPD, i compare like 4 renewal calculator, iRO and kRO based i thought 

    • ASPD In-Game with Buffs (Agi up, blessing, Awake potion) = 176
    • ASPD in all calculators with (Agi up, blessing, Awake potion) = 182.XX

    So i was wondering if i have some bug/error/bad modification, i dont know Thanks you all

    rAthena version git hash: 7c1a88270b6c283fe001d25958d07d280ce9268d

    iRO and kRO ASPD formulas are completely different for renewal

  9. 4 hours ago, khrush said:

     

    Does anyone have any 3d items? types can be few I know there are only people who sell more I do not have the money to pay and I need a lot can be little personalized please

    RO doesn't really do 3D items; I personally have never seen a 3D item on any server so maybe you're talking about just regular custom items?

  10. 3 minutes ago, Truly said:

    I appreciate it Derpy, glad to hear you will most likely use Anexus! I used to contribute a little bit back in the day, yeaaars ago but I came to the realization that I am probably not going to be doing much more unfortunately. Life moves on ya know?

    Well even if you have some spare time just work on a little here and there; These maps are very promising if you continued even just a little once a week

    • Upvote 1
  11. I must say your Anexus map is actually very similar to an instance map I was trying to make, idea wise, and make it into a starter instance to introduce players to MVPs(in this instance Baphomet). I hope you continue to contribute to the community and become a well-known Map maker. I will most likely use Anexus in my project Untold-RO(You can find a link to the discord on my page or job listing)

  12. 11 minutes ago, Azarth said:
    hi guys I change my defines pre to = #define PACKETVER 20180621 now that im trying yo recompile i am getting max_chars config is invalid(c1189) anyone know what to do?
     
     
    I dont change anything there(mmo) BTW

    Try allowing the client.exe through your firewall; I had a similar issue with the 05-30 client.

  13. 36 minutes ago, hydro_ran said:

    Hello, I created a hat maker NPC with a Piamette mob sprite. I wanted to see if it can move around the entire map like an actual mob wondering around. It'll be like playing Hide-and-Seek that you'll have to find the NPC first before starting a quest. lol. I run 3cEam by the way.

    Doll_Maker.txt

    It's a bit harder to make an npc wander around; I've tried even just setting set paths and it failed quite a bit lol

  14. 2 hours ago, footloose23 said:

    Does anyone know how to refund the money for a script i purchased? I cannot seem to get any response to my trouble with the script i bought recently.

    Can anyone help me on this? No one has been able to resolve my concern for the past week and i just want to get my money back.

    Chargebacks are punishable on rA and depending on the script you purchased you may have bought from a member who does not get on rA anymore; Can you link the file and or author?

  15. 1 hour ago, Gorder said:

    Hi everyone,

    I'm using the Skill Matching mini game created by @Santino for my server. However, some players create multiple accounts to farm the game for rewards. Could you please help me with modifing the script to check their IP addresses in order to prevent them from spamming the game? Thank you

    Below is the copy of the full script

    
    /*(¯`º¤ø,¸¸,ø¤°¯`º¤ø,¸¸,ø¤°¯`º¤ø,¸¸,ø¤°¯º¤ø,¸¸,ø¤º´¯)
      |                                                 |
      | rAthena Script                                  |
      |                                                 |
      | Skill Matching Game                             |
      | By:                                             |
      | Viole                                           |
      |                                                 |
      | Current Version                                 |
      | 1.4                                             |
      |                                                 |
      | Description:                                    |
      | Just like a normal matching/memory game.        |
      | Here, you need to match skill effects with      |
      | the same skill effect by clicking the eggs.     |
      | If 1 pair is matched, the pair disappears       |
      | and gives a prize. If all are matched,          |
      | npc gives another prize for completing          |
      | the game. Depends on what prizes are set        |
      | by the GM. ( In-game set )                      |
      | If prizes are not set, default prize are        |
      | distributed instead. 3 Minutes Game Duration.   |
      |                                                 |
      | Changelogs:                                     |
      | 1.0 Skill Matching Game ( Special Effects )     |
      | 1.1 Removed Timer (I'll add another timer soon) |
      | 1.2 Fixed Attempts Bug                          |
      | 1.2 Added Setwall in Event Room                 |
      | 1.3 Added time interval before you can          |
      |     join the event again.                       |
      |     (Finish/Failed/AFK/Timer's up)              |
      | 1.3 Set if Char/Account Based Time Interval     |
      | 1.3 Added AFK Check ( Read note line 601 )      |
      | 1.4 Fixed minor mistake (Thanks to Emistry)     |
      | 1.4 Changed few lines in time interval (cadz)   |
      |                                                 |
      | Credits:                                        |
      | Noobita for explaining *atoi                    |
      | Quinn for giving the eggs idea lol              |
      |                                                 |
      | Edit things under : ( Added set timer )         |
      | C O N F I G U R A T I O N (line 448)            |
      |                                                 | 
      ´¯`º¤ø,¸¸,ø¤°¯`º¤ø,¸¸,ø¤°¯`º¤ø,¸¸,ø¤°¯º¤ø,¸¸,ø¤º´¯´*/
    
    
    prontera,164,172,2	script	Mavis Vermillion	437,{
    
    	if( .gameon != 0 )
    	{
    		mes .n$;
    		mes "Looks like someone is playing the game, wait until it ends.";
    		close;
    	}
    	
    	if( $skillmatchgame_based == 0 )
    	{
    		if( #Already_Played > gettimetick(2) )
    		{
    			mes .n$;
    			mes "Sorry, you have to wait "+ .intervalmavis / 60 +"minutes before joining the event again!";
    			close;
    		}
    	}
    	
    	if( $skillmatchgame_based == 1 )
    	{
    		if( Already_Played > gettimetick(2) )
    		{
    			mes .n$;
    			mes "Sorry, you have to wait "+ .intervalmavis / 60 +"minutes before joining the event again!";
    			close;
    		}
    	}
    		
    		
    Player_Menu:
    	specialeffect 75;
    	specialeffect 312;
    	specialeffect 42;
    	specialeffect 40;
    	mes .n$;
    	mes "Welcome, ^008000"+strcharinfo(0)+"^000000, want to play?";
    	mes "Cost is ^0000FF"+.zeny+"^000000 zeny.";
    	mes "If you don't have zeny.";
    	mes "You can pay ^FF0000"+.payamount+" "+getitemname(.payitem)+"s^000000 instead.";
    	next;
    	switch( select("^FFA500Please warp me now!^000000:^0000FFI've changed my mind!^000000",
    		( getgmlevel() < .gmlvl )?"":"Admin Configuration"))
    	{
    	case 1:
    		if((countitem(.payitem) < .payamount ) && ( Zeny < .zeny ))
    		{
    			mes .n$;
    			mes "It seems you don't have enough zeny. Or even "+.payamount+" "+getitemname(.payitem)+"s.";
    			mes "Poor little guy..";
    			close;
    		}
    		else
    		{
    			mes .n$;
    			mes "Goodluck in your game!~";
    			if((countitem(.payitem) >= .payamount))
    				delitem .payitem, .payamount;
    			else
    				set Zeny, Zeny - .zeny;
    			close2;
    			goto Game_On;
    		}
    		
    Game_On:
    	set .gameon, 1;
    	set .attempt, .attempts;	
    	set .Char_Name$, strcharinfo(0);
    	set .Char_ID, getcharid(3);
    	attachnpctimer;
    	warp .mapname$,.warpx,.warpy;
    	sleep 5000;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : The game will start in 10 seconds.",8;
    	sleep 2000;
    			
    	stopnpctimer;
    	donpcevent "::OnShowTogepi";
    	set .gameon, 1;
    
    	deletearray .@special_effects[0],127;
    	
    	//•••••Special Effects•••••//
    	// You can change special effects #s here, remember to always have a pair # (Note: The same count with array .@npc_size)
    	setarray .@special_effects[0],312,312,470,470,8,8,9,9,15,15,468,468,17,17,226,226,409,409,252,252,471,471,336,336,635,635,27,27,28,28,467,467,30,30,637,637;
    
    	set .@seffect_size, getarraysize(.@special_effects);
    	deletearray .skill_effects[0],127;
    	set .@seffects, .@seffect_size;
    
    	for( set .@i, 0; .@i < .@seffect_size; set .@i, .@i + 1 )
    	{
    		set .@rand_seffects, rand(.@seffects);
    		set .skill_effects[.@i], .@special_effects[.@rand_seffects];
    		deletearray .@special_effects[.@rand_seffects], 1;
    		set .@seffects, .@seffects - 1;
    	}
    
    	set .event_showeffect, -1;
    	set .attempt, .attempt + 1;
    	set .gamepair, 0;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : See the Togepi's astonishing skill effects!",8;
    	sleep 2000;
    	
    	deletearray .@npc_size[0],127;
    	
    	// NPC Count
    	setarray .@npc_size[0],0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36;
    
    	set .@seffect_size, getarraysize(.@npc_size);
    	deletearray .@show_seffects[0],127;
    	set .@seffects, .@seffect_size;
    
    	for( set .@i, 0; .@i < .@seffect_size; set .@i, .@i + 1 )
    	{
    		set .@rand_seffects, rand(.@seffects);
    		set .@show_seffects[.@i], .@npc_size[.@rand_seffects];
    		deletearray .@npc_size[.@rand_seffects], 1;
    		set .@seffects, .@seffects - 1;
    	}
    
    	for( set .@i, 0; .@i < 36; set .@i, .@i + 2 )
    	{
    		donpcevent "SkillEffect" + .@show_seffects[.@i] + "::OnShowSkillEffects";
    		donpcevent "SkillEffect" + .@show_seffects[.@i + 1] + "::OnShowSkillEffects";
    		sleep 200;
    	}
    
    	sleep 1600;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : You only have " + .attempt + " attempts.",8;
    	sleep 2000;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Starting in 3..",8;
    	sleep 1000;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 2..",8;
    	sleep 1000;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 1..",8;
    	sleep 1000;
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Go! Find pairs of skill effects now. You only got 3 minutes!",8;
    	set .gameon, 2;
    	initnpctimer;
    	end;
    
    OnDoingGood:
    	switch( rand(4) )
    	{
    		case 0: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Well, lucky guy...",8; break;
    		case 1: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Great...",8; break;
    		case 2: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : You're doing good!",8; break;
    		case 3: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Nice! Just keep looking..!",8; break;
    	}
    	end;
    
    OnDoingBad:
    	switch( rand(4) )
    	{
    		case 0: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Wrong egg! (" + .attempt + " lives)",8; break;
    		case 1: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Sucks being you, I guess? (" + .attempt + " lives)",8; break;
    		case 2: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Too bad! (" + .attempt + " lives)",8; break;
    		case 3: areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Drink Memory Plus! (" + .attempt + " lives)",8; break;
    	}
    	end;
    
    
    OnWinner:
    	stopnpctimer;
    	donpcevent "::OnHideTogepi";
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : YOU DID IT!!",8;
    	set .gameon, 0;
    	sleep 2000;
    	mapwarp .mapname$,.maintown$,.mainx,.mainy;
    	end;
    	
    OnLose:
    	stopnpctimer;
    	donpcevent "::OnHideTogepi";
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : No more attempts. Sucks being you, I guess.",8;
    	set .gameon, 0;
    	sleep 2000;
    	mapwarp .mapname$,.maintown$,.mainx,.mainy;
    	end;
    
    OnTimer60000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 2 minutes remaining.",8;
    	end;
    OnAfk:
    	stopnpctimer;
    	detachnpctimer;
    	donpcevent "::OnHideTogepi";
    	end;
    OnTimer120000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 1 minute remaining.",8;
    	end;
    OnTimer150000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Last 30 seconds.",8;
    	end;
    OnTimer170000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : HURRY! Last 10 seconds.",8;
    	end;
    OnTimer175000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 5..",8;
    	end;
    OnTimer176000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 4..",8;
    	end;
    OnTimer177000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 3..",8;
    	end;
    OnTimer178000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 2..",8;
    	end;
    OnTimer179000:
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : 1..",8;
    	end;
    OnTimer180000:
    	stopnpctimer;
    	donpcevent "::OnHideTogepi";
    	areaannounce .mapname$,.areax1,.areay1,.areax2,.areay2,"Mavis Vermillion : Time's up. You did not make it.",8;
    	if ( getareausers(.mapname$,.areax1,.areay1,.areax2,.areay2) > 0 )
    	{
    		if ( $skillmatchgame_based == 0 )
    		{
    			set #Already_Played, strcharinfo(0);
    			set #Already_Played, gettimetick(2)+.intervalmavis;
    			detachnpctimer;
    		}
    		if ( $skillmatchgame_based == 1 )
    		{
    			set Already_Played, strcharinfo(0);
    			set Already_Played, gettimetick(2)+.intervalmavis;
    			detachnpctimer;
    		}
    	}
    	set .gameon, 0;
    	sleep 2000;
    	mapwarp .mapname$,.maintown$,.mainx,.mainy;
    	end;
    	
    	case 2:
    		close;
    	case 3:
    	Admin_Menu:
    		next;
    		mes .n$;
    		mes "Welcome back GM ^FF0000"+strcharinfo(0)+"^000000.";
    		mes "What do you want to do today?";
    		next;
    		switch(select("Player Menu:Set Payment:Set Prize:Just dropping by!"))
    		{
    		case 1:
    			next;
    			goto Player_Menu;
    		case 2:
    		current_payment:
    			next;
    			mes .n$;
    			mes "Current Item Payment:";
    			mes "^008000"+.payamount+" "+getitemname(.payitem)+"s^000000";
    			mes " ";
    			mes "Current Zeny Payment:";
    			mes "^008000"+.zeny+"^000000 zeny";
    			next;
    			switch(select("Set Item Payment:Set Zeny Payment:Go back to menu"))
    			{
    			case 1:
    				next;
    				mes .n$;
    				mes "Ok, please input the item # to be the payment for joining the game.";
    				next;
    				input .@itemid;
    				if (getitemname(.@itemid) == "null" || getitemname(.@itemid) == "") {next; mes .n$; mes "This item doesn't exists in the database.."; next; goto current_payment; }
    				set .payitem, .@itemid;
    				next;
    				mes .n$;
    				mes "How many "+getitemname(.payitem)+"s should players pay?";
    				next;
    				input .@itemamount;
    				if(.@itemamount <= 0){next; mes .n$; mes "Please input a # greater than 0!"; next; goto current_payment; }
    				set .payamount, .@itemamount;
    				next;
    				mes "So, the item payment for the entering the game:";
    				mes "^008000"+.payamount+" "+getitemname(.payitem)+"s";
    				next;
    				goto current_payment;
    			case 2:
    				next;
    				mes .n$;
    				mes "Ok, please input how much zeny players should pay for entering the game.";
    				next;
    				input .@payzeny;
    				if(.@payzeny <= 0){next; mes .n$; mes "Please input a # greater than 0!"; next; goto current_payment; }
    				set .zeny, .@payzeny;
    				next;
    				mes "So, the zeny payment for the entering the game:";
    				mes "^008000"+.zeny+" zeny.";
    				next;
    				goto current_payment;
    			case 3:
    				next;
    				goto Admin_Menu;
    			}
    		case 3:
    		current_prize:
    			next;
    			mes .n$;
    			mes "Current Normal Prize:";
    			mes "^008000"+.rewardamount+" "+getitemname(.rewarditem)+"s^000000";
    			mes " ";
    			mes "Current Winner Prize:";
    			mes "^008000"+.w_rewardamount+" "+getitemname(.w_rewarditem)+"s^000000";
    			next;
    			switch(select("Set Normal Prize:Set Winner Prize:Enable/Disable Prize:Go back to menu"))
    			{
    			case 1:
    				next;
    				mes .n$;
    				mes "Ok, please input the item to be given if the player finds a pair!";
    				next;
    				input .@rewardid;
    				if (getitemname(.@rewardid) == "null" || getitemname(.@rewardid) == "") {next; mes .n$; mes "This item doesn't exists in the database.."; next; goto current_prize; }
    				set .rewarditem, .@rewardid;
    				next;
    				mes .n$;
    				mes "How many "+getitemname(.rewarditem)+"s should players get?";
    				next;
    				input .@rewardamount;
    				if(.@rewardamount <= 0){next; mes .n$; mes "Please input a # greater than 0!"; next; goto current_prize; }
    				set .rewardamount, .@rewardamount;
    				next;
    				mes "So, the current normal prize:";
    				mes "^008000"+.rewardamount+" "+getitemname(.rewarditem)+"s";
    				next;
    				goto current_prize;
    			case 2:
    				next;
    				mes .n$;
    				mes "Ok, please input the item to be given if the player wins the game!";
    				next;
    				input .@w_rewardid;
    				if (getitemname(.@w_rewardid) == "null" || getitemname(.@w_rewardid) == "") {next; mes .n$; mes "This item doesn't exists in the database.."; next; goto current_prize; }
    				set .w_rewarditem, .@w_rewardid;
    				next;
    				mes .n$;
    				mes "How many "+getitemname(.w_rewarditem)+"s should the winner get?";
    				next;
    				input .@w_rewardamount;
    				if(.@w_rewardamount <= 0){next; mes .n$; mes "Please input a # greater than 0!"; next; goto current_prize; }
    				set .w_rewardamount, .@w_rewardamount;
    				next;
    				mes "So, the current winner prize:";
    				mes "^008000"+.w_rewardamount+" "+getitemname(.w_rewarditem)+"s";
    				next;
    				goto current_prize;
    			case 3:
    			enable_disable:
    				next;
    				mes .n$;
    				mes "What would you like to do?";
    				next;
    				switch(select("^FF0000Disable Normal Prize Distribution^000000:^0000FFEnable Normal Prize Distribution^000000:^FF0000Disable Winner Prize Distribution^000000:^0000FFEnable Winner Prize Distribution^000000"))
    				{
    				case 1:
    					next;
    					if(.give_prize == 0){ mes .n$; mes "Normal Prize Distribution is already disabled!"; next; goto enable_disable; }
    					mes .n$;
    					mes "Normal Prize Distribution has been disabled!";
    					set .give_prize,0;
    					goto enable_disable;
    				case 2:
    					next;
    					if(.give_prize == 1){ mes .n$; mes "Normal Prize Distribution is already enabled!"; next; goto enable_disable; }
    					mes .n$;
    					mes "Normal Prize Distribution has been enabled!";
    					set .give_prize,1;
    					goto enable_disable;
    				case 3:
    					next;
    					if(.w_give_prize == 0){ mes .n$; mes "Winner Prize Distribution is already disabled!"; next; goto enable_disable; }
    					mes .n$;
    					mes "Winner Prize Distribution has been disabled!";
    					set .w_give_prize,0;
    					goto enable_disable;
    				case 4:
    					next;
    					if(.w_give_prize == 1){ mes .n$; mes "Winner Prize Distribution is already enabled!"; next; goto enable_disable; }
    					mes .n$;
    					mes "Winner Prize Distribution has been enabled!";
    					set .w_give_prize,1;
    					goto enable_disable;
    				case 5:
    					close;
    				}
    			case 4:
    				next;
    				goto Admin_Menu;
    			}
    		case 4:
    			close;
    		}
    	}
    	
    
    OnInit:
    	//•••••••••••••••••••••••• C O N F I G U R A T I O N ••••••••••••••••••••••••//
    	
    	set .n$, "[ ^FFA500Mavis Vermillion^000000 ]"; // NPC Header
    	
    	set .attempts, 20; // Change this one to how many attempts you like, n+1 , if you input 5, attempts will be 5+1 = 6
    	set .intervalmavis, 3000; // [ Seconds ] Time interval before a player can join the game again!
    	set .kicktimeifafk,120; // [ Seconds ] If afk for 120 seconds, kicked to Savepoint	
    	set $skillmatchgame_based, 0; // Timer Interval [ Account Based - 0 / Character Based - 1 ]
    	
    	set .payamount, 2; // Default item amount payment
    	set .payitem, 675; // Default item payment
    	set .zeny, 1000000; // Default zeny payment
    	set .w_rewardamount, 1; // Default Winner Prize amount
    	set .w_rewarditem, 677; // Default Winner Prize
    	set .rewarditem, 674; // Default Normal Prize
    	set .rewardamount, 1; // Default Normal Prize amount
    	
    	// These things here were due to my laziness. lol when writing the script. XD
    	set .mapname$, "quiz_02"; // Event Map Location
    	set .warpx, 305; // warp to Event Map x coordinate
    	set .warpy, 253; // warp to Event Map y coordinate
    	set .areax1, 295; // Event map areannounce x1
    	set .areay1, 261; // Event map areannounce y1
    	set .areax2, 314; // Event map areannounce x2
    	set .areay2, 242; // Event map areannounce y2	
    	set .maintown$, "prontera"; // Spawn location when game ends
    	set .mainx, 155; // spawn location x coordinate
    	set .mainy, 179; // spawn location y coordinate
    	
    	set .w_give_prize, 1; // Default setting enable/disable winner prize ( Disable = 0, Enable = 1)
    	set .give_prize, 1; // Default setting enable/disable normal prize ( Disable = 0, Enable = 1)
    	
    	set .gmlvl, 70; // Gm level to  access admin menu
    	
    	set .gameon, 0;
    	
    	setwall .mapname$,296,260,18,6,0,"1wallqz";
    	setwall .mapname$,296,243,18,6,0,"2wallqz";
    	setwall .mapname$,296,259,16,4,0,"3wallqz";
    	setwall .mapname$,313,259,16,4,0,"4wallqz";
    
    }
    
    quiz_02,297,259,4	script	Togepi#0::SkillEffect0	463,{
    
    	if( getvariableofnpc(.gameon,"Mavis Vermillion") < 2 || getvariableofnpc(.Char_ID,"Mavis Vermillion") != getcharid(3) )
    		end;
    	
    	set Already_Played, getcharid(3);
    	set #Already_Played, getcharid(3);
    	set @matchnpc, atoi(strnpcinfo(2));
    	set .mapname$,getvariableofnpc(.mapname$,"Mavis Vermillion");
    	set .areax1,getvariableofnpc(.areax1,"Mavis Vermillion");
    	set .areay1,getvariableofnpc(.areay1,"Mavis Vermillion");
    	set .areax2,getvariableofnpc(.areax2,"Mavis Vermillion");
    	set .areay2,getvariableofnpc(.areay2,"Mavis Vermillion");
    	set .intervalmavis,getvariableofnpc(.intervalmavis,"Mavis Vermillion");
    	specialeffect getvariableofnpc(.skill_effects[@matchnpc],"Mavis Vermillion");
    	if( getvariableofnpc(.gameon,"Mavis Vermillion") == 2 )
    	{
    		set getvariableofnpc(.event_showeffect,"Mavis Vermillion"), @matchnpc;
    		set getvariableofnpc(.gameon,"Mavis Vermillion"), 3;
    	}
    	else if( @matchnpc != getvariableofnpc(.event_showeffect,"Mavis Vermillion") )
    	{
    		set @npc_showeffects, getvariableofnpc(.event_showeffect,"Mavis Vermillion");
    		if( getvariableofnpc(.skill_effects[@npc_showeffects],"Mavis Vermillion") == getvariableofnpc(.skill_effects[@matchnpc],"Mavis Vermillion") )
    		{
    			set .rewarditem, getvariableofnpc(.rewarditem,"Mavis Vermillion");
    			set .rewardamount, getvariableofnpc(.rewardamount,"Mavis Vermillion");
    			set .w_rewarditem, getvariableofnpc(.w_rewarditem,"Mavis Vermillion");
    			set .w_rewardamount, getvariableofnpc(.w_rewardamount,"Mavis Vermillion");
    			set .w_give_prize, getvariableofnpc(.w_give_prize,"Mavis Vermillion");
    			set .give_prize, getvariableofnpc(.give_prize,"Mavis Vermillion");
    			set getvariableofnpc(.gamepair,"Mavis Vermillion"), getvariableofnpc(.gamepair,"Mavis Vermillion") + 1;
    
    			if( getvariableofnpc(.gamepair,"Mavis Vermillion") > 0 )
    				{ if(.give_prize == 1){getitem .rewarditem, .rewardamount;}}
    
    			set getvariableofnpc(.gameon,"Mavis Vermillion"), 2;
    
    			donpcevent "SkillEffect" + @npc_showeffects + "::OnHideTogepi";
    			donpcevent "SkillEffect" + @matchnpc + "::OnHideTogepi";
    			
    			set getvariableofnpc(.event_showeffect,"Mavis Vermillion"), -1;
    
    			if( getvariableofnpc(.gamepair,"Mavis Vermillion") > 17 ){ // This 17 here, is the number of Pairs - 1
    				if(.w_give_prize == 1){
    				getitem .w_rewarditem, .w_rewardamount;
    				}
    				if(getareausers(.mapname$,.areax1,.areay1,.areax2,.areay2) > 0 )
    				{
    					if ( $skillmatchgame_based == 0 )
    					{
    						set #Already_Played, gettimetick(2)+.intervalmavis;
    						detachnpctimer;
    					}
    					if ( $skillmatchgame_based == 1 )
    					{
    						set Already_Played, gettimetick(2)+.intervalmavis;
    						detachnpctimer;
    					}
    				}
    				donpcevent "Mavis Vermillion::OnWinner";
    				}
    			else
    				donpcevent "Mavis Vermillion::OnDoingGood";
    				
    		}
    		else
    		{
    			set getvariableofnpc(.gameon,"Mavis Vermillion"), 2;
    			set getvariableofnpc(.event_showeffect,"Mavis Vermillion"), -1;
    			set getvariableofnpc(.attempt,"Mavis Vermillion"), getvariableofnpc(.attempt,"Mavis Vermillion") - 1;
    			if( getvariableofnpc(.attempt,"Mavis Vermillion") < 1 ){
    				if(getareausers(.mapname$,.areax1,.areay1,.areax2,.areay2) > 0 )
    				{
    				if ( $skillmatchgame_based == 0 )
    					{
    						set #Already_Played, gettimetick(2)+.intervalmavis;
    						detachnpctimer;
    					}
    					if ( $skillmatchgame_based == 1 )
    					{
    						set Already_Played, gettimetick(2)+.intervalmavis;
    						detachnpctimer;
    					}
    				}
    				donpcevent "Mavis Vermillion::OnLose";
    				}
    			else
    				donpcevent "Mavis Vermillion::OnDoingBad";
    		}
    	}
    	end;
    
    OnShowSkillEffects:
    	specialeffect getvariableofnpc(.skill_effects[atoi(strnpcinfo(2))],"Mavis Vermillion");
    	end;
    	
    OnHideTogepi:
    	disablenpc "SkillEffect" + atoi(strnpcinfo(2)) + "";
    	end;
    	
    OnShowTogepi:
    	enablenpc "SkillEffect" + atoi(strnpcinfo(2)) + "";
    	end;
    
    }
    
    /* Note : Checks if character is afk or not, set time at the above CONFIGURATIONS.
       This script triggers with OnPCLoadMapEvent.
       OnPCLoadMapEvent triggers when the map has a mapflag *loadevent*.
       If you want to disable this script, because it triggers with other 
       scripts on the same map, just remove the mapflag loadevent,
       and/or remove the entire *IfAfkFor2Minutes* script.*/
       
    -	script	IfAfkFor2Minutes	-1,{
    
    OnPCLoadMapEvent:
    
    	set .@kicktimeifafk,getvariableofnpc(.kicktimeifafk,"Mavis Vermillion");
    	set .intervalmavis,getvariableofnpc(.intervalmavis,"Mavis Vermillion");
    	set Already_Played, getcharid(3);
    	set #Already_Played, getcharid(3);
    	
        while ( !getmapxy ( .@afkmap$, .@afkx, .@afky, 0) && .@afkmap$ == "quiz_02" ) {
            if ( .@afkx == .@afkmapx && .@afky == .@afkmapy ) {
                if( .@afkcountifidle < .@kicktimeifafk ){
                    set .@afkcountifidle,.@afkcountifidle+1;
                    if(.@afkcountifidle==(.@kicktimeifafk-20)){ dispbottom "You have 20 seconds to move or you will be tagged as AFK"; }
                } else {
                    dispbottom "You've been kicked for being afk.";
    				if ( $skillmatchgame_based == 0 )
    				{
    					set #Already_Played, gettimetick(2)+.intervalmavis;
    					detachnpctimer;
    				}
    				if ( $skillmatchgame_based == 1 )
    				{
    					set Already_Played, gettimetick(2)+.intervalmavis;
    					detachnpctimer;
    				}
    				set getvariableofnpc(.gameon,"Mavis Vermillion"), 0;
    				donpcevent "Mavis Vermillion::OnAfk";
                    warp "SavePoint",0,0;
                    break;
                }
            } else {
                set .@afkmapx,.@afkx;
                set .@afkmapy,.@afky;
                set .@afkcountifidle,0;
            }
            sleep2 1000;
        }
    }
    
    quiz_02,300,259,4	duplicate(SkillEffect0)	Togepi#1::SkillEffect1	463
    quiz_02,303,259,4	duplicate(SkillEffect0)	Togepi#2::SkillEffect2	463
    quiz_02,306,259,4	duplicate(SkillEffect0)	Togepi#3::SkillEffect3	463
    quiz_02,309,259,4	duplicate(SkillEffect0)	Togepi#4::SkillEffect4	463
    quiz_02,312,259,4	duplicate(SkillEffect0)	Togepi#5::SkillEffect5	463
    
    quiz_02,297,256,4	duplicate(SkillEffect0)	Togepi#6::SkillEffect6	463
    quiz_02,300,256,4	duplicate(SkillEffect0)	Togepi#7::SkillEffect7	463
    quiz_02,303,256,4	duplicate(SkillEffect0)	Togepi#8::SkillEffect8	463
    quiz_02,306,256,4	duplicate(SkillEffect0)	Togepi#9::SkillEffect9	463
    quiz_02,309,256,4	duplicate(SkillEffect0)	Togepi#10::SkillEffect10	463
    quiz_02,312,256,4	duplicate(SkillEffect0)	Togepi#11::SkillEffect11	463
    
    quiz_02,297,253,4	duplicate(SkillEffect0)	Togepi#12::SkillEffect12	463
    quiz_02,300,253,4	duplicate(SkillEffect0)	Togepi#13::SkillEffect13	463
    quiz_02,303,253,4	duplicate(SkillEffect0)	Togepi#14::SkillEffect14	463
    quiz_02,306,253,4	duplicate(SkillEffect0)	Togepi#15::SkillEffect15	463
    quiz_02,309,253,4	duplicate(SkillEffect0)	Togepi#16::SkillEffect16	463
    quiz_02,312,253,4	duplicate(SkillEffect0)	Togepi#17::SkillEffect17	463
    
    quiz_02,297,250,4	duplicate(SkillEffect0)	Togepi#18::SkillEffect18	463
    quiz_02,300,250,4	duplicate(SkillEffect0)	Togepi#19::SkillEffect19	463
    quiz_02,303,250,4	duplicate(SkillEffect0)	Togepi#20::SkillEffect20	463
    quiz_02,306,250,4	duplicate(SkillEffect0)	Togepi#21::SkillEffect21	463
    quiz_02,309,250,4	duplicate(SkillEffect0)	Togepi#22::SkillEffect22	463
    quiz_02,312,250,4	duplicate(SkillEffect0)	Togepi#23::SkillEffect23	463
    
    quiz_02,297,247,4	duplicate(SkillEffect0)	Togepi#24::SkillEffect24	463
    quiz_02,300,247,4	duplicate(SkillEffect0)	Togepi#25::SkillEffect25	463
    quiz_02,303,247,4	duplicate(SkillEffect0)	Togepi#26::SkillEffect26	463
    quiz_02,306,247,4	duplicate(SkillEffect0)	Togepi#27::SkillEffect27	463
    quiz_02,309,247,4	duplicate(SkillEffect0)	Togepi#28::SkillEffect28	463
    quiz_02,312,247,4	duplicate(SkillEffect0)	Togepi#29::SkillEffect29	463
    
    quiz_02,297,244,4	duplicate(SkillEffect0)	Togepi#30::SkillEffect30	463
    quiz_02,300,244,4	duplicate(SkillEffect0)	Togepi#31::SkillEffect31	463
    quiz_02,303,244,4	duplicate(SkillEffect0)	Togepi#32::SkillEffect32	463
    quiz_02,306,244,4	duplicate(SkillEffect0)	Togepi#33::SkillEffect33	463
    quiz_02,309,244,4	duplicate(SkillEffect0)	Togepi#34::SkillEffect34	463
    quiz_02,312,244,4	duplicate(SkillEffect0)	Togepi#35::SkillEffect35	463
    
    quiz_02	mapflag	nowarp
    quiz_02	mapflag	nowarpto
    quiz_02	mapflag	nosave
    quiz_02	mapflag	nomemo
    quiz_02	mapflag	noteleport
    quiz_02	mapflag	nochat
    quiz_02	mapflag	novending
    quiz_02	mapflag	loadevent

     

    Have you tried diffing your client to disable multiple windows?

  16. 31 minutes ago, robby22 said:

    Do player sprites have their own ID's as monsters do? I'm creating an script and I need to know the ID's of all the classes in the game. Every database I checked shows only monsters.

    Yes, Every class has it's own unique ID. You can find this list by using @job in game

  17. 30 minutes ago, Drinna said:

    I was looking at another server I think they somehow did it? or maybe my guess was wrong, probably. but ...
    I've been trying to use a lower client and link it to a server which was set up originally in a renewal setting. However I keep getting these errors below : 
    image.thumb.png.dfae804ece5f5eb2787885b7501a044c.png

    Would you be familiar about this?

    Note: I censored the IP address shown in the original SS
     

    You need to allow the client through your firewall. Thats what this error is.

  18. 1 hour ago, Slyx said:

    I cant hex my client properly . These are the error I got from latest secret NEMO.

    Furthermore I dont have sclientinfo.xml in my data folder. Where can I get that file?

    1.jpg

    2.jpg

    3.jpg

    4.jpg

    5.jpg

    Don't use Secret's NEMO for 2018 client; Use 4144's https://gitlab.com/4144/Nemo/tree/master

    sclientinfo.xml can be found by using any clientinfo.xml and renaming it to sclientinfo.xml; There is no difference; You can also grab this one here if you'd rather do that and edit to your liking https://github.com/TheDerpySupport/Untold-RO/blob/master/data/clientinfo.xml

  19. 4 minutes ago, Slyx said:

    Thank you @TheDerpySupport for your answer.I will try the new translation when I get home.

    How bout the modifications on server file? Mind if you share your guide on server file like those packet.h file and other related stuff.

    For server side all you have to do is modify "src/custom/defines_pre.h" not packet.h; That file shouldn't be touched

     

    // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
    // For more information, see LICENCE in the main folder
    #ifndef _CONFIG_CUSTOM_DEFINES_PRE_H_
    #define _CONFIG_CUSTOM_DEFINES_PRE_H_
    
    /**
     * rAthena configuration file (http://rathena.org)
     * For detailed guidance on these check http://rathena.org/wiki/SRC/config/
     **/
    
    #define PACKETVER 20180530
    
    #endif // _CONFIG_CUSTOM_DEFINES_PRE_H_

     

×
×
  • Create New...