Iceshaker Hotshot
Nutzer
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
Script Anims (welches dann aus ist)
bin leider kein Scripter und hab so gut wie keine Ahnung von Scripten
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