Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- list anims = ["Slash1","Slash2"];
- integer sheath;
- list swings = ["eff009eb-ea42-b520-8b9a-0a3f5d75370d","2fdd9c89-2803-b303-50e3-7072e94746da","fef93985-2118-3db4-ec5d-ce2a67cbc967"];
- list hits = ["162391e4-436e-9b74-156c-87b3bab7d31f","507673bf-ac2c-7bbb-eb13-017533d1a730","046af3e0-b1df-fbdd-a131-16eeaa1eb600"];
- float power = 4;
- default
- {
- state_entry()
- {sheath = TRUE;
- llRequestPermissions(llGetOwner(),PERMISSION_OVERRIDE_ANIMATIONS|PERMISSION_TAKE_CONTROLS|PERMISSION_TRIGGER_ANIMATION);
- llListen(1,"",llGetOwner(),"");
- }
- attach(key k) {
- if(k != NULL_KEY) {
- llResetScript();
- } else {
- }
- }
- run_time_permissions(integer perm) {
- if(perm) {
- llTakeControls(CONTROL_ML_LBUTTON,TRUE,FALSE);
- llTakeControls(CONTROL_FWD, TRUE, TRUE);
- }
- }
- control(key id, integer level, integer edge) {
- if (h & CONTROL_FWD && llGetAgentInfo(llGetOwner()) & AGENT_IN_AIR){return;} {
- if(sheath == TRUE)
- return;
- vector impulse = llRot2Fwd(llGetRot());
- impulse = <impulse.x * power, impulse.y * power, 0 * power>;
- llApplyImpulse(impulse, FALSE);
- return;
- if(h&c&CONTROL_ML_LBUTTON) {
- if(sheath == TRUE)
- return;
- llSensor("","",AGENT,5,PI/2);
- llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
- llTriggerSound(llList2Key(llListRandomize(swings,1),0),1);
- llStartAnimation(llList2String(llListRandomize(anims,1),0));
- }
- listen(integer channel,string name,key id,string message)
- {
- if(message == "drawm")
- {
- if(sheath == FALSE){
- return;
- }
- sheath = FALSE;
- llPlaySound("be972adb-49b0-33c0-20a7-9e14a174212e", 1);
- llStartAnimation("Hold");
- llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
- }
- else if(message == "sling"){
- if(sheath == TRUE){
- return;
- }
- sheath = TRUE;
- llPlaySound("be972adb-49b0-33c0-20a7-9e14a174212e", 1);
- llStopAnimation("Hold");
- llSetTimerEvent(0);
- llSetLinkAlpha(LINK_SET,0,ALL_SIDES);
- }
- }
- sensor(integer d) {
- integer i;
- llTriggerSound(llList2Key(llListRandomize(hits,1),0),1);
- for(;i<=d&&llDetectedKey(i)!=NULL_KEY;++i)
- {
- llRezObject("[ Slash ]",llDetectedPos(i) + llDetectedVel(i) / 4,-llDetectedVel(i),<0,0,0,0>,1);
- llOwnerSay("Killed " + llKey2Name(llDetectedKey(i)));
- }
- llSetTimerEvent(0.5);
- }
- no_sensor() {
- llSetTimerEvent(0.5);
- }
- timer() {
- llSetTimerEvent(0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement