xmoonproductions.org https://www.xmoonproductions.org/ |
|
About script and animation https://www.xmoonproductions.org/viewtopic.php?f=27&t=3559 |
Page 1 of 1 |
Author: | Croicroi [ Sun Dec 28, 2014 7:18 pm ] |
Post subject: | About script and animation |
First of all, sorry for my english I wonder if it is possible to combined animation? for example \init\std\base\char\brain\code\task\task_backass.dat laying is pose_type = BUTT_BACK0; and the gesture is SetGesture (BUTT_BACK0_LEG); I would like combined with SetGesture (HAND_BACK); I see that it is possible to do so "task_blowjob.dat" where the gesture is "SetGesture (STROKE), or SetGesture (SCARED);" and the animation "I supose" does not apply to hand. my first question is: is it possible to dissect an animation by bia a parameter of collition for example, eliminate the hand of annimation or legs ... just stating that the animation only affects the body via: move_type int2_type scoll_type coll_type ia_type vwcoll_type and my second question: what is loc.sm.layer = 3; loc.sm.action = DOWIGGLE; loc.sm.wig_speed = 0.25; loc.sm.wig_max = 0.2; SetMovieAction(loc.sm); loc.sm2.layer = 3; loc.sm2.action = NEXT; loc.sm2.speed = 0.5; SetMovieAction(loc.sm2); the return is [state.dyn.me.movie.event3 == WIGGLE1] [state.dyn.me.movie.event3 == WIGGLE0] for me it is the index put on animation animation go pointer 0 to 1 and return to pointeur 0 i have nothing to read the animation file "*.bvh" and with hex texte edidor i found nothing interesting. i am wrong? and where can i foud WIGGLE index and my last question: what do and what is the difference between task_set_timer(0); and do_set_timer(0); and why if i remove it it's won't work? i have cup all i can on task_backass.dat it is a simple animation with: [MOVE] // for init [PUSH_IN] [PULL_OUT] if you copy past the folow exemple in \init\std\base\char\brain\code\task\task_backass.dat Don't forgot backup and change "SetGesture(BUTT_BACK0_LEG);" with another gesture foud in init\std\base\char\char_base.dat exemple "SetGesture(SQUAT_LEG);" you can see the animation ingame when you start backass job.
<start_task_backass> [state.dyn.me.do.task == BACKASS] return; // Set task state.dyn.me.do.task = BACKASS; // Start start state set_task_backass_state(MOVE); // Init counters state.dyn.me.task.backass.speed_count = 0; </start_task_backass> //------------------------------------------- <stop_task_backass> [state.dyn.me.do.task != BACKASS] return; // Reset gesture SetGesture(NONE); // Reset task state.dyn.me.do.task = NONE; </stop_task_backass> //------------------------------------------- <task_backass_talk> // Talk talk.s = par; </task_backass_talk> //------------------------------------------- <init_task_backass> // We should be in backass task [state.dyn.me.do.task != BACKASS] Error("Should be in backass task"); // Derive state case (state.dyn.me.task.backass.state) { [MOVE] [PUSH_IN] [PULL_OUT] state.dyn.me.task.backass.state = MOVE; } // Init state set_task_backass_state(state.dyn.me.task.backass.state); </init_task_backass> //------------------------------------------- <init_task_backass_state> // Set next state set_task_backass_state(MOVE); </init_task_backass_state> //------------------------------------------- <set_task_backass_state> // Set state state.dyn.me.task.backass.state = par; // Init task data state.dyn.me.task.ts = null; </set_task_backass_state> //------------------------------------------- <run_task_backass> case (state.dyn.me.task.backass.state) { [MOVE] { // if i remove "task_set_timer(0);" won't work ? task_set_timer(0); loc.speed = 1.1; state.dyn.me.task.backass.speed = loc.speed; loc.ts = GetTs(); [loc.ts >= state.dyn.me.task.ts] { state.dyn.me.movie.event3 = null; SetGesture(BUTT_BACK0_LEG); // Stop at markers loc.sm.layer = 3; loc.sm.action = DOWIGGLE; loc.sm.wig_speed = 0.6; loc.sm.wig_max = 0.6; SetMovieAction(loc.sm); // We are at marker0 // Goto marker1 loc.sm2.layer = 3; loc.sm2.action = NEXT; loc.sm2.speed = 0.6; SetMovieAction(loc.sm2); state.dyn.me.task.backass.state = PUSH_IN; } } [PUSH_IN] { // If pushed in [state.dyn.me.movie.event3 == WIGGLE1] { // Pull back loc.sm2.layer = 3; loc.sm2.action = NEXT; loc.sm2.speed = state.dyn.me.task.backass.speed; SetMovieAction(loc.sm2); state.dyn.me.movie.event3 = null; state.dyn.me.task.backass.state = PULL_OUT; } } [PULL_OUT] { // If pulled out [state.dyn.me.movie.event3 == WIGGLE0] { state.dyn.me.task.backass.state = PULL_OUT; loc.ts = GetTs(); [loc.ts < state.dyn.me.task.ts] return; // Push in loc.sm2.layer = 3; loc.sm2.action = NEXT; loc.sm2.speed = state.dyn.me.task.backass.speed; SetMovieAction(loc.sm2); // Increase speed //state.dyn.me.task.backass.speed += 0.1; state.dyn.me.movie.event3 = null; state.dyn.me.task.backass.state = PUSH_IN; } } } </run_task_backass> //------------------------------------------- thank you for answering |
Page 1 of 1 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |