Dev:SDK/Core - Buttons
From Slavemaker Wiki
< Dev:SDK
SlaveMaker 3 SDK
Core Buttons
There are a group of standard buttons in the Core game you can show
Generally use provided functions, avoid directly accessing the movie clips
Button MovieClips[edit]
- NextGeneral
- next button in day and night events - please use ShowPlanningNext() and
HidePlanningNext() to show/hide
- NextEvent
- next button for other events - please use DoEvent
- Quitter
- Leave button, use ShowLeaveButton() and HideLeaveButton()
- PlanningButton
- planning button on main screen
- MorningButton
- morning button
- EveningButton
- morning button
- SystemButton
- load/save
- YesEvent, NoEvent
- Yes/No buttons, normally use DoYesNoEvent/DoYesNoEventXY to show
- AskQuestions
- the list of questions shown, use AskHerQuestions/AddQuestion functions
Functions[edit]
- DoEvent
- do an event and show the NextEvent button.
- Other buttons are hidden
- function DoEvent(enum:Object)
- enum - event to do. This value can either be a Number or a String, If it is a Number it will set _root.NumEvent to this value. If it is a String it will set _root.StrEvent to this value
- When the button is clicked the game will call internally DoEventNext() and then first call the slavegirls DoEventNext() function
- eg
- _root.DoEvent(400);
- eg
- _root.NumEvent = 100 + type;
_root.DoEvent(); - eg
- _root.DoEvent("Snakes" + _root.slrandom(2));
- eg
- _root.DoEvent("LamiaEscape");
Yes/No[edit]
- DoYesNoEvent
- display yes/no buttons at the bottom of the General text area
- function DoYesNoEvent(enum:Object)
- enum - event to do, This value can either be a Number or a String,
- If it is a Number it will set _root.NumEvent to this value. If it is a String it will set _root.StrEvent to this value if omitted then will use _root.NumEvent
- Other buttons are hidden
- When the yes button is clicked the game will call internally DoEventYes() and then first call the slavegirls DoEventYes() function
- When the yes button is clicked the game will call internally DoEventNo() and then first call the slavegirls DoEventNo() function
- DoYesNoEventXY
- display yes/no buttons immediately below the last displayed text, will wrap in the the larger text area as needed
- function DoYesNoEventXY(enum:Object)
- enum - event to do, if omitted then will use _root.NumEvent
- Other buttons are hidden
- PositionYesNo
- function PositionYesNo()
- Reposition the yes/no buttons, generally use this if you add more text after displaying the buttons, say using AfterDoActions or AfterDoSexActions
- ShowYesNoButtons
- function ShowYesNoButtons()
- Do not generally use, mainly use DoYesNoEvent, but can be used in DoPlanningActions
- HideYesNoButtons
- function HideYesNoButtons()
- hide the yes/no buttons, mainly for use in DoPlanningActions, but can be used elsewhere
Questions[edit]
- AskHerQuestions
- ask up to 5 questions
- function AskHerQuestions(Event1:Object, Event2:Object, Event3:Object, Event4:Object, Event1Label:String, Event2Label:String, Event3Label:String, Event4Label:String, Caption:String, Event5:Object, Event5Label:String)
- Event1-5
- event to be done when clicking on one of the four choices. Set to 0 hide the option. Event5 is optional
- Event1Label-Event5Label
- the string shown for the question, eg "Runaway screaming" - Event5Label is optional
- Caption
- Caption at the top of the questions, eg "What does she do?"
- Other buttons are hidden
- eg
- _root.AskHerQuestions(301, 302, 303, 0, "Please fuck me", "No way!",
"Well, I'd prefer it in the ass", "", "How does she respond?");
// events 301, 302, 303 will need to be handled in the slavegirls
DoEventNext() function
_root.AskHerQuestions(301, 302, 303, 0, "Please fuck me", "No way!",
"Well, I'd prefer it in the ass", "", "How does she respond?", 304, "How
about my mouth?");
- ResetQuestions
- function ResetQuestions()
- Reset and hide all questions
- AddQuestion
- function AddQuestion(Event1:Object, Event1Label:String)
- Add a question to the list, call 1+ times. Any more than 5 are ignored
- PositionQuestions
- function PositionQuestions(lines:Number, main:Boolean)
- Repostions the questions, this is to allow for the case where the game shows some questions and then you choose to alter the displayed text
- lines parameter is normally for internal use
- Special case
- _root.PositionQuestions(undefined, true);
- positions the questions in the main window with a translucent background
- ShowQuestions
- function ShowQuestions(Caption:String, main:Boolean) : Number
- eg
- _root.ResetQuestions();
_root.AddQuestion(300, "Fuck me");
if (_root.CheckBitFlag2(12)) _root.AddQuestion(301, "Fuck my ass");
_root.AddQuestion(302, "Fuck " + _root.ServantName);
_root.ShowQuestions("She asks you to...");
- Special case
- _root.ShowQuestions("She asks you to...", true);
- positions the questions in the main window with a translucent background. The question area is also wider for longer questions
- HideQuestions
- function HideQuestions()
- Will hide the questions, seldom is there a need to call this. The game hides the questions once pressed. Generally use ResetQuestions() instead unless you wish to preserve any added questions
General Buttons[edit]
- SetActButtonState
- Customise a sex act or day action
- function SetActButtonState(type:Number, tick:Boolean, available:Boolean, actlabel:String, cost:Number, aduration:Number, shortcut:String)
- type - the act number to change. see Slave - Planning.rtf
- tick - is the large tick shown, normally to indicate the act is done
- available - if false a large slash will indicate you cannot do it
- actlabel - the button label, html syntax. You must use the existing shortcut
- cost - the GP cost to do the action
- aduration - the time to do the action, in hours (1.5 for 1 hour 30 minutes)
- shortcut - a single letter for the shortcut to use
- These are the standard calls for all buttons
- SetActButtonState(1, false, true, "Nothing", 0, 1, "H");
- SetActButtonState(13, false, true, "Naked", 0, 1, "N");
- SetActButtonState(17, false, true, "Ponygirl", 0, 1, "Y");
- SetActButtonState(18, false, true, "Spank " + NameCase(SlaveHimHer), 0, 1, "S");
- SetActButtonState(14, false, true, Master, 0, 1, "M");
- SetActButtonState(16, false, true, "Lend " + NameCase(SlaveHimHer), 0, 3, "E");
- SetActButtonState(24, false, true, "Strip Tease", 0, 1, "z");
- SetActButtonState(9, false, true, "Dildo", 0, 1, "D");
- SetActButtonState(10, false, true, "Anal Plug", 0, 1, "P");
- SetActButtonState(6, false, true, "Tits-Fuck", 0, 1, "T");
- SetActButtonState(11, false, true, "Lesbian", 0, 1, "L");
- SetActButtonState(12, false, true, "Bondage", 0, 1, "B");
- SetActButtonState(15, false, true, "Gang-Bang", 0, 1, "G");
- SetActButtonState(8, false, true, "Make " + SlaveHimHer + " Masturbate", 0, 1, "U");
- SetActButtonState(2, false, true, "Touch " + NameCase(SlaveHimHer), 0, 1, "O");
- SetActButtonState(7, false, true, "Ass Fuck "+ NameCase(SlaveHimHer), 0, 1, "A");
- SetActButtonState(4, false, true, "Fuck "+ NameCase(SlaveHimHer), 0, 1, "F");
- SetActButtonState(20, false, true, "69", 0, 1, "6");
- SetActButtonState(3, false, true, "Lick " + NameCase(SlaveHimHer), 0, 1, "C");
- SetActButtonState(5, false, true, "Blowjob", 0, 1, "J");
- SetActButtonState(25, false, true, "Cum Bath", 0, 1, "w");
- SetActButtonState(19, false, true, "Threesome", 0, 1, "3");
- SetActButtonState(21, false, true, "Orgy", 0, 1, "R");
- SetActButtonState(23, false, true, "Kiss", 0, 1, "K");
- SetActButtonState(2001, false, true, "Martial\rTraining", 0, 2, "M");
- SetActButtonState(2002, false, true, "Pray at\rChurch", 0, 2, "P");
- SetActButtonState(2003, false, true, "Relax in\ra Bar", 0, 2, "B");
- SetActButtonState(2004, false, true, "Attend\rCourt", 0, 4, "C");
- SetActButtonState(1017, false, true, "Break", 0, 2, "R");
- SetActButtonState(1004, false, true, "Discuss", 0, 1, "D");
- SetActButtonState(1002, false, true, "Cleaning", 0, 2, "l");
- SetActButtonState(1001, false, true, "Cooking", 0, 2, "C");
- SetActButtonState(1011, false, true, "Expose " + NameCase(SlaveHimHer) + "self", 0, 2, "P");
- SetActButtonState(1019, false, true, "Read a\rBook", 0, 2, "K");
- SetActButtonState(1013, false, true, "Acolyte", 0, 2, "A");
- SetActButtonState(1006, false, true, "Sciences", 50, 2, "S");
- SetActButtonState(1007, false, true, "Theology", 50, 2, "T");
- SetActButtonState(1010, false, true, "XXX", 50, 2, "X");
- SetActButtonState(1012, false, true, "Restarant", 0, 2, "U");
- SetActButtonState(1014, false, true, "Bar", 0, 2, "B");
- SetActButtonState(1015, false, true, "Sleazy Bar", 0, 2, "Z");
- SetActButtonState(1016, false, true, "Brothel", 0, 2, "H");
- SetActButtonState(1005, false, true, "Make Up", 0, 2, "M");
- SetActButtonState(1003, false, true, "Exercise", 0, 2, "W");
- SetActButtonState(1009, false, true, "Dance", 50, 2, "N");
- SetActButtonState(1008, false, true, "Etiquette\rschool", 50, 2, "E");
- SetActButtonState(1019, false, true, "", 0, 2);
- SetActButtonState(1020, false, true, "", 0, 2);
- SetActButtonState(1021, false, true, "", 0, 2);
- SetActButtonState(1022, false, true, "Library", 0, 2, "L");
- SetActButtonState(1023, false, true, "Onsen", 0, 2, "H");
- SetActButtonState(1024, false, true, "", 0, 2);
- SetActButtonState(1025, false, true, "", 0, 2);
- SetActButtonState(1026, false, true, "", 0, 2);
- SetActButtonState(1027, false, true, "", 0, 2);
- SetActButtonState(1028, false, true, "", 0, 2);
- SetActButtonState(1029, false, true, "", 0, 2);
- Notes:
- DO NOT call this in Initialise() the button will revert to default. Instead call it in UpdateSlave() or LoadGame()
- NameCase - function sets first letter to uppercase
- SlaveHimHer - 'him', 'her', 'them'
- ShowActButton
- function ShowActButton(type:Number, showact:Boolean)
- type - as for SetActButtonState
- showact - true to show, false to hide, defaults to true
- HideActButton
- function HideActButton(type:Number)
- As above, just hides the button
- ShowPlanningNext
- function ShowPlanningNext()
- Show the next button while doing planning actions, and hide other leave/yes/no/questions. Use this if you trigger an event and when done want to continue to the next action in her planning list.
- HidePlanningNext
- function HidePlanningNext()
- Hide the next button while doing planning actions
- ShowLeaveButton
- function ShowLeaveButton()
- Show the leave button, and hide other next/yes/no/questions.