• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Script geht von alleine aus

Hallo Habe das Problemm das ich eine Waffe baue und das Script anims sich von selber auf "nicht läuft" stellt nach dem ich die Waffe ein zweites mal angezogen haben Zumindest läuft das script dann nicht mehr und wird von den Main Script somit nicht gefunden.

Main Script

PHP:
string ownerkey;
string animreload = "animreload"; 
integer drawn;
integer initialammo = 80;
integer safe;
integer x = 1;
integer permissions;
integer ammocount=0; 
integer auto= 1;
integer laser;
integer scope; 
integer supressor;
integer dual;
integer effects= TRUE;
string silencerset= "silenceroff";
string scopeset= "scopeoff";
string laserset = "laseroff";
string effectset = "fx";
string animsinglereload = "animsinglereload";
integer secondgun;
integer velo= 175;
string bullettype = "MTA.Bullet.Damage";
string firesound="b1cb99ae-0f7b-e7dd-01f2-254c7a930c20";
float sd = 0.0225;
float data;
reloader()
{
 llTriggerSound("4d0b519d-1961-ea78-f7e9-7b8b7f972bc5", 1.0);
 llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
 if(dual == TRUE){
              llOwnerSay("::Reloading:.");
              llSay(-90019002, ownerkey + "reloading");
              llStartAnimation(animreload);
              data = llGetRegionTimeDilation();
              if(data < .75)sd = 0.01;
              else sd = 0.0225;
              llSleep(4);
              ammocount = 0;
              llOwnerSay("::Ready::");
              }
  if(dual == FALSE){ 
              llOwnerSay("::Reloading:.");
              llStartAnimation(animsinglereload);
              llSay(-90019002, ownerkey + "reloading");
              data = llGetRegionTimeDilation();
              if(data < .75)sd = 0.01;
              else sd = 0.0225;
              llSleep(4);
              ammocount = 0;
              llOwnerSay("::Ready::");    
}}
sling () 
{
    llSetObjectDesc((string)velo + "," + (string)bullettype);
    llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
    llSay(-90019002, ownerkey + "sling");  
    llSay(-13371987, ownerkey +"sling");
    llSay(-13376969, ownerkey + "sling");
    llSay(-13371337, ownerkey + "sling");
    llSetScriptState("Anims",FALSE);
    llStopAnimation("animstanding");
    llStopAnimation("animsinglehold");
    llStopAnimation("animaim");
    llStopAnimation("animsingleaim");
    llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES); 
    llReleaseControls();
}
weaponscheck()
{
    llSay(-90019002, ownerkey + "onefistortwo");
    llSleep(.75);
    llSay(-90019002, ownerkey + "onefistortwo");
    llSleep(.75);
    llSay(-90019002, ownerkey + "onefistortwo");
    
}
click()
{ 
  llSetObjectDesc((string)velo + "," + (string)bullettype);
  llOwnerSay((string)bullettype+" Armed.");
  llTriggerSound("35d1bd88-59d7-59d9-e2ef-4eaa1097335c", 1);
}      
attachmentcheck()
{           
             
              if(laserset == "laseroff")
               {
                   llMessageLinked(LINK_SET,-5,"loff",NULL_KEY);
                   laser = FALSE;
                }
                if(silencerset == "silenceroff")
               {
                   llMessageLinked(LINK_SET,-5,"silenceroff",NULL_KEY);
                   supressor = FALSE;
                   firesound="b1cb99ae-0f7b-e7dd-01f2-254c7a930c20";
                   
                }
                if(scopeset == "scopeoff")
               {
                   llMessageLinked(LINK_SET,-5,"soff",NULL_KEY);
                   scope = FALSE;
                }
                if(effectset == "fx")
               {
                   llMessageLinked(LINK_SET,-5,"fxon",NULL_KEY);
                   effects = TRUE;
                }
                 if(effectset == "nofx")
                                {
                   llMessageLinked(LINK_SET,-5,"fxoff",NULL_KEY);
                   effects = TRUE;
                }
                llSetObjectDesc((string)velo + "," + (string)bullettype);

           
}
default
{
    state_entry(){  
    ownerkey = llGetOwner();
    ammocount=0;
    sling();
    llListen(0, "", llGetOwner(), "");
    llListen(-69696666, "",NULL_KEY, "");
    weaponscheck();
    }
    on_rez(integer Benny_lava){  
    ownerkey = llGetOwner();
    llOwnerSay("Type Help For A Note Card.");
    llSay(-90019002,ownerkey +"onefistortwo");
    llStopAnimation("animstanding");
    llOwnerSay("Welcome "+(string)llKey2Name(ownerkey));
    sling();
    }
     changed(integer change){
        if (change & CHANGED_TELEPORT)ammocount = 0;//silent reload on teleport
        if (change & CHANGED_OWNER)llResetScript();
       }
    run_time_permissions(integer permissions)
    {
        if (permissions & PERMISSION_TAKE_CONTROLS)
        {
            llTakeControls(CONTROL_ML_LBUTTON, TRUE, FALSE);
             permissions = 1;
        }
    }
      attach(key i)
    {    
     sling();
    }
    
       control(key uid, integer held, integer pressed) 
   {
        if (CONTROL_ML_LBUTTON & ( held) && auto == TRUE) 
        {
            if (ammocount <= initialammo)
            {
              x = 0;while(x <4)
             {x++;
             llResetOtherScript((string)x);
             llMessageLinked(LINK_SET, 10, "fire", NULL_KEY);
             ammocount++;
             llTriggerSound(firesound,1.0);
             if(x==5)x=1;
             llSleep(sd);
            }
        }
            else if(ammocount >= initialammo)reloader();
        }
        
        else if (CONTROL_ML_LBUTTON & (held&pressed) && auto == FALSE) 
        {
            if (ammocount <= initialammo)
            {
              x++;
             if(x==5)x=1;
             llResetOtherScript((string)x);
             llMessageLinked(LINK_SET, 10, "fire", NULL_KEY);
             ammocount++;
             llTriggerSound(firesound,1.0);
            }
            else if(ammocount >= initialammo)reloader();
            
        }
       
    
}listen(integer channel,string name,key id,string m)
    
      {ownerkey = llGetOwner(); 
      m= llToLower(m);
      integer msg_length = llStringLength (m);
      {
             ownerkey = llGetOwner();
             if(m == ownerkey + "twofistedaction")secondgun = TRUE;
                     
          if(m == ownerkey + "baibai")
          { 
          llMessageLinked(LINK_SET,-5,"single",NULL_KEY);
          llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS); 
          secondgun = FALSE;
          dual = FALSE;             
          }           
             
             if(m == "draw"){
                llSetScriptState("Anims", TRUE);
                llSay(-90019002,ownerkey +"onefistortwo");
                ownerkey= llGetOwner();
                drawn = TRUE;
                llSay(-13371337, ownerkey + "draw");
                llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
                llTriggerSound("e8fbcc3a-87a6-367b-2110-4421912a58e0", 1);
                ammocount = 0;
                attachmentcheck();
                llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS);   
                 if(secondgun == TRUE){
                 dual=TRUE;
                 llSay(-90019002,ownerkey+"double" +"|"+ silencerset + "|" + scopeset +
                                                     "|" + laserset + "|" + effectset);
                 llMessageLinked(LINK_SET,-5,"draw",NULL_KEY);
                 }
            }
            if(secondgun == FALSE)llMessageLinked(LINK_SET,-5,"single",NULL_KEY);
               
             if( m == "dual"){
             llSay(-90019002,ownerkey +"onefistortwo");
             llSay(-13371337, ownerkey + "draw");
             if(secondgun == TRUE){
             dual=TRUE;
             llSay(-90019002,ownerkey+"double" +"|"+ silencerset + "|"
                       + scopeset + "|" + laserset + "|" + effectset); 
             
             drawn = TRUE;  
             llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS);   
             llSetScriptState("Anims", TRUE);
             llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
             llMessageLinked(LINK_SET,-5,"draw",NULL_KEY);
             llMessageLinked(LINK_SET,-5,"dual",NULL_KEY);
             llTriggerSound("9b161c9c-36d9-ad55-be36-907058fc4404", 1);
             ammocount = 0;
             attachmentcheck();
             } 
             else{
             llOwnerSay("Attach the Left Gun to Enable Dual Wield");
             }}
        
          if(m== "single")
          { 
          drawn =1;
          dual = 0;
          llSay(-13371337, ownerkey + "draw");
          llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS);   
          llSetScriptState("Anims", TRUE);
          llMessageLinked(LINK_SET,-5,"single",NULL_KEY);
          llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
          llSay(-90019002, ownerkey + "single");
          llTriggerSound("e8fbcc3a-87a6-367b-2110-4421912a58e0", 1);
          attachmentcheck();
          } 
         {
          if(drawn == TRUE){ 
                if(m== "sling"){
                    if(secondgun == TRUE){   
                drawn = 0;
                llMessageLinked(LINK_SET,-5,"sling",NULL_KEY);
                llTriggerSound("9b161c9c-36d9-ad55-be36-907058fc4404", 1);
                llSleep(2.0);
                sling();
                llSay(-13371337, ownerkey + "sling");  
               
            }
            else{
                drawn = 0;
                llMessageLinked(LINK_SET,-5,"singlesling",NULL_KEY);
                llSay(-13371337, ownerkey + "sling");
                llTriggerSound("9b161c9c-36d9-ad55-be36-907058fc4404", 1);
                llSleep(2.5);
                sling();
                llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES); 
                llReleaseControls(); 
            }
         } 
                
            if (llGetSubString (m, 0, 3) == "vel."){
            integer tmp = (integer)llStringTrim(llGetSubString (m, 4, msg_length), STRING_TRIM_HEAD);
            velo = tmp;
            llSetObjectDesc((string)velo + "," + (string)bullettype);
            llOwnerSay ("Velocity set to " + (string)velo);
            }
          
             if(m == "nofx"){
             llOwnerSay("Armed, Effects Off");
             llMessageLinked(LINK_SET, -10 , "fxoff", NULL_KEY);
             llSay(-90019002, ownerkey + "nofx");
             effectset = "nofx";
            }
             if(m == "fx"){
             llOwnerSay("Armed, Effects Enabled.");
             llMessageLinked(LINK_SET, -10 , "fxon", NULL_KEY);
             effectset = "fx";
             llSay(-90019002, ownerkey + "fx");
            }
             if(m == "db"){     
            bullettype = "MTA.Bullet.Damage";
            click();
            }
            if(m == "tb"){
            bullettype = "MTA.Bullet.Training";
            click();
            }
            if(m == "ldb"){
            bullettype = "MTA.Lagless.Damage";
            click();
            }
            if(m == "help"){
            llOwnerSay("Lord Knows You Need it.");
            llGiveInventory(llGetOwner(),"Help Note");
            } 
            if(m == "nosafe"){  
            llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS);
            llOwnerSay("Safety off");
            safe = 0;
            }
           if(m == "safe"){   
           llOwnerSay("Safety On");
           safe = 1;
           llReleaseControls();
           }
          if(m == "r")reloader();
          if(m == "a"){
          auto = 1;
          llSay(-90019002, ownerkey+"auto");
          llOwnerSay("Fully Automatic firemode Selected.");
          }                
          if(m == "s"){
          auto = 0;
          llSay(-90019002, ownerkey+"semi");
          llOwnerSay("Semi-Auto Fire Mode Selected.");
          }
          if(m == "las"){
            if(laser == FALSE){
            laser = TRUE;
            llMessageLinked(LINK_SET,-5,"lon",NULL_KEY);
            laserset = "laseron";
            llTriggerSound("a6c35aaa-538f-bc06-26d8-da9c80183582",1);
            llOwnerSay("Laser Activated...");
            llSay(-90019002, ownerkey +"laseron");
            }
            else if(laser == TRUE){
            laser = FALSE;
            llMessageLinked(LINK_SET,-5,"loff",NULL_KEY);
            llTriggerSound("a6c35aaa-538f-bc06-26d8-da9c80183582",1);
            laserset= "laseroff";
            llOwnerSay("Laser Deactivated...");
            llSay(-90019002, ownerkey +"laseroff");
            }
    }
            if(m == "scp"){ 
            if(scope == FALSE){
            scope = TRUE;
            scopeset="scopeon";
            llMessageLinked(LINK_SET,-5,"son",NULL_KEY);
            llTriggerSound("a6c35aaa-538f-bc06-26d8-da9c80183582",1);
            llOwnerSay("Scope Attached...");
            llSay(-90019002, ownerkey +"scopeon");
            }
            else if(scope == TRUE){
            scope = FALSE;
            scopeset="scopeoff";
            llMessageLinked(LINK_SET,-5,"soff",NULL_KEY);
            llTriggerSound("a6c35aaa-538f-bc06-26d8-da9c80183582",1);
            llOwnerSay("Scope Detached...");
            llSay(-90019002, ownerkey +"scopeoff");
            }
        }
          if(m == "sil"){
          if(supressor == FALSE){
            supressor = TRUE;
            llMessageLinked(LINK_SET,-5,"silenceron",NULL_KEY);
            silencerset="silenceron";
            firesound="f8b7c145-9a23-fff8-f040-56deae5a8d6b";
            llSetObjectDesc((string)velo + "," + (string)bullettype);
            llTriggerSound("4e7fdb77-8f02-3f6a-98cd-7464c66b8c83",1);
            llOwnerSay("Going quiet...");
            llSay(-90019002, ownerkey +"silenceron");
            }
            else if(supressor == TRUE){
            supressor = FALSE;
            silencerset="silenceroff";
            firesound="b1cb99ae-0f7b-e7dd-01f2-254c7a930c20";
            llMessageLinked(LINK_SET,-5,"silenceroff",NULL_KEY);
            llTriggerSound("287d2636-dff6-40c1-132f-871c841626d7",1);
            llSetObjectDesc((string)velo + "," + (string)bullettype);
            llOwnerSay("Going loud...");
            llSay(-90019002, ownerkey +"silenceroff");
            }
           } 
         }
       }
     }  
} 
}

Script Anims (welches dann aus ist)

PHP:
string aim = "animaim"; 
string stand = "animstanding";
string sling = "animsling";
string draw = "animdraw";
string singlestand = "animsinglehold";
string singleaim = "animsingleaim";


integer getinfo ;
integer on;
integer dual;
default
{
    state_entry()
    {
        on = TRUE;
        llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
        llSetTimerEvent(1);
    }
     on_rez(integer bennylava)
    {   
      llResetScript();
    }
    attach(key id)
    {
        if(id == NULL_KEY)
        {
            on = FALSE;
            
            llStopAnimation(aim);
            llStopAnimation(stand);
            llStopAnimation(sling);
            llStopAnimation(draw); 
            llStopAnimation(aim);
            state off;
        }
        else
        {
            on = TRUE;
        }
    }
    run_time_permissions(integer perm)
    {
        llSetTimerEvent(1);
    }
    timer()
    { 
    llSetTimerEvent(0);
    if(getinfo == FALSE)return;
    {  
        if(on && dual == 1  && llGetPermissions()== PERMISSION_TRIGGER_ANIMATION)
        {  
            if(llGetAgentInfo(llGetOwner()) & AGENT_MOUSELOOK)
            {
                llStopAnimation(stand);
                llStartAnimation(aim);
            }
           
             
            else
            {
                llStopAnimation(aim);
                llStartAnimation(stand);
            }
            
    }


if(on && dual ==0  && llGetPermissions()== PERMISSION_TRIGGER_ANIMATION)
        {   
            if(llGetAgentInfo(llGetOwner()) & AGENT_MOUSELOOK)
            {
                llStopAnimation(singlestand);
                llStartAnimation(singleaim);
            }
           
             
            else
            {
                llStopAnimation(singleaim);
                
                llStartAnimation(singlestand);
            }
            
    }
    
}
llSetTimerEvent(1);
}
link_message(integer sender_num, integer num, string str, key id)
    {
     
     if(num = -5)
     {   
        if (str == "sling")
        {   getinfo = TRUE;
            llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
            llSetTimerEvent(1);
            llStopAnimation(stand); 
            llStopAnimation(aim);
            llStopAnimation(draw);
            llStopAnimation(singlestand);
            llStopAnimation(singleaim);
            llStopAnimation(sling);
            llStopAnimation(stand);
            llStopAnimation("animstanding");
            llStartAnimation("animsling");
            llStopAnimation("animstanding");
           on = FALSE;
            
         }
          if (str == "singlesling")
        {   getinfo = TRUE;
            llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
            llSetTimerEvent(1);
            llStopAnimation(stand); 
            llStopAnimation(aim);
            llStopAnimation(draw);
            llStopAnimation(singlestand);
            llStopAnimation(singleaim);
            llStopAnimation(sling);
            llStopAnimation(stand);
            llStopAnimation("animstanding");
            llStopAnimation("animstanding"); 
           on = FALSE;
            
         }
          if (str == "dual")
        {   
           
             dual = 1;
            getinfo = 1;
            on = 1;
            llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
          llStopAnimation("animsinglehold");
          llStopAnimation("animsingleaim");
         }
          if (str == "single")
        {  
          llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
          llStopAnimation("animstanding");
          llStopAnimation("animaim");
          llStartAnimation("animsinglehold");
            dual = 0;
            getinfo = 1;
            on = 1;
            
         }
      
        if (str == "draw")
        { on = TRUE;
            
            dual = 1;
            llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
            llStopAnimation("animsinglehold");
            llStartAnimation("animdraw");
            llSleep(.7);
            getinfo = TRUE;
            state default;
           
        }
    }
}
}
state off
{
    attach(key id)
    {
        if(id != NULL_KEY)
        {
            state default;
        }
    }
}

bin leider kein Scripter und hab so gut wie keine Ahnung von Scripten
 
Also hier 2 Scripte dieser Länge zu posten und nach Fehlern zu fragen hat schon was. Da mich Waffenscripte aber schon immer mal interessiert haben, hab ich mal reingeschaut. Das Anims-Script wird immer beim Anziehen ausgeschaltet, auch beim ersten Anziehn. Das ist ein gewünschtes Verhalten. Daher ist wohl eher die Frage, bei welcher Aktion wird es dann nicht wieder angeschaltet? Wann genau bekommst du welche Fehlermeldung? Falls du mir die Waffe inworld gibst, würde ich es mir auch mal genauer anschauen.

Zwei Fehler gibts schon mal vorab: if(num = -5) muss if(num == -5) heissen. Dann wird noch "ownerkey = llGetOwner();" unnötiger Weise inflationär verwendet, um dann später den "ownerkey" doch nicht zu verwenden, sondern sicherheitshalber nochmal "llGetOwner()" aufzurufen, lach. Ursache war wohl ein kleines Fehlerchen gleich in der ersten Zeile: "string ownerkey;" muss natürlich "key ownerkey" heissen. Insgesamt würde ich vermuten, dass an den Scripten schon viele Leute rumgepfuscht haben, vorausgesetzt, der ursprüngliche Autor wusste was er tat.
 
Zuletzt bearbeitet:
Apropos: hat jemand für mich ein kleines Beispielscript für eine Gormeterwaffe? Wäre super lieb und ich würde mich ewig dankbar zeigen ;-)
 
Lol nein ich will nicht scripten lernen ganz und gar nicht. habe nun raus gefunden der typ von wem ich das script habe hat es selber nur gekauft und weiter verkauf.
@bitter ich mach mal alles auf in der waffe und schicks dir rüber.
 

Users who are viewing this thread

Zurück
Oben Unten