Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string gAnimIdle = "[RFL_HOLD]";
- string gAnimAim = "[RFL_AIM]";
- string gAnimRunAim = "Anim_RunAim";
- string gAnimRun = "[RFL_RUN]";
- string gAnimWalkAim = "Anim_WalkAim";
- string gAnimWalk = "[RFL_WALK]";
- string gAnimJump = "[RFL_JUMP]";
- string gAnimDefault = "Anim_Default";
- integer reloading = 0;
- string gAnimCrouch = "[RFL_CROUCH]";
- string gAnimCrouchWalk = "[RFL_CWALK]";
- integer gMouselook;
- string gLastAnimation;
- integer gStarted = FALSE;
- key gOwner;
- fStopCertainAnimations()
- {
- llStopAnimation(gAnimRun);
- llStopAnimation(gAnimIdle);
- llStopAnimation(gAnimAim);
- llStopAnimation(gAnimJump);
- llStopAnimation(gAnimWalk);
- llStopAnimation(gAnimCrouch);
- llStopAnimation(gAnimCrouchWalk);
- }
- default
- {
- state_entry()
- {
- if(llGetAttached() != 0)
- {
- llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
- }
- gOwner = llGetOwner();
- }
- attach(key id)
- {
- if(llGetAttached() != 0)
- {
- llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
- }
- }
- on_rez(integer start_param)
- {
- if(gOwner != llGetOwner())
- {
- llResetScript();
- }
- else
- {
- if(llGetAttached() != 0)
- {
- llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
- }
- }
- }
- link_message(integer sender_num, integer num, string str, key id)
- {
- if(str == "reload")
- {
- llStartAnimation("[RFL_RELOAD]");
- reloading = 1;
- llSetTimerEvent(0.1);
- }
- if(str == "reloaded")
- {
- reloading = 0;
- llSetTimerEvent(0.1);
- }
- if(str == "draw")
- {
- llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
- llSetTimerEvent(0.1);
- // llStartAnimation(gAnimDefault);
- gLastAnimation = "";
- gStarted = TRUE;
- }
- if(str == "sling")
- {
- llSetTimerEvent(0);
- gStarted = FALSE;
- fStopCertainAnimations();
- // llStopAnimation(gAnimDefault);
- }
- }
- timer()
- {
- string newAnimation = llGetAnimation(llGetOwner());
- integer agentInfo = llGetAgentInfo(llGetOwner());
- integer gMouselookGuess;
- if(agentInfo & AGENT_MOUSELOOK)
- {
- gMouselookGuess = TRUE;
- }
- else
- {
- gMouselookGuess = FALSE;
- }
- if(gLastAnimation != newAnimation|gMouselookGuess != gMouselook)
- {
- llSetTimerEvent(0);
- fStopCertainAnimations();
- if(newAnimation == "Standing")
- {
- if(gMouselookGuess == TRUE)
- { if(reloading)
- { llStopAnimation(gAnimAim); return;}
- else{
- llStartAnimation(gAnimAim);
- }
- }
- else
- { if(reloading)
- { llStopAnimation(gAnimIdle); return; }
- else{
- llStartAnimation(gAnimIdle);
- }
- }
- }
- else if(newAnimation == "Running")
- {
- if(gMouselookGuess == TRUE)
- {
- if(reloading)
- { llStartAnimation(gAnimRun); return;}
- else{
- llStopAnimation(gAnimIdle);
- llStartAnimation(gAnimAim);
- llStartAnimation(gAnimRun);
- }
- }
- else
- { if(reloading)
- { llStartAnimation(gAnimRun);return;}
- else{
- llStopAnimation(gAnimAim);
- llStartAnimation(gAnimIdle);
- llStartAnimation(gAnimRun);
- }
- }
- }
- else if(newAnimation == "Walking")
- {
- if(gMouselookGuess == TRUE)
- {
- if(reloading)
- { llStartAnimation(gAnimWalk);return;}
- else{
- llStopAnimation(gAnimIdle);
- llStartAnimation(gAnimAim);
- llStartAnimation(gAnimWalk);
- }
- }
- else
- { if(reloading)
- { llStartAnimation(gAnimWalk);return;}
- else{
- llStopAnimation(gAnimAim);
- llStartAnimation(gAnimIdle);
- llStartAnimation(gAnimWalk);
- }
- }
- }
- if(newAnimation == "Sitting")
- {
- gMouselook = TRUE;
- llStartAnimation(gAnimIdle);
- }
- if(newAnimation == "Sitting on Ground")
- { if(reloading)
- { llStartAnimation(gAnimCrouch);}
- else{
- gMouselook = TRUE;
- llStartAnimation(gAnimCrouch);
- llStartAnimation(gAnimAim);
- }
- }
- if(newAnimation == "Crouching")
- { if(reloading)
- { llStartAnimation(gAnimCrouch);}
- else{
- gMouselook = TRUE;
- llStartAnimation(gAnimCrouch);
- llStartAnimation(gAnimAim);
- }
- }
- if(newAnimation == "CrouchWalking")
- {
- gMouselook = TRUE;
- // llStartAnimation(gAnimCrouchWalk);
- llStartAnimation(gAnimAim);
- }
- if(newAnimation == "Jumping")
- { if(reloading)
- { llStartAnimation(gAnimJump);}
- else{
- llStartAnimation(gAnimJump);
- llStartAnimation(gAnimAim);
- }
- }
- if(newAnimation == "PreJumping")
- { if(reloading)
- { }
- else{
- llStartAnimation(gAnimAim);
- }
- }
- if(newAnimation == "Landing")
- { if(reloading)
- { }
- else{
- llStartAnimation(gAnimAim);
- }
- }
- else if(newAnimation == "Turning Right")
- {
- if(gMouselookGuess == TRUE)
- {
- if(reloading)
- { }
- else{
- llStopAnimation(gAnimIdle);
- llStartAnimation(gAnimAim);
- }
- }
- else
- { if(reloading)
- { }
- else{
- llStopAnimation(gAnimAim);
- llStartAnimation(gAnimIdle);
- }
- }
- }
- else if(newAnimation == "Turning Left")
- {
- if(gMouselookGuess == TRUE)
- {
- if(reloading)
- { }
- else{
- llStopAnimation(gAnimIdle);
- llStartAnimation(gAnimAim);
- }
- }
- else
- { if(reloading)
- { }
- else{
- llStopAnimation(gAnimAim);
- llStartAnimation(gAnimIdle);
- }
- }
- }
- gLastAnimation = newAnimation;
- gMouselook = gMouselookGuess;
- llSetTimerEvent(0.1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement