Script épée

Répondre
Partager Rechercher
Bonjour a tous

j'ai créé une épée et je voudrai qu'elle soit utilisable en rp j'aimerai savoir quels script dois je me procurer et le cas echeant si quelqu'un les possede meles fournir ^^

d'avance merci et bon jeu
je crois pas que t'auras plus de réponse que là https://forums.jeuxonline.info/showthread.php?t=907107

En fait tout dépend du système combat utilisé, très variables suivant les RP. j'ai lu quelques part que pour une arme fasse des dégats, il suffit qu'elle soit utilisée en mouselock et qu'elle soit physique.

Mais je sais que des système de combat les plus élaborés - comme celui de samurai island - utilise un protocole spécifique gardé secret pour éviter les triches - et garder le monopole commercial.

Bon moi j'ai un bête katana full perm; tu peux toujours essayer de recopier le script et tu verras bien. Mais je suis jamais arrivé à le faire fonctionner. Et j'ai pas trop chercher préférant l'amour à la guerre.

Edit : pardon le script :
Code:
integer SWORD = 1;
integer PUNCH12 = 2;
integer PUNCHL = 3;
integer KICK = 4;
integer FLIP = 5;
integer strike_type;
default
{
    state_entry()
    {
        llSetStatus(STATUS_BLOCK_GRAB, TRUE);
    }
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_TAKE_CONTROLS)
        {
                llTakeControls(CONTROL_ML_LBUTTON | CONTROL_LBUTTON | CONTROL_UP | CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_LEFT | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_RIGHT | CONTROL_DOWN, TRUE, TRUE);
        }
    }
 
    attach(key on)
    {
        if (on != NULL_KEY)
        {
            integer perm = llGetPermissions();
 
            if (perm ^ (PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION))
            {
                llRequestPermissions(on, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION);
            }
            else
            {
                llTakeControls(CONTROL_ML_LBUTTON | CONTROL_LBUTTON | CONTROL_UP | CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_LEFT | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_RIGHT, TRUE, FALSE);
            }
 
        }
        else
        {
            llSay(0, "releasing controls");
            llTakeControls(FALSE, TRUE, FALSE);
        }
    }
 
    timer()
    {
        if (  (strike_type == FLIP)
            || (strike_type == SWORD))
        {
            llSensor("", "", ACTIVE | AGENT, 4.0, PI_BY_TWO*0.5);
        }
        else
        {
            llSensor("", "", ACTIVE | AGENT, 3.0, PI_BY_TWO*0.5);
        }
        llSetTimerEvent(0.0);
    }
 
    control(key owner, integer level, integer edge)
    {
        if (level & (CONTROL_ML_LBUTTON | CONTROL_LBUTTON))
        {
            if (edge & CONTROL_UP)
            {
                llApplyImpulse(<0,0,3.5>,FALSE);
                llStartAnimation("backflip");
              //  llTriggerSound("swing3", 0.5);
                llSetTimerEvent(0.25);
                strike_type = FLIP;
            }
            if (edge & CONTROL_FWD)
            {
                llStartAnimation("sword_strike_R");
                llSleep(0.5);
            //    llTriggerSound("swordswing", 0.5);
                llSetTimerEvent(0.25);
                strike_type = SWORD;
            }
            if (edge & (CONTROL_LEFT | CONTROL_ROT_LEFT))
            {
                llStartAnimation("sword_strike_R");
             //   llTriggerSound("swing1", 0.5);
                llSetTimerEvent(0.25);
                strike_type = PUNCHL;
            }
            if (edge & (CONTROL_RIGHT | CONTROL_ROT_RIGHT))
            {
                llStartAnimation("sword_strike_R");
              //  llTriggerSound("swing2", 0.5);
                llSetTimerEvent(0.25);
                strike_type = PUNCH12;
            }
             if (edge & CONTROL_BACK)
            {
                llStartAnimation("sword_strike_R");
              //  llTriggerSound("swing3", 0.5);
                llSetTimerEvent(0.25);
                strike_type = KICK;
            }
           if (edge & CONTROL_DOWN)
            {
                llMoveToTarget(llGetPos(), 0.25);
                llSleep(1.0);
                llStopMoveToTarget();
            }
        }
    }
 
    sensor(integer tnum)
    {
        vector dir = llDetectedPos(0) - llGetPos();
        dir.z = 0.0;
        dir = llVecNorm(dir);
        rotation rot = llGetRot();
        if (strike_type == SWORD)
        {
          //  llTriggerSound("swordhit", 0.5);
            dir += llRot2Up(rot);
            dir *= 200.0;
            llPushObject(llDetectedKey(0), dir, ZERO_VECTOR, FALSE);
        }
        else if (strike_type == PUNCH12)
        {
          //  llTriggerSound("righthand", 0.2);
            dir += dir;
            dir *= 100.0;
            llPushObject(llDetectedKey(0), dir, ZERO_VECTOR, FALSE);
        }
        else if (strike_type == PUNCHL)
        {
          //  llTriggerSound("lefthand", 0.2);
            dir -= llRot2Left(rot);
            dir *= 100.0;
            llPushObject(llDetectedKey(0), dir, ZERO_VECTOR, FALSE);
        }
        else if (strike_type == KICK)
        {
          //  llTriggerSound("kick", 0.2);
            dir += dir;
            dir *= 100.0;
            llPushObject(llDetectedKey(0), dir, ZERO_VECTOR, FALSE);
        }
        else if (strike_type == FLIP)
        {
          //  llTriggerSound("kick", 0.5);
            llPushObject(llDetectedKey(0), <0,0,150>, ZERO_VECTOR, FALSE);
        }
        strike_type= 0;
    }
}
Edit 2 : Et puis le problème avec les armes, c'est comme tu les utilise en mouselock, tu ne vois pas ce que tu fais.
Merci infiniment pour ta reponse Elenia oui j'ai une vague idée des protocoles de dégat dans sl ( CCs etc... )

je vais continuer a me renseigner

merci encore bon jeu
Oui mais justement le système de combat que j'ai vu n'utilisait pas de protocole: mouselock et physique, c'est tout. Et je pense qu'une majorité de système de combat est comme ça, parceque c'est le plus simple.

Bon là dessus, si tu glane des infos ce serait sympa de les partager ici.
EN système de combat j'ai souvent vu le CCS dans SL, qui apparemment est plutôt utilisé pour les univers fantastiques.
Je ne sais pas si c'est le plus connu mais tu le trouveras facilement.
Script CCS
bonjour
j'ai reussi à trouver un script pas trop mal pour une epée
je l'ai testé, elle fait à peu pres 6 de dégat par attack
J'ai combattu un "amis" et lui me faisait 12 de dégats...
mais il avait 2 épées... lol une par main

J'essaye maintenant d'en mettre une dans chaque main (efficace) et surtout de trouver des "gestures" un peu plus sympa....

les épées ne fonctionnent pas en mouselock, enfin pas celles que j'ai essayé... contrairement aux armes à feu.....

contact moi si tu veux qu'on en parle, je te donnerait mon pseudo SL

à+
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés