Hi hier veröffentliche ich nun ein kleines Tutorial was euch helfen soll mit Variablen umzugehen.
_______________________________________________________________________________
1. Deklaration einer Variable
1.1. Allgemein
Um eine Variable verwenden zu können muss diese erstmal deklariert(erklären/aufführen) werden.
Dazu benutzen wir im Panwo die Funktion:
1.2. Int Variable
Eine Int-Variable, also eine Variable der eine bestimmte Zahl zugeordnet werden kann würd so deklariert:
Zur Definition dieser Variablae komme ich später.
1.3. Player Variable
Eine Player-Variable, also eine Variable die sich auf einen Player bezieht würd so deklariert:
new playervariable[MAX_PLAYERS];
Zur Definition dieser Variable komme ich später.
1.4. String Variable
Eine String Variable ist eine Variable der man einen String(bustaben,sätze,etc.) anhängt.Diese deklariert man so:
_______________________________________________________________________________
2. Definition einer Variable
2.1. Allgemein
Durch die Definition einer Variable würd ein Wert/String in dieser gespeichert.
variable = Wert;
playervar = Wert;
new stringvar[256]; // stringvar = Name; [256] = Meistbenutze Länge einer Variable in Zeichen
format(stringvar, sizeof(stringvar), "Ich bin der String von 'stringvar'."); // stringvar = Name; sizeof(stringvar) = Oben angegebene Länge der Variable
//bitte mit den Stringgrößen sparen, es würd nie ein String von der größe 256 gebraucht!!!
2.2. Arten der Wert zuweißung an Intvariablen
Man kann auf verschiedene weißen den Wert einer Intvariable verändern:
Deklaration und Definition auf einmal:
Definition einzeln:
2.2.1. Wert verändern der Intvariable
variable++; //zu der variable würd 1 dazu gerechnet
variable--;//von der variable werden 1 abgezogen
variable += wert; //+ den besagten wert
variable -= wert;//- den besagten wert
variable = wert;//überschreibt den alten wert
variable = wert+wert;//variable würd zu der summe der beiden werte
...
2.3. Stringvariablen
format(stringvar, sizeof(stringvar), "Ich bin der String von 'stringvar'.");
//der variable stringvar würd hier ein text(string) zugewiesen
_______________________________________________________________________________
3. Variablen Arrays zuweisen
3.1. Was ist ein Array
Arrays ermöglichen es uns eine Variable mehrmals in verschiedenster weiße zu benutzen. Also kann man mit einem Array mehrere Informationen für eine Variable speichern.
3.2. Allgemeine Deklaration
new array[5];//die 5 steht dafür wie viele Varianten diese Variable verfügbar ist
3.3. Mehrdimensionale Arrays Deklarieren
>> Eindimensionales Array:
new array[5];//man kann 5 verschiedene Definitionen ausführen
>>Zweidimensionales Array:
new array[5][5];//man kann 5*5 verschiedene Definitionen ausführen
>>Ndimensionales Array:
new array[5][5][5]...;//man kann 5*N verschiedene Definitionen ausführen
//in pawn sind nur bis zu Dreidimensionale arrays erlaubt, in c++ kann dies unendlich ausgeweitet werden
3.4. Definieren eines Arrays
Wie schon gesagt kann man nun eine Variable mehrfachnutzen. Wie die Definition aussieht seht ihr hier:
Wir arbeiten hier mit einen einwertigen Array
new array[5];//Deklaration
/////Definition
array[0] = 1; // erste variante
array[1] = 2; // zweite variante
array[2] = 3;
array[3] = 4;
array[4] = 5; // fünfte variante
Vllt habt ihr bemerkt das wir array[5] nicht nutze, das liegt daran das wir nur 5 verschiedene Varianten der Definitionen hier anwenden können. Bei Array werden von [0] an gezählt, also [5] wäre die 6 Variante.
Jetzt noch ein Beispiel mit einem zweiwertigen array
new array[5][7];//Deklaration
/////Definition
array[0][0] = 1;
array[0][1] = 2;
array[0][2] = 3;
array[1][5] = 4;
array[4][6] = 5;
Hier gibt es 5*7(also 35) varianten, die habe ich nicht alle aufgezählt aber ich hoffe aus der darstellung(oben) konntet ihr schließen wie mehrwertige Arrays zu Definieren sind.
_______________________________________________________________________________
4. Anwendungs Bsp.
Ich werde hier aufgaben stellen mit denen ihr üben könnt.
Die lösungen findest du ganz unten.
4.1. Etwas leichtes zum Anfang
Deklariere eine Variable namens " auto " und weiße dieser den Wert " 100 " zu.
4.2. Das kann man Schaffen
Deklariere eine Variable namens " sekunden ". Nun Starte einen Timer der eine Funktion aktiviert namens "zeit".(du weißt nicht wie dies geht? Keine Angst es gibt ein Tutorial dazu)Den Timer lässt du alle 1000milisekunden laufen. Die Funktion soll jedes mal 1 zu sekunden hinzu rechnen.
4.3. Schwierig
Konstruiere eine Funktion die die variable "sekunden==388" in die variable "minuten" umrechnet. Denke daran das 1minute: 60 sekunden hat. sollten die sekunden halt nicht auf gehn bleiben diese halt über.
Stelle einen Gamemodetext her der schluss endlich anzeigt wie viele minuten(und übrige sekunden) aus 388 sekunden enstehen.
_______________________________________________________________________________
5. Lösungen
5.1.Lösung zu "Etwas leichtes zum Anfang"
entweder so:
new auto;
auto=100;
oder so:
new auto=100;
Alles anzeigen
5.2.Lösung zu "Das kann man Schaffen"
Ganz oben im Script:
new sekunden;
forward zeit();
Unter OnFilterScriptInit:
SetTimer("zeit",1000,1);
Ganz unter im Script:
public zeit()
{
sekunden++;
return 1;
}
Alles anzeigen
5.3.Lösung zu "Schwierig"
new sekunden = 388;
new string[256];
//////////////////////////
public irgendwas()
{
while(sekunden >= 60)
{
sekunden -= 60;
minuten++;
}
format(string,sizeof(string),"388sekunden sind %d minuten und %d sekunden",minuten,sekunden);
GameTextForAll(string,4000,1);
return 1;
}
Alles anzeigen
Ich hoffe ich konnte euch helfen
mfg Yoda