Jump to content
  • 0

help for create NPC


domez86

Question


  • Group:  Members
  • Topic Count:  85
  • Topics Per Day:  0.02
  • Content Count:  207
  • Reputation:   0
  • Joined:  06/11/13
  • Last Seen:  

Hi, is there anyone who could create this npc?

_________________________________________________

Hi, I'm the master statpoint!

Only the third classes lv.175 can continue!

if you are third class and base lvl 175:

Do you want the max? keys: yes/no         

if you choose "yes":
      well! let's start by resetting all the stat!
      key: continue
      @allstat -255 or setallstat =1
   done! key: continue
      now we reset your stat points!
      @stpoint -5000 or setstatpoint =0
   done! key: continue
      now we just have to add stat point for
      max 2 stat to 255!
      key: continue
      @stpoint +25000
   done! key: continue
      congratulations! now you're at max! 
      key: close
if you choose "no":
hello! key: close

if you have already used it:

Sorry, you have already used it! key:close

______________________________________________

With the possibility to use it only if you are third class with base lvl 175 and to be able to use it once only not based on the account id but based on the char id, thanks!

 

Edited by domez86
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  228
  • Reputation:   19
  • Joined:  10/27/12
  • Last Seen:  

6 hours ago, domez86 said:

Hi, is there anyone who could create this npc?

_________________________________________________

Hi, I'm the master statpoint!

Only the third classes lv.175 can continue!

if you are third class and base lvl 175:

Do you want the max? keys: yes/no         

if you choose "yes":
      well! let's start by resetting all the stat!
      key: continue
      @allstat -255 or setallstat =1
   done! key: continue
      now we reset your stat points!
      @stpoint -5000 or setstatpoint =0
   done! key: continue
      now we just have to add stat point for
      max 2 stat to 255!
      key: continue
      @stpoint +25000
   done! key: continue
      congratulations! now you're at max! 
      key: close
if you choose "no":
hello! key: close

if you have already used it:

Sorry, you have already used it! key:close

______________________________________________

With the possibility to use it only if you are third class with base lvl 175 and to be able to use it once only not based on the account id but based on the char id, thanks!

 

1.  You should only post NPC or Item script request in script requesting section.

2.  whatever tested working maybe...not optimized.

3.  Don't blame me on all the extra TABs because those TABs looks good in sublime text 3.

 

prontera,155,180,5	script	master statpoint	495,{
	mes ( "Hi, I'm the " + strnpcinfo(0) + " !" ) ;
	if ( (eaclass()&EAJL_THIRD ) && ( BaseLevel > 174 ) && StatNPCused = 0 ) {
		mes ( "Do you want to max your StatusPoint?" );
		next;
		switch(select( "Yes","No" )) {
			case 1:
					mes ( "well! let's start by resetting all the stat! " );
							if ( readparam(bStr) > 1 ) {
									atcommand "@Str -"+(readparam(bStr)- 1); }
							if ( readparam(bAgi) > 1 ) {
									atcommand "@Agi -"+(readparam(bAgi)- 1); }
							if ( readparam(bVit) > 1 ) {
									atcommand "@Vit -"+(readparam(bVit)- 1); }
							if ( readparam(bInt) > 1 ) {
									atcommand "@Int -"+(readparam(bInt)- 1); }
							if ( readparam(bDex) > 1 ) {
									atcommand "@Dex -"+(readparam(bDex)- 1); }
							if ( readparam(bLuk) > 1 ) {
									atcommand "@Luk -"+(readparam(bLuk)- 1); }
					mes ( "done!");
					next;
					mes ( "now we reset your stat points!");
					StatusPoint = 0;
					mes ( "done!");
					next;
					mes ( "now we just have to add stat point for ");

					.@is = 3;
					.@ms = 254;
					while ( .@is > 1 ) {
									switch (select ( 
											"Increase Strength",
											"Increase Agility",
											"Increase Vitality",
											"Increase Intelligence",
											"Increase Dexterity",
											"Increase Luck"
									)) {
											case 1:
													if ( @xStr == 0 ) {
														atcommand "@Str "+.@ms; 
														@xStr = 1;
														.@is -= 1;
													} else if ( @xStr == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 2:
													if ( @xAgi == 0 ) {
														atcommand "@Agi "+.@ms; 
														@xAgi = 1;
														.@is -= 1;
													} else if ( @xAgi == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 3:
													if ( @xVit == 0 ) {
														atcommand "@Vit "+.@ms; 
														@xVit = 1;
														.@is -= 1;
													} else if ( @xVit == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 4:
													if ( @xInt == 0 ) {
														atcommand "@Int "+.@ms; 
														@xInt = 1;
														.@is -= 1;
													} else if ( @xInt == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 5:
													if ( @xDex == 0 ) {
														atcommand "@Dex "+.@ms; 
														@xDex = 1;
														.@is -= 1;
													} else if ( @xDex == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 6:
													if ( @xLuk == 0 ) {
														atcommand "@Luk "+.@ms; 
														@xLuk = 1;
														.@is -= 1;
													} else if ( @xLuk == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
									}
					}
					mes ( "maxed out 2 selected stat to max!") ;
					next;
					mes ( "Increasing StatusPoint!");
					StatusPoint += 25000;
					mes ( "Done!");
					next;
					mes ("congratulations! now you're at max! ");
					StatNPCused = 1;
					close;
			case 2:
					mes ( "Oh well have fun!");
					close;
		}
		close;
	} else {
		mes ( "You don't meet the base requirement to acquire my services! " ) ;
		mes ( "Requirement :: Reach Max Level 175 and you must be third job!") ;
		mes ( "Or You have already used my services." );
		close;
	}

}

Side NOTE:

if need be check out the documentation in your RATHENA/doc/script_commands.txt

Edited by utofaery
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  85
  • Topics Per Day:  0.02
  • Content Count:  207
  • Reputation:   0
  • Joined:  06/11/13
  • Last Seen:  

3 hours ago, utofaery said:

1.  You should only post NPC or Item script request in script requesting section.

2.  whatever tested working maybe...not optimized.

3.  Don't blame me on all the extra TABs because those TABs looks good in sublime text 3.

 


prontera,155,180,5	script	master statpoint	495,{
	mes ( "Hi, I'm the " + strnpcinfo(0) + " !" ) ;
	if ( (eaclass()&EAJL_THIRD ) && ( BaseLevel > 174 ) && StatNPCused = 0 ) {
		mes ( "Do you want to max your StatusPoint?" );
		next;
		switch(select( "Yes","No" )) {
			case 1:
					mes ( "well! let's start by resetting all the stat! " );
							if ( readparam(bStr) > 1 ) {
									atcommand "@Str -"+(readparam(bStr)- 1); }
							if ( readparam(bAgi) > 1 ) {
									atcommand "@Agi -"+(readparam(bAgi)- 1); }
							if ( readparam(bVit) > 1 ) {
									atcommand "@Vit -"+(readparam(bVit)- 1); }
							if ( readparam(bInt) > 1 ) {
									atcommand "@Int -"+(readparam(bInt)- 1); }
							if ( readparam(bDex) > 1 ) {
									atcommand "@Dex -"+(readparam(bDex)- 1); }
							if ( readparam(bLuk) > 1 ) {
									atcommand "@Luk -"+(readparam(bLuk)- 1); }
					mes ( "done!");
					next;
					mes ( "now we reset your stat points!");
					StatusPoint = 0;
					mes ( "done!");
					next;
					mes ( "now we just have to add stat point for ");

					.@is = 3;
					.@ms = 254;
					while ( .@is > 1 ) {
									switch (select ( 
											"Increase Strength",
											"Increase Agility",
											"Increase Vitality",
											"Increase Intelligence",
											"Increase Dexterity",
											"Increase Luck"
									)) {
											case 1:
													if ( @xStr == 0 ) {
														atcommand "@Str "+.@ms; 
														@xStr = 1;
														.@is -= 1;
													} else if ( @xStr == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 2:
													if ( @xAgi == 0 ) {
														atcommand "@Agi "+.@ms; 
														@xAgi = 1;
														.@is -= 1;
													} else if ( @xAgi == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 3:
													if ( @xVit == 0 ) {
														atcommand "@Vit "+.@ms; 
														@xVit = 1;
														.@is -= 1;
													} else if ( @xVit == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 4:
													if ( @xInt == 0 ) {
														atcommand "@Int "+.@ms; 
														@xInt = 1;
														.@is -= 1;
													} else if ( @xInt == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 5:
													if ( @xDex == 0 ) {
														atcommand "@Dex "+.@ms; 
														@xDex = 1;
														.@is -= 1;
													} else if ( @xDex == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
											case 6:
													if ( @xLuk == 0 ) {
														atcommand "@Luk "+.@ms; 
														@xLuk = 1;
														.@is -= 1;
													} else if ( @xLuk == 1 ) {
														mes ( " You have already Selected that StatusPoint! " ) ;
													}
													break;
									}
					}
					mes ( "maxed out 2 selected stat to max!") ;
					next;
					mes ( "Increasing StatusPoint!");
					StatusPoint += 25000;
					mes ( "Done!");
					next;
					mes ("congratulations! now you're at max! ");
					StatNPCused = 1;
					close;
			case 2:
					mes ( "Oh well have fun!");
					close;
		}
		close;
	} else {
		mes ( "You don't meet the base requirement to acquire my services! " ) ;
		mes ( "Requirement :: Reach Max Level 175 and you must be third job!") ;
		mes ( "Or You have already used my services." );
		close;
	}

}

Side NOTE:

if need be check out the documentation in your RATHENA/doc/script_commands.txt

sorry but not work your npc ?

however, the passage of the choice of the stat was not needed, it was enough to give stat points later and then everyone chose which stat to raise.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  85
  • Topics Per Day:  0.02
  • Content Count:  207
  • Reputation:   0
  • Joined:  06/11/13
  • Last Seen:  

prontera,198,163,5    script    master statpoint    495,{
    mes ( "Hi, I'm the " + strnpcinfo(0) + " !" ) ;
    if ( (eaclass()&EAJL_THIRD ) && ( BaseLevel > 174 ) && StatNPCused = 0 ) {
        mes ( "Do you want to max your StatusPoint?" );
        next;
        switch(select( "Yes","No" )) {
            case 1:
                    mes ( "well! let's start by resetting all the stat! " );
                            if ( readparam(bStr) > 1 ) {
                                    atcommand "@Str -"+(readparam(bStr)- 1); }
                            if ( readparam(bAgi) > 1 ) {
                                    atcommand "@Agi -"+(readparam(bAgi)- 1); }
                            if ( readparam(bVit) > 1 ) {
                                    atcommand "@Vit -"+(readparam(bVit)- 1); }
                            if ( readparam(bInt) > 1 ) {
                                    atcommand "@Int -"+(readparam(bInt)- 1); }
                            if ( readparam(bDex) > 1 ) {
                                    atcommand "@Dex -"+(readparam(bDex)- 1); }
                            if ( readparam(bLuk) > 1 ) {
                                    atcommand "@Luk -"+(readparam(bLuk)- 1); }
                    mes ( "done!");
                    next;
                    mes ( "now we reset your stat points!");
                    StatusPoint = 0;
                    mes ( "done!");
                    next;

mes ( "maxed out 2 selected stat to max!") ;
                    next;
                    mes ( "Increasing StatusPoint!");
                    StatusPoint += 25000;
                    mes ( "Done!");
                    next;
                    mes ("congratulations! now you're at max! ");
                    StatNPCused = 1;
                    close;
            case 2:
                    mes ( "Oh well have fun!");
                    close;
        }
        close;

 

 

type this, but not work...

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  228
  • Reputation:   19
  • Joined:  10/27/12
  • Last Seen:  

On 2/17/2019 at 6:12 PM, domez86 said:

prontera,198,163,5    script    master statpoint    495,{
    mes ( "Hi, I'm the " + strnpcinfo(0) + " !" ) ;
    if ( (eaclass()&EAJL_THIRD ) && ( BaseLevel > 174 ) && StatNPCused = 0 ) {
        mes ( "Do you want to max your StatusPoint?" );
        next;
        switch(select( "Yes","No" )) {
            case 1:
                    mes ( "well! let's start by resetting all the stat! " );
                            if ( readparam(bStr) > 1 ) {
                                    atcommand "@Str -"+(readparam(bStr)- 1); }
                            if ( readparam(bAgi) > 1 ) {
                                    atcommand "@Agi -"+(readparam(bAgi)- 1); }
                            if ( readparam(bVit) > 1 ) {
                                    atcommand "@Vit -"+(readparam(bVit)- 1); }
                            if ( readparam(bInt) > 1 ) {
                                    atcommand "@Int -"+(readparam(bInt)- 1); }
                            if ( readparam(bDex) > 1 ) {
                                    atcommand "@Dex -"+(readparam(bDex)- 1); }
                            if ( readparam(bLuk) > 1 ) {
                                    atcommand "@Luk -"+(readparam(bLuk)- 1); }
                    mes ( "done!");
                    next;
                    mes ( "now we reset your stat points!");
                    StatusPoint = 0;
                    mes ( "done!");
                    next;

mes ( "maxed out 2 selected stat to max!") ;
                    next;
                    mes ( "Increasing StatusPoint!");
                    StatusPoint += 25000;
                    mes ( "Done!");
                    next;
                    mes ("congratulations! now you're at max! ");
                    StatNPCused = 1;
                    close;
            case 2:
                    mes ( "Oh well have fun!");
                    close;
        }
        close;

 

 

type this, but not work...

https://github.com/rathena/rathena/wiki/Adding-a-Script

1. You should copy the content of the "codebox"

2.  If it not working post mapserver error or nobody gonna able to do anything about it!

3.  saying not working without any error output by map server is helping nobody especially you.

 

https://github.com/rathena/rathena/wiki/Basic-Scripting

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...