19.May.2012
Choose your Language:

englisch english deutsch Schweiz Österreich

change only:
System messages, buttons, formulars, etc.

Willkommen bei
Mudvayne's deutschsprachigen Quests

Eine Seite für Zeldaclassic Freaks, die auch auf deutsch diskutieren und deutschsprachige Quests genießen wollen!
Ich hoffe, euch Zeldaclassic ein wenig näher bringen zu können.
Es erwarten euch eine Menge Spass, Spielfreude, Puzzles und Vieles mehr.
>  Home > Forum > Zelda Classic - Development, Programmierung > ZScript > ZScriptcodes > Hold L to run script - L gedrückt halten um zu rennen Skript
Users
Hallo Gast
IP-Adresse: 38.107.179.209

Benutzername
Passwort
OnLine
58.23.x.x
38.107.x.x
38.107.x.x
38.107.x.x
38.107.x.x
38.107.x.x
MSN spider
MSN spider
MSN spider
Google spider
Navigator
tobli.gif Infos
tobli.gif Quests und Foren
Zelda Suche
Zelda Templates
zurück zum Anfang weiter
zurück
>  Forum
Forum RSS FeedReply
Hold L to run script - L gedrückt halten um zu rennen Skript
AutorText
aaa2
kriecht schon Link
Avatar

Beiträge: 63
Beitrag: 67

Geschlecht: _NEUTRAL_
Online: Nein
Datum: 18.08.2011 16:08
Hold L to run script - L gedrückt halten um zu rennen Skript
#post5536
IN POST 3 IST EINE NEUE VERBESSERTE VERSION DIESES SCRIPTS UND EINE ALTERNATIVE VERSION
IN POST 3 THERE IS A NEW AND IMPROVED VERSION OF THIS SCRIPT AND ALSO AN ALTERNATE VERSION


Dieses Skript lässt Link rennen, wenn man L drückt. Ihr könnt oben die die Geschwindigkeit die Link rennend haben soll in Prozent angeben.
This script will let link run if you press L. In the upper part you can choose the speed link will have when running in percent of his normal speed.
code

int round(float f){
       
        if(f<0.5&&f>-0.5){
                return 0;
        }else{
        int diff=f;
        int num=0;
        if(diff>0){
        while(diff>1){
        diff-=1;
        num+=1;
        }
        if(diff<0.5){
        return num;
        }else{
        return num+1;
        }
        }else{
                while(diff<-1){
        diff+=1;
        num-=1;
        }
        if(diff>-0.5){
        return num;
        }else{
        return num-1;
        }
       
        }
        }
        }
        const float Lspeedpercent=150;
global script onstart {
   void run() {
float   Lspeed=Lspeedpercent/100;
     int x=Link->X;
         int y=Link->Y;
    //one time things go here
    while(true) {

                if(Link->InputL&& Link->X>0&&Link->Y>0&&Link->X<255&&Link->Y<167){ //Test if L is pressed and if you haven't reached the side of the screen yet(to prevent bugs)
                Link->X+=round((Lspeed-1)*(Link->X-x));
                Link->Y+=round((Lspeed-1)*(Link->Y-y));
               
                }
                x=Link->X;
                y=Link->Y;
              Waitframe();
               
        }
   }
   
  //functions go here
 }
 
Editiert: 11.09.2011 16:38
Delete Edit Quote
 
aaa2
kriecht schon Link
Avatar

Beiträge: 63
Beitrag: 67

Geschlecht: _NEUTRAL_
Online: Nein
Datum: 19.08.2011 15:17
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5547
Auf Wunsch von Jpappi noch den Testquest für das Script.

Auch bei meinen anderen Skripten werde ich Testquests machen


http://www.mediafire.com/?lez75nwaj5ttizk
Delete Edit Quote
 
aaa2
kriecht schon Link
Avatar

Beiträge: 63
Beitrag: 67

Geschlecht: _NEUTRAL_
Online: Nein
Datum: 11.09.2011 16:36
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5580
Auch dieses Script wird jetzt auf eine Glitch-freie Version geupdatet:
code

int round(float f){

if(f<0.5&&f>-0.5){
  return 0;
}else{
int diff=f;
int num=0;
if(diff>0){
while(diff>1){
diff-=1;
num+=1;
}
if(diff<0.5){
return num;
}else{
return num+1;
}
}else{
  while(diff<-1){
diff+=1;
num-=1;
}
if(diff>-0.5){
return num;
}else{
return num-1;
}

}
}
}
const float Lspeedpercent=150;
global script onstart {
   void run() {
float Lspeed=Lspeedpercent/100;
     int x=Link->X;
  int y=Link->Y;
  int curmap=-1;
  int curscreen=-1;
    //one time things go here
    while(true) {
  if(curscreen!=Game->GetCurScreen()&&curmap==Game->GetCurMap()){  //this screen change code is to prevent bugs
   Waitframes(10);
   curscreen=Game->GetCurScreen();
   x=Link->X;
   y=Link->Y;
  }
  if(curmap!=Game->GetCurMap()&&curscreen==Game->GetCurScreen()){
   Waitframes(10);
   curmap=Game->GetCurMap();
   x=Link->X;
   y=Link->Y;
  }
  if(curmap!=Game->GetCurMap()&&curscreen!=Game->GetCurScreen()){
   Waitframes(10);
   curscreen=Game->GetCurScreen();
   curmap=Game->GetCurMap();
   x=Link->X;
   y=Link->Y;
  }
   
  if(Link->InputL){ //Test if L is pressed
   Link->X+=round((Lspeed-1)*(Link->X-x));
   Link->Y+=round((Lspeed-1)*(Link->Y-y));
  }
 
  x=Link->X;
  y=Link->Y;
       Waitframe();
 
}
   }
   
}

 

demoquest:
http://www.mediafire.com/?gscc76fc7lq3dm8

Ausserdem gibt es jetzt auch eine Version, bei der man L einmal drückt und so zwischen renn-status und nicht-rennstatus umschalten kann.
Also there now is a version where you have to press L only once to toggle between runnin-state and not-running state:

code

int round(float f){
   
    if(f<0.5&&f>-0.5){
        return 0;
    }else{
    int diff=f;
    int num=0;
    if(diff>0){
    while(diff>1){
    diff-=1;
    num+=1;
    }
    if(diff<0.5){
    return num;
    }else{
    return num+1;
    }
    }else{
        while(diff<-1){
    diff+=1;
    num-=1;
    }
    if(diff>-0.5){
    return num;
    }else{
    return num-1;
    }
   
    }
    }
    }
const float Lspeedpercent=150;
global script onstart {
   void run() {
float    Lspeed=Lspeedpercent/100;
     int x=Link->X;
     int y=Link->Y;
     int curmap=-1;
     int curscreen=-1;
    bool pressdL=false;
    int downtime=-1;
    //one time things go here
    while(true) {
        if(curscreen!=Game->GetCurScreen()&&curmap==Game->GetCurMap()){
            Waitframes(10);
            curscreen=Game->GetCurScreen();
            x=Link->X;
            y=Link->Y;
        }
        if(curmap!=Game->GetCurMap()&&curscreen==Game->GetCurScreen()){
            Waitframes(10);
            curmap=Game->GetCurMap();
            x=Link->X;
            y=Link->Y;
        }
        if(curmap!=Game->GetCurMap()&&curscreen!=Game->GetCurScreen()){
            Waitframes(10);
            curscreen=Game->GetCurScreen();
            curmap=Game->GetCurMap();
            x=Link->X;
            y=Link->Y;
        }   

        if(Link->InputL&&downtime<0){ //checkj if L pressed if so toggle between running and not running state
            pressdL=!pressdL;
            downtime=10
        }
        if(downtime>-1){  // the downtime makes sure there are no glitches by the toggle button like toggle between running and not running too fast
            downtime-=1;
        }

        if(pressdL){ //Test if L was pressed
            Link->X+=round((Lspeed-1)*(Link->X-x));
            Link->Y+=round((Lspeed-1)*(Link->Y-y));
        }
       
        x=Link->X;
        y=Link->Y;
          Waitframe();
       
    }
   }
   
  //functions go here
}
 


also for this one you find a demo quest here:
http://www.mediafire.com/?e3yp4c9mas3a5g3
Delete Edit Quote
 
rising
endlich Link
Avatar

Beiträge: 219
Beitrag: 237

Geschlecht: _MALE_
Online: Nein

Land: Sweden
Datum: 12.09.2011 20:55
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5581
Smile

Thank you aaa2

It is even better now so i am using the newest one now.

i mean this one:press L only once to toggle between runnin-state and not-running state:
Editiert: 12.09.2011 20:56
Delete Edit Quote
 
Avataro
endlich Link
Avatar

Beiträge: 207
Beitrag: 374

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Idol: Zonic
Datum: 13.09.2011 18:21
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5582
Also ich finde ja die erste version besser. Aber ich glaube, dass dieser script einen quest total ändern könnte. Ich würde die ganze zeit ohne pause rennen, damit man schneller überall hinkommt. Danke aaa2, dass du immer Demo-Quests für jeden script machst!
Delete Edit Quote
 
Rayo
kriecht schon Link
Avatar

Beiträge: 75
Beitrag: 81

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Jahrgang: 1994
Idol: Rayo
Datum: 13.09.2011 18:49
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5583
quote
Ich würde die ganze zeit ohne pause rennen, damit man schneller überall hinkommt.

Da hast du irgendwie recht, aber mit einer eingebauten Ausdauer sollte dieser Fehler schnell behoben sein.Smile
Image
Mein Spiel geht immer weiter! Verlasst euch drauf! Smile
Delete Edit Quote
 
aaa2
kriecht schon Link
Avatar

Beiträge: 63
Beitrag: 67

Geschlecht: _NEUTRAL_
Online: Nein
Datum: 15.09.2011 19:12
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5588
Ausdauer einbauen sollte kein problem sein. Was nur etwas nervig ist den Balken mit einzubauen. Ich würde mal sagen ausdauer insgesamt einzubauen würde mich jetzt vllt 5min kosten. Wenn ich aber einen Ausdauerbalken einbauen wollen würde dann müsste ich erst irgendwelche combos anlegen die dann gemalt werden. auf den bildschirm für den ausdauerbalken und das für jeden zahlenwert an ausdauer, was mich einfach nur nerven würde. Wenn jemand gerne das mit ausdauer und ausdauer balken haben möchte malt mir bitte einen ausdauerbalken mit unterschiedlichen füllegraden. Und ich bau euch das ein. Mir selbst ist das malen zu viel aufwand.
@ avataro wenn du scripte oder sowas brauchst schreib ich dir sowas gern wenn du willst natürlich auch mit demoquests. hier hochgeladen habe ich glaube ich mein quicktime-event script noch nicht das hol ich in den nächsten tagen nach. Zu dem script kann ich natürlich auch jegliche art gewünschter modifikationen durchführen
Editiert: 15.09.2011 19:15
Delete Edit Quote
 
Avataro
endlich Link
Avatar

Beiträge: 207
Beitrag: 374

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Idol: Zonic
Datum: 15.09.2011 21:30
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5590
Ich brauche diesen skript nicht, weil ich schon einen anderen global script habe. Falls irgendjemand tiles braucht habe ich hier ein schönen 1x1-großen Kreis-Balken gemacht (siehe attachment). So wie in Skyward Sword^^
DoR tileset, CSet 6, damit er immer Link's Farbe hat. Der grünton ändert sich, wenn Link einen blue oder red ring erhält.
Ich brauche den script aber wirklich nicht, wegen den globalpart.

Ich möchte nur erstmal gerne wissen, wie das mit Ausdauer funktionieren würde.
Ich stell mir das so vor: Wenn Link rennt, geht der Balken leer. Nach ungefähr 4 Sekunden sind alle 8 teile leer gegangen. Ein Teil füllt sich auf, nach ungefähr 3 Sekunden. Man kann nur anfangen mit rennen, wenn es ganz voll ist. Man kann den Balken nur beim rennen sehen, und solange er nicht ganz voll ist. Er ist immer transparent schräg über Link und verschwindet sobald er voll ist, nach ungefähr 2 Sekunden Wartezeit, damit der Spieler sehen kann, dass er wieder voll ist. Würde das funktionieren oder wäre das zuviel Arbeit? Ich kann es verstehen wenn es zu kompliziert und nervig ist Smile
Editiert: 15.09.2011 21:35
Delete Edit Quote
 
aaa2
kriecht schon Link
Avatar

Beiträge: 63
Beitrag: 67

Geschlecht: _NEUTRAL_
Online: Nein
Datum: 16.09.2011 20:38
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5593
Also ich hab das Script jetzt dafür abgeändert(ich verwende jetzt für dieses Script das rennen wo man L gedrückt halten muss weil ich das bevorzuge:
So i changed the script now to incorporate the timer(i used the hold L script because i prefer that one)
Hier das neue Script exclusiv für zelda-classic.de
Here is the new script this time exclusively for zelda-classic.de
code

int round(float f){
 
if(f<0.5&&f>-0.5){
   return 0;
 }else{
 int diff=f;
 int num=0;
 if(diff>0){
 while(diff>1){
 diff-=1;
 num+=1;
 }
 if(diff<0.5){
 return num;
 }else{
 return num+1;
 }
 }else{
   while(diff<-1){
 diff+=1;
 num-=1;
 }
 if(diff>-0.5){
 return num;
 }else{
 return num-1;
 }
 
}
 }
 }
 const int run_meter0=13268;
 const int run_meter1=13267;
 const int run_meter2=13266;
 const int run_meter3=13265;
 const int run_meter4=13264;
 const int run_meter5=13263;
 const int run_meter6=13262;
 const int run_meter7=13261;
 const int run_meter8=13260;
 const float Lspeedpercent=150;
 global script onstart {
    void run() {
 float Lspeed=Lspeedpercent/100;
      int x=Link->X;
   int y=Link->Y;
   int curmap=-1;
   int curscreen=-1;
   int runtimer=720;
     //one time things go here
     while(true) {
   if(curscreen!=Game->GetCurScreen()&&curmap==Game->GetCurMap()){  //this screen change code is to prevent bugs
    Waitframes(10);
    curscreen=Game->GetCurScreen();
    x=Link->X;
    y=Link->Y;
   }
   if(curmap!=Game->GetCurMap()&&curscreen==Game->GetCurScreen()){
    Waitframes(10);
    curmap=Game->GetCurMap();
    x=Link->X;
    y=Link->Y;
   }
   if(curmap!=Game->GetCurMap()&&curscreen!=Game->GetCurScreen()){
    Waitframes(10);
    curscreen=Game->GetCurScreen();
    curmap=Game->GetCurMap();
    x=Link->X;
    y=Link->Y;
   }
   
   if(Link->InputL&&runtimer>0){ //Test if L is pressed
   Link->X+=round((Lspeed-1)*(Link->X-x));
    Link->Y+=round((Lspeed-1)*(Link->Y-y));
        if(runtimer>700){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter8,6,64);
        }else if(runtimer>600){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter7,6,64);
        }else if(runtimer>490){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter6,6,64);
        }else if(runtimer>380){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter5,6,64);
        }else if(runtimer>270){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter4,6,64);
        }else if(runtimer>160){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter3,6,64);
        }else if(runtimer>50){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter2,6,64);
        }else if(runtimer>0){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter1,6,64);
        }
       
       
        runtimer-=3;
       
   }
   if(Link->InputL&&runtimer<=0){
        Screen->FastTile(6,Link->X,Link->Y-16,run_meter0,6,64);
   }
   if(!Link->InputL&&runtimer<720){
        if(runtimer>700){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter8,6,64);
        }else if(runtimer>600){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter7,6,64);
        }else if(runtimer>490){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter6,6,64);
        }else if(runtimer>380){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter5,6,64);
        }else if(runtimer>270){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter4,6,64);
        }else if(runtimer>160){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter3,6,64);
        }else if(runtimer>50){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter2,6,64);
        }else if(runtimer>0){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter1,6,64);
        }else if(runtimer<=0){
                Screen->FastTile(6,Link->X,Link->Y-16,run_meter0,6,64);
        }
   runtimer+=1;
   }
   
  x=Link->X;
   y=Link->Y;
        Waitframe();
   
}
    }
   
 }
 

 

Hier ist ein Demoquest dazu:
here is a demoquest on it:
http://www.mediafire.com/?0a93zy08vh9weww

Danke nochmal Avataro für die Grafik mit Grafiken ist das alles viel schneller als wenn ich das Ganze selbst machen müsste oder suchen müsste. Den code tippen geht schnell aber grafiken und so suchen ist nervig und dauert lange. Sag mir ob dir das Script gefällt.
Delete Edit Quote
 
Avataro
endlich Link
Avatar

Beiträge: 207
Beitrag: 374

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Idol: Zonic
Datum: 16.09.2011 23:01
Re: Hold L to run script - L gedrückt halten um zu rennen Skript
#post5594
Wow! Find ich richtig gut! Ich glaube, dass es besser wäre, wenn die Anzeige schräg über Link ist. Etwa so:
Image
Smile

Ach und kannst du es vielleicht so machen: Wenn die Anzeige Komplett leer ist, muss erst ein bisschen länger gewartet werden, bis sich die Anzeige wieder füllt. Vielleicht 3-4 Sekunden. Nur beim ersten Teil. Danach füllen sich die anderen Teile normal schnell.
Man kann beim letzten teil der Anzeige ein bisschen schummeln um permanent schnell zu sein, indem man immer wiederholt L drückt.
Editiert: 16.09.2011 23:35
Delete Edit Quote
 
Reply