11.Feb.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 > Language Script from Joe123
Users
Hallo Gast
IP-Adresse: 38.107.179.209

Benutzername
Passwort
OnLine
38.107.x.x
38.107.x.x
38.107.x.x
38.107.x.x
38.107.x.x
46.17.x.x
Navigator
tobli.gif Infos
tobli.gif Quests und Foren
Zelda Suche
Zelda Templates
zurück zum Anfang weiter
zurück
>  Forum
Forum RSS FeedReply
Language Script from Joe123
AutorText
JPappi
Old horned man
Avatar

Beiträge: 1276
Beitrag: 1366

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Datum: 04.04.2009 11:57
Language Script from Joe123
#post2362
This Script makes it possible to set two languages on a startscreen, talk with NPC's or get infos from a signpost. Also is an Itemscript implemented which allows to get a message by picking up an Item.
Please don't reset the credits!

code

//Scripted by Joe123
import "std.zh"

const int English               = 5//The size of the gap between German and English message strings
const int Deutsch               = 0//Just for the sake of complete-ness
const int CMB_AUTOWARP   = 229;   //Auto-warp A type combo

int Language; //This is where we'll store the message string modifier

//Our new message function, which will decide which language to use
void Message(int m){
        Screen->Message(m+Language);
}

//We have this on the title screen to set the language for the rest of the game
ffc script SetLanguage{
        void run(){
                Waitframes(30);
                while(true){
                        if(Link->InputLeft){
                                Language = Deutsch;
                                this->Data = CMB_AUTOWARP;
                        }
                        if(Link->InputRight){
                                Language = English;
                                this->Data = CMB_AUTOWARP;
                        }
                        Link->InputUp = false;
                        Link->InputDown = false;
                Waitframe();
                }
        }
}

//NPC Script, by Pkmnfrk
ffc script NPC{
        void run(int m, int changedirection, int distance){
                int dx; int dy;
                int ax; int ay;
                int orig = this->Data;
               
                if(distance == 0) distance = 40;
                while(true){
                        dx = this->X-Link->X; ax = Abs(dx);
                        dy = this->Y-Link->Y; ay = Abs(dy);
                        if(changedirection != 0){
                                if(ax < distance && ay < distance){
                                        if(ax <= ay){
                                                if(dy >= 0) this->Data = orig;
                                                else this->Data = orig+1;
                                        }else{
                                                if(dx >= 0) this->Data = orig+2;
                                                else this->Data = orig+3;
                                        }
                                }else this->Data = orig+(changedirection-1);
                        }
                        if(Link->InputA && ax < 24 && ay < 24 && Link->Z == 0){
                                Link->InputA = false;
                                Message(m);
                                do Waitframe();
                                while(Link->InputA)
                        }
                Waitframe();
                }
        }
}

//Signposts, by Pkmnfrk
ffc script Signpost{
        void run(int m){
                while(true){
                        while(Link->X < this->X-8 || Link->X > this->X+24 || Link->Y < this->Y || Link->Y > this->Y+24
                        || Link->Dir != DIR_UP || !Link->InputA || Link->Z != 0) Waitframe();
                        Link->InputA = false;
                        Message(m);
                        do Waitframe();
                        while(Link->InputA)
                }
        }
}

//Play a message on a screen, and add an item if we want
ffc script Message{
        void run(int m, int itm){
                Waitframes(4);
                Message(m);
                if(itm > 0){
                        item i = Screen->CreateItem(itm);
                        i->X = Link->X;
                        i->Y = Link->Y;
                }
        }
}

//Item pickup message script
item script PickupMessage{
        void run(int m){
                Message(m);
        }
}


Editiert: 20.06.2010 10:06
----- Pimp my Link -----
Tune his Brain and Muscles
Delete Edit Quote
 
Avataro

Avatar

Beiträge: 200
Beitrag: 367

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Idol: Zonic
Datum: 15.08.2010 18:54
Re: Language Script from Joe123
#post4539
der script funktioniert bei mir nichtSmile
ich hab alles richtig gemacht. bei const int english hab ich 1000
const int deutsch hab ich 0. const int autowarp hab ich 310.
da kein "Autowarp A type combo" existiert hab ich "Auto-Side-Warp A"
genommen. ich hab dem script einen ffc zugefügt. die koordinaten dieses ffc sind 0, 0. der combo des ffc ist ein none-type combo. side warp A, B, C, D und tile warp A, B, C, D teleporten alle einen screen nach rechts, wo es dann im spiel weitergeht. als test-message hab ich nummer 57 genommen. bei message 1056-1058 steht überall eine andere test-message. aber egal ob ich deutsch oder englisch auswähl, er nimmt immer message 57.
ich hoffe ihr konntet mir folgenSmile. ich benutze build 1294
Delete Edit Quote
 
JPappi
Old horned man
Avatar

Beiträge: 1276
Beitrag: 1366

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Datum: 15.08.2010 21:06
Re: Language Script from Joe123
#post4540
Du brauchst zwingend eine combo mit autowarp A. Mußt du dir eine erstellen, denn die kommt auf deine Auswahlscreen!
Wenn du sie auf die Auswahlscreen gesetzt hast, dann die Eigenschaften anpassen.

Ich schreib jetzt nur was zu ändern ist.

Reiter Data:
Combo anklicken und eine schwarze transparente combo auswählen.
Script: Setlanguage
Reiter Flags:
Da kreuzt du bitte - Is a Changer(Invisible,Ethereal) - an
Reiter Arguments:
Nichts

Natürlich die Nummer deiner Autowarpcombo im Script anpassen.


Jetzt muß auf jede Screen auf der du einen String verwenden willst eine Freeform Combo.

Reiter Data:
Combo anklicken und eine schwarze transparente combo auswählen.
Script: z.B. Message
Reiter Flags:
Nichts
Reiter Arguments:
D0 bekommt die entsprechende Stringnummer.
Immer aus der deutschen Range, in meinem Beispiel also aus 1-50,
101-150, usw.

Du hast die Range mit 1000 gewählt, vermutlich weil du denkt, es werden 1000 Strings.
Jetzt hast du nur das Problemm, dass du bis zur Stringnumber 1001(für den übersetzten String 1)leere Strings einfügen mußt.
Also hier wäre String 1 = deutsch und String 1001 = english.

Probiere das mal anders. Wähle eine kleinere Range von z.B. 50
Dann ist:
String 1 = deutsch
String 51 = english
String 101 = deutsch
String 151 = english

usw. macht weniger Arbeit.

Denke daran, das das Script nicht mit Room Types funktioniert.

Nicht vergessen auf die Auswahlscreen einen invisible Link und 2 sidewarps B und C zu deiner ersten screen zu setzen.







----- Pimp my Link -----
Tune his Brain and Muscles
Delete Edit Quote
 
Avataro

Avatar

Beiträge: 200
Beitrag: 367

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Idol: Zonic
Datum: 15.08.2010 21:36
Re: Language Script from Joe123
#post4543
danke, scheint nun zu funktionieren
aber muss ich wirklich für jede message im ganzen quest eine extra freeform combo machen? das wird hartSmile
und wieso funktioniert das nicht mit dem item pickup message script? soetwas wie "Kleinen Schluessel erhalten" kann ich wohl nun nicht mehr machen, oder?
Delete Edit Quote
 
JPappi
Old horned man
Avatar

Beiträge: 1276
Beitrag: 1366

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Datum: 15.08.2010 21:47
Re: Language Script from Joe123
#post4544
Das Item Pick up funltioniert. Nur solche Sachen wie Feed the Goriya fuktioniert nicht, alles andere kann man umbauen.

Übrigens in Time After sind es etwas 600-700 Freeformcombos bei 1500 Strings.
----- Pimp my Link -----
Tune his Brain and Muscles
Delete Edit Quote
 
Avataro

Avatar

Beiträge: 200
Beitrag: 367

Geschlecht: _MALE_
Online: Nein

Land: Deutschland
Idol: Zonic
Datum: 15.08.2010 21:54
Re: Language Script from Joe123
#post4545
da bin ich aber erleichtert. dachte schon ich muss den pickup script aufgeben.Smile
dann funktioniert der pickup script wohl nur nicht, weil ich ihn mir für tower of shadows ein wenig modifiziert hab. dann werd ich wohl den normalen benutzen müssen.
EDIT: ne, die pickup message funktioniert nur, wenn man das item in einem shop bekommt.
Editiert: 16.08.2010 14:48
Delete Edit Quote
 
Reply