Jump to content
  • 0

custom Stylist


stydianx

Question


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

i tried to search for this but all that came out are request for "disguise event" and npc's that gives rewards from disguise events.

what i had in mind is a NPC script that functions like the Stylist NPC, but this changes his job sprite, and instead of paying zeny, this shop only accepts TCG's :)

p.s. it'll be great if someone provides the script that doesn't involve SQL :) but if it has SQL please teach how to put :)

Link to comment
Share on other sites

16 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

Okay, so you want an NPC which basically makes your character look like another character or did you want to turn them into a monster?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

Okay, so you want an NPC which basically makes your character look like another character or did you want to turn them into a monster?

im sorry, yes i want my character to look like another character :)

like GLT cross to Archer..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

mapname,x,y,z	script	npcname	123,{
set .@jobs[0],0,1,2,3,4,5,6,7,8,9,10; //Add more jobs as needed.
set .@req,3;
mes "Welcome, I can change your appearance, from one job to another.";
mes "Example:  AssassinCross look like an Archer.";
for(.@i,0; .@i<(getarraysize(.@jobs); .@i++){set .@menu$,.@menu$ + jobname(.@jobs[.@i]) + ":";}
menu .@menu$,-;
if(countitem(7227) < .@req){next; mes "Not enough TCG"; close;}
delitem 7227, .@req;
setlook(0,.@jobs[(.@i-1)]);
end;
}

Btw, I don't really remember what the itemID of TCGs are, but something keeps telling me it's 7091 lol. If i'm wrong just edit the script and change those entries to the correct item_id.

Edit: updated item_ids to 7227 & to use jobname (suggested by Euphy).

Edited by GmOcean
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  72
  • Topics Per Day:  0.02
  • Content Count:  2997
  • Reputation:   1130
  • Joined:  05/27/12
  • Last Seen:  

@GmOcean: Why not use 'jobname' to save yourself some work? And it's 7227. :>

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

Lol, cuz i wrote it from my phone @.@; normally when i reply to requests, or support, i double check the functions of script commands, but meh, too slow internet to bother going to the svn location lol. So i just wrote what i knew off hand 100% lol.

Edit: Updated the script for item_id fixes and jobname() suggestion lol.

Edit2: I keep looking back at everyone's scripts using switch(select); I just can't bring myself to use it lol, i like menu, even though switch(select) is better in the long run for eliminating the use of Labels, and much more.

Edited by GmOcean
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

menu .@menu$,-;

....

setlook(0,.@jobs[(.@i-1)]);

shouldn't that be

setlook(0,.@jobs[(@menu-1)]);

prontera,155,188,5    script    npcname    123,{
setarray .@jobs[0],0,1,2,3,4,5,6,7,8,9,10; //Add more jobs as needed.
set .@req,3;
mes "Welcome, I can change your appearance, from one job to another.";
mes "Example:  AssassinCross look like an Archer.";
for(.@i=0; .@i<getarraysize(.@jobs); .@i++)
   {set .@menu$,.@menu$ + jobname(.@jobs[.@i]) + ":";}
menu .@menu$,-;
if(countitem(7227) < .@req){next; mes "Not enough TCG"; close;}
delitem 7227, .@req;
setlook(0,.@jobs[(@menu-1)]);
close;
}

meh ....

@GmOcean

wow your script no longer looks messy, LOL

Edited by AnnieRuru
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

mapname,x,y,z	script	npcname	123,{
set .@jobs[0],0,1,2,3,4,5,6,7,8,9,10; //Add more jobs as needed.
set .@req,3;
mes "Welcome, I can change your appearance, from one job to another.";
mes "Example:  AssassinCross look like an Archer.";
for(.@i,0; .@i<(getarraysize(.@jobs); .@i++){set .@menu$,.@menu$ + jobname(.@jobs[.@i]) + ":";}
menu .@menu$,-;
if(countitem(7227) < .@req){next; mes "Not enough TCG"; close;}
delitem 7227, .@req;
setlook(0,.@jobs[(.@i-1)]);
end;
}

Btw, I don't really remember what the itemID of TCGs are, but something keeps telling me it's 7091 lol. If i'm wrong just edit the script and change those entries to the correct item_id.

Edit: updated item_ids to 7227 & to use jobname (suggested by Euphy).

i tried this but i cannot talk to the NPC.. :(

EDIT:

AnnieRur, yours works just fine :) thanks to all you guys :)

Only question i have now is where can i see the list of jobs and where do i put them in the script? :)

Edited by stydianx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  72
  • Topics Per Day:  0.02
  • Content Count:  2997
  • Reputation:   1130
  • Joined:  05/27/12
  • Last Seen:  

'set' -> 'setarray'

(please read your mapserver errors)

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

Ehh, sorry lol. We all make mistakes lol. And yeah, Annieruru made the changes in her script. I always forget the @menu-1 lol.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

'set' -> 'setarray'

(please read your mapserver errors)

do i just add numbers in this part?

setarray .@jobs[0],0,1,2,3,4,5,6,7,8,9,10; //Add more jobs as needed.

like 11,12,13,14,15; ?? :)

(thanks for helping guys :))

EDIT: @GmOcean, it's okay man! im lucky enough to have help from you guys :)

Edited by stydianx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

Yeah just add the job numbers.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

Yeah just add the job numbers.

so 11,12,13,14,15; is okay?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  666
  • Reputation:   93
  • Joined:  04/27/12
  • Last Seen:  

Should be if those are job numbers. Refer to rAthena/db/const.txt. For all the other job ids

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

Should be if those are job numbers. Refer to rAthena/db/const.txt. For all the other job ids

Okay, i turned it to this :) i added 17 more :) hope it can support it..

setarray .@jobs[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; //Add more jobs as needed.

this is where i edit the price right?

set .@req,3;

EDIT: i can duplicate this script right? :)

Edited by stydianx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  105
  • Topics Per Day:  0.02
  • Content Count:  390
  • Reputation:   27
  • Joined:  07/12/12
  • Last Seen:  

thank you guys again :) <3

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...