1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

make her cum (futa) problem

Discussion in 'Help' started by ZakkStar, Feb 16, 2015.

  1. ZakkStar

    ZakkStar Potential Patron

    Joined:
    Feb 16, 2015
    Messages:
    3
    Likes Received:
    0
    (i'm not english zorry ;D )
    hi guys this is my first thread here, be gentle xD
    ok, the mod - make her cum (futa) has some problems, or probably just only gives me problems.
    the mod work, the only thing that doesn't work it's the cum.
    after a few hours trying to solve the cum appared but not in the right position.

    her is a screen and the source mod file:
    [​IMG]

    //breast expansion plus v2.1 by sby
    //belly movieclip by Dante, the dark prince
    import flash.net.URLRequest;
    import flash.geom.Point;
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.utils.Dictionary;
    import flash.events.MouseEvent;
    import flash.net.FileReference;

    // Members
    {
    var modSettingsLoader:Class;
    var setsettingsfilename = "MakeHerCum_V1.0";

    var main;
    var g;
    var her;
    var cMC:MovieClip = new MovieClip();

    var mytext:TextField = new TextField;
    var mytext2:TextField = new TextField;
    var sState:Boolean = false;
    var CIMmin:Number = 100;
    var CIMmax:Number = 0;

    var modActive:int = 1;
    var strandr; ////
    var madecumstrands:int = 0; ////
    var cumgendelay:Number = 0; ////

    var cumgenAnchorDelay:Number = 5;
    var cumgenDelayAmount:int = 10;
    var strandXOffsetFromPenisOrigin:Number = 16;
    var strandYOffsetFromPenisOrigin:Number = 0;
    var cumgenRandomMassMult:Number = 0.2;
    var cumgenMinMassBonus:Number = 0.05;

    var showdebuginfo:int=1;

    //local reusables
    var j:Number = 0;
    var tempp:Number;
    var tempp2:Number;
    var i:Number = 0;
    var penisDirection:Point;
    var penisAngleRadians:Number=0;
    var penisAngleDegrees:Number=0;
    var currentSpurtVelocity:Number=0;
    var spurting:Boolean=false;
    var isCumming:Boolean=false;
    //

    var mypage;

    var debugmenucreated:Boolean = false;
    }

    // My Members
    {
    // General cum settings
    var averageSpurtDelay:Number=10;
    var maxDeviationSpurtDelay:Number=3;
    var currentSpurtDelay:Number=0;

    var averageSpurtLength:Number=3;
    var maxDeviationSpurtLength:Number=1;
    var currentSpurtLength:Number=0;

    var maxDeviationCumAngle=0;
    var currentDeviationCumAngle:Number=0;

    var averageSpurtVelocity:Number=30;
    var maxDeviationSpurtVelocity:Number=5;

    var cumWhenHeCums:Number=1;
    var cumWithKey:Number=1;
    var cumKey:Number=78;
    var timeToCumAfterKeyPress:Number=100;
    var currentTimeAfterCumKeyPress:Number=0;
    }

    /**************************************************************************/

    // Init
    {
    function initl(l) //boiler plate setup, docheck for each frame, options file selected
    {
    main = l;
    g = l.g;
    her = l.her;

    var msl = new modSettingsLoader(setsettingsfilename,onSettings);
    msl.addEventListener("settingsNotFound",onFail);
    }

    function onSettings(e) //load options file, set variables, repok variables
    {
    //main.updateStatus("insetting");
    tempp = 0;
    var dict:Dictionary = e.settings;
    for (var key:Object in dict)
    {
    var val:Object = dict[key];
    switch (key)
    {

    case "statusupdateforthislastline" :
    if(val == 1)
    {
    main.updateStatus("reached end of settings doc,"+tempp+" errors");
    }
    break;

    default :
    if ( this.hasOwnProperty( key ) ) //checks if variable exists
    {
    this[key] = Number(val); //replaces all switch statement variable assignments
    //main.updateStatusCol(key + " = "+ val,"#00ff00"); //replaces all switch statement updatestatus notifications, comment line to hide
    //main.monitorDebug(key+": ",this,key);
    }
    else
    {
    main.updateStatusCol("invalid setting: "+key,"#FF0000"); //displays if there is a setting in the settings file that does not match any variables
    tempp++;
    }
    break;
    }
    }

    initstuff();
    main.updateStatus("all settings ran through, "+tempp+" errors");
    }

    function onFail(e)
    {
    main.updateStatusCol(e.msg,"#FF0000");
    initstuff();
    }

    function manualCum()
    {
    currentTimeAfterCumKeyPress = timeToCumAfterKeyPress;
    }

    function initstuff()
    {
    // ROZTOOW
    // Register key
    if(cumWithKey == 1)
    {
    main.registerFunction(manualCum, cumKey);
    }

    if(showdebuginfo==1)
    {
    createdebugmenu();
    }

    // ROZTOOW
    // Modpage menu
    mypage = new MovieClip();

    var mymodbut1 = new MovieClip();
    mymodbut1.graphics.beginFill(0x00FF00);
    mymodbut1.graphics.drawRect(0, 0 ,135, 25);
    mymodbut1.graphics.endFill();
    mymodbut1.x = 0;
    mymodbut1.y = 0;

    var myText1:TextField = new TextField();
    myText1.mouseEnabled = false;
    myText1.selectable = false;
    myText1.text = "breast expansion 2.1"
    myText1.height = 30;
    myText1.width = 140;

    mymodbut1.addChild(myText1);
    mypage.addChild(mymodbut1);

    var myatext:Array = new Array("puke");
    var mya:Array = new Array(clickHandlerpuke,toggledebug);
    var numboxes = mya.length - 1;
    for(i = 0; i < 1; i++)
    {
    for(j = 0; j < 0; j++)
    {

    var mymodbut2 = new MovieClip();

    mymodbut2.graphics.beginFill(0x00FF00);
    mymodbut2.graphics.drawRect(0, 0 ,30, 30);
    mymodbut2.graphics.endFill();
    mymodbut2.x = j*35;
    mymodbut2.y = i*35 + 35;
    //mymodbut2.width = 30;
    //mymodbut2.height = 30;

    var myText:TextField = new TextField();
    myText.mouseEnabled = false;
    myText.selectable = false;
    myText.text = myatext[i*4 + j]
    myText.height = 30;
    myText.width = 30;

    mymodbut2.addChild(myText);
    mymodbut2.addEventListener(MouseEvent.CLICK,mya[i*4 + j]);

    mypage.addChild(mymodbut2);
    if(i*4 + j >= numboxes)
    {
    i=100;
    j=100;
    }
    }
    }
    main.addPage(mypage,false);

    cMC.addEventListener(Event.ENTER_FRAME, doCheck);
    main.unloadMod();
    main.registerUnloadFunction(doUnload);
    }

    /**************************************************************************/

    function clickHandlerpuke(event:MouseEvent):void {
    // ROZTOOW
    // Add click event for mod menu button click
    }

    function toggledebug(event:MouseEvent):void {

    if(showdebuginfo == 0)
    {
    showdebuginfo = 1;
    createdebugmenu();
    }
    else
    {
    showdebuginfo = 0;
    mytext.visible = false;
    mytext2.visible = false;
    }
    }
    }

    /****************************************************************************/

    // Update
    {
    function doCheck(e) //master function called every frame
    {
    // Check if we should instantly return
    if (!modActive)
    return;

    if(!g.gamePaused)
    {
    currentTimeAfterCumKeyPress = Math.max(0, currentTimeAfterCumKeyPress - 1);

    cumfrombreastsf();
    }
    showdebuginfof();

    }

    // ROZTOOW
    function cumfrombreastsf()
    {
    // Determine wether she is cumming or not
    isCumming = (her._penisControl.currentPenisID != 0) && ((cumWhenHeCums && g.him.ejaculating) || (currentTimeAfterCumKeyPress > 0));

    if (!isCumming)
    {
    spurting = false;
    return;
    }

    penisAngleDegrees = -(-90 + g.her.rotation + g.her.torso.rotation + her._penisControl.penisContainer.rotation);
    penisAngleDegrees += 10 + currentDeviationCumAngle;
    penisAngleRadians = (penisAngleDegrees * 3.14159265359) / 180;
    penisDirection = new Point(Math.sin(penisAngleRadians), Math.cos(penisAngleRadians));

    // Check if we want to start a new spurt
    if (!spurting && currentSpurtDelay == 0)
    {
    strandr = g.strandControl.newCumStrand(new Point(strandXOffsetFromPenisOrigin, strandYOffsetFromPenisOrigin), her._penisControl.penis);//torso.midLayer.rightBreast.nipple);
    strandr.myGravity = g.gravity;
    currentSpurtLength = averageSpurtLength + Math.random() * maxDeviationSpurtLength - Math.random() * maxDeviationSpurtLength;
    currentSpurtDelay = averageSpurtDelay + Math.random() * maxDeviationSpurtDelay - Math.random() * maxDeviationSpurtDelay;
    currentDeviationCumAngle = Math.random() * maxDeviationCumAngle - Math.random() * maxDeviationCumAngle;
    currentSpurtVelocity = averageSpurtVelocity + Math.random() * maxDeviationSpurtVelocity - Math.random() * maxDeviationSpurtVelocity;
    penisAngleDegrees += currentDeviationCumAngle;
    cumgendelay = cumgenAnchorDelay + 1; //need at least 1
    spurting = true;


    her._penisControl.angSpeed -= 1.5;
    }

    // Check if we are spurting
    if (spurting)
    {
    cumgendelay = Math.max (0, cumgendelay - 1);
    if(cumgendelay == 0)
    {
    strandr.insertLink(new Point(penisDirection.x * currentSpurtVelocity, penisDirection.y * currentSpurtVelocity), cumgenDelayAmount, g.randomCumMass() * cumgenRandomMassMult + cumgenMinMassBonus);
    }
    }

    // Check if we want to stop spurting
    if (spurting && currentSpurtLength == 0)
    {
    strandr.detachSourceLink(new Point(penisDirection.x * currentSpurtVelocity, penisDirection.y * currentSpurtVelocity), 0);
    //strandr.detachBottom();
    spurting = false;
    }

    // Update timers
    if (!spurting)
    {
    currentSpurtDelay = Math.max(0, currentSpurtDelay - 1);
    }
    else
    {
    currentSpurtLength = Math.max(0, currentSpurtLength - 1);
    }
    }
    function showdebuginfof()
    {
    if(showdebuginfo==1)
    {
    if(!g.gamePaused)
    {
    mytext.visible = true;
    mytext2.visible = true;

    mytext.text =
    "\nx: "+penisDirection.x+
    "\ny: "+penisDirection.y+
    "\nrotation: "+penisAngleRadians+
    "\ncurrentSpurtDelay: "+currentSpurtDelay+
    "\nspurting: "+spurting;
    }
    else
    {
    mytext.visible = false;
    mytext2.visible = false;
    }
    }
    }
    }


    // Rest
    {
    function createdebugmenu()
    {
    if(!debugmenucreated)
    {
    debugmenucreated=true;
    main.stage.addChild(mytext);
    mytext.height = 800;
    mytext.width = 300;
    mytext.mouseEnabled = false;
    mytext.selectable = false;
    main.stage.addChild(mytext2);

    mytext2.height = 800;
    mytext2.width = 300;
    mytext2.mouseEnabled = false;
    mytext2.selectable = false;
    mytext2.x = main.stage.stageWidth - mytext2.width;
    var format:TextFormat = new TextFormat();
    format.align = TextFormatAlign.RIGHT;
    mytext2.defaultTextFormat = format;
    }
    }

    function doUnload() //removes docheck from frame event
    {
    main.clearDebug();

    cMC.removeEventListener(Event.ENTER_FRAME, doCheck);
    if(showdebuginfo==1)
    {
    main.stage.removeChild(mytext);
    main.stage.removeChild(mytext2);
    }
    }
    }

    and

    modActive=1
    cumWhenHeCums=1
    cumWhitKey=4
    timeToCumAfterKeyPress=2
    averageSpurtDelay=15
    maxDeviationSpurtDelay=5
    averageSpurtLength=10
    maxDeviationSpurtLength=5
    maxDeviationCumAngle=10
    averageSpurtVelocity=25
    maxDeviationSpurtVelocity=5
    cumgenRandomMassMult=0.2
    cumgenMinMassBonus=0.05

    Thanks for the help ;D
     
  2. ZakkStar

    ZakkStar Potential Patron

    Joined:
    Feb 16, 2015
    Messages:
    3
    Likes Received:
    0
    solved thanks :)
     
  3. Moka Mcdowell

    Moka Mcdowell Potential Patron

    Joined:
    Dec 15, 2013
    Messages:
    12
    Likes Received:
    0
    So do i copy and paste this in the make her cum text, or what?
     
  4. sby

    sby Club Regular Content Creator

    Joined:
    Sep 11, 2012
    Messages:
    1,372
    Likes Received:
    110
    i am guessing that adjusting the setting "strandXOffsetFromPenisOrigin" could fix this problem
    maybe cranking it to 230