Dat is nog heel simpel! Je kan ook nog eens meteen een variable toevoegen!
Doe dit door '= {getal};' erachter te zetten. Bijvoorbeeld:
new playersonline = 0;
Dit is de makkelijkste manier om variables aan te maken!
Nu de iets 'mooiere' manier, vooral handig voor account informatie!
Meestal zie je dit:
new geld[MAX_PLAYERS];
new adminlevel[MAX_PLAYERS];
Dan check je de admin bijv. zo: ' if(adminlevel[playerid] >= 2) '
Dit staat niet mooi en komt onprofessioneel over (vind ik)
Daarom is ENUM wel handig! Kijk maar naar het voorbeeld:
enum var_naam()
{
geld,
adminlevel
};
Ziezo, nu heb je deze twee in één 'string' gezet, maar ze werken nog niet!
Je moet de variable ook zelf maken! Dit doe je weer met 'new var_naam'
Let er wel op dat de naam achter enum niet hetzelfde is als de nieuwe variable die je gaat aanmaken!
En zorg er ook voor dat de enum IN de variable komt! Doe dit zo:
enum var_naam()
{
geld,
adminlevel
};
new andere_var_naam[MAX_PLAYERS][var_naam];
Hetgene achter enum moet dus ook tussen de haakjes ( [ & ] ) komen!
Nu check je een admin level zo:
if(andere_var_naam[playerid][adminlevel] >= 2)
Simpel, is het niet?
STRINGS
Dit is ook heel makkelijk, als je het maar snapt
Weet je nog dat ik de 'new playersonline;' had aangemaakt?
Ik zal aan de hand van deze van deze variable uitleggen hoe je de BASIS string maakt.
Je kan met de 'normale' manier, zonder verschillende functie's gewoon 'tellen'.
Als een speler bijv. een speler online komt tel je één nummer aan de variable toe.
Ik zal een voorbeeld geven:
public OnPlayerDisconnect(playerid)
{
playersonline ++;
return 1;
}
De '++' staat dus eigenlijk voor '+1' !
Hetzelfde geldt voor '--', alleen dan is het dus '-1'
Maar wat nou als je er bijv. 15 bij op wilt tellen, of aftrekken?
Dit doe je met '+=' !
Een voorbeeld:
new var = 0;
new var += 15;
new var -= 10;
Je begint met string 0, oftewel 'niks'
Dan telt hij er 15 bij op, met '+= 15'
En daarnaa telt hij er tien vanaf! met '-= 10'
Dus nu heeft de variable 'var' de waarde 5
Je kan met de normale manier dus alleen tellen, of geld, adminlevel etc. aangeven
Maar voor een gebruikerssysteem MET WACHTWOORD heb je iets anders nodig!
Want dit werkt niet:
new wachtwoord[MAX_PLAYERS];
...(code)
wachtwoord[playerid] = "test1234";
Dan krijg je de volgende error:
error 010: invalid function or declaration
Dit is natuurlijk niet de bedoeling
Hiervoor gebruik je strins.
Deze ziet er zo uit:
strins(var, string, start, einde);
Var = Hetgene waar de string wordt ingezet
String = Hetgene wat je IN de variable zet
Start = Waar de string begint
einde = oftewel, maximum lengte
Ik zal een voorbeeld script geven, aan de hand van een DIALOG venster
new wachtwoord[MAX_PLAYERS]; //Ik gebruik even geen ENUM
public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Wachtwoord", "Vul een wachtwoord in", "OK", "Annuleer");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1) //Als dialog ID '1' is
{
if(response) //Druk je wel op OK en niet op Annuleer?
{
strins(wachtwoord[playerid], inputtext, 0, 64); //Je wachtwoord mag dus niet langer dan 64 tekens zijn. Ik heb hier nu geen beveiliging op gezet!
}
else //Als je op Annuleer klikt
{
//Doe IETS! zoals kick, of laat dialog opnieuw zien
}
}
return 1;
}
Hopelijk snap je dit een beetje
Zo niet, zeg het hier even, dan probeer ik het uit te leggen.
STRING VERWIJDEREN
Dit is HEEL simpel.
Het kan op 2 manieren:
1e manier:
var_naam = 0;
Dit zet de var_naam naar 0, als je een nieuwe variable aanmaakt en je zet bijv niet neer: new iets = 1; (de ' = 1 ') is de standaardwaarde 0!
2e manier:
STRDEL
Deze is IETS lastiger, maar wel 'mooier'
Gebruik hem zo:
strdel(var_naam, begin, eind);
var_naam = De string die je wilt verwijderen
begin = Het begin dat je wilt verwijderen
eind = Het einde dat je wilt verwijderen
Over het 'begin' en 'eind':
VOORBEELD:
Je hebt een wachtwoord opgeslagen in wachtwoord[playerid], met string: test1234
Je gebruikt STRDEL en hij begint bij 2, en eindigd op 5
Dan is je wachtwoord nu: est123
Als je het HELE wachtwoord wilt verwijderen kan je het beste dit doen:
Hoi!
Welkom bij de tutorial over strings.
VARIABLES
We beginnen met de variables
Maak een variable op deze manier aan:
Je kan var_name zelf veranderen , bijvoorbeeld:
Dat is nog heel simpel! Je kan ook nog eens meteen een variable toevoegen!
Doe dit door '= {getal};' erachter te zetten. Bijvoorbeeld:
Dit is de makkelijkste manier om variables aan te maken!
Nu de iets 'mooiere' manier, vooral handig voor account informatie!
Meestal zie je dit:
Dan check je de admin bijv. zo: ' if(adminlevel[playerid] >= 2) '
Dit staat niet mooi en komt onprofessioneel over (vind ik)
Daarom is ENUM wel handig! Kijk maar naar het voorbeeld:
Ziezo, nu heb je deze twee in één 'string' gezet, maar ze werken nog niet!
Je moet de variable ook zelf maken! Dit doe je weer met 'new var_naam'
Let er wel op dat de naam achter enum niet hetzelfde is als de nieuwe variable die je gaat aanmaken!
En zorg er ook voor dat de enum IN de variable komt! Doe dit zo:
Hetgene achter enum moet dus ook tussen de haakjes ( [ & ] ) komen!
Nu check je een admin level zo:
Simpel, is het niet?
STRINGS
Dit is ook heel makkelijk, als je het maar snapt
Weet je nog dat ik de 'new playersonline;' had aangemaakt?
Ik zal aan de hand van deze van deze variable uitleggen hoe je de BASIS string maakt.
Je kan met de 'normale' manier, zonder verschillende functie's gewoon 'tellen'.
Als een speler bijv. een speler online komt tel je één nummer aan de variable toe.
Ik zal een voorbeeld geven:
De '++' staat dus eigenlijk voor '+1' !
Hetzelfde geldt voor '--', alleen dan is het dus '-1'
Maar wat nou als je er bijv. 15 bij op wilt tellen, of aftrekken?
Dit doe je met '+=' !
Een voorbeeld:
Je begint met string 0, oftewel 'niks'
Dan telt hij er 15 bij op, met '+= 15'
En daarnaa telt hij er tien vanaf! met '-= 10'
Dus nu heeft de variable 'var' de waarde 5
Je kan met de normale manier dus alleen tellen, of geld, adminlevel etc. aangeven
Maar voor een gebruikerssysteem MET WACHTWOORD heb je iets anders nodig!
Want dit werkt niet:
Dan krijg je de volgende error:
Dit is natuurlijk niet de bedoeling
Hiervoor gebruik je strins.
Deze ziet er zo uit:
strins(var, string, start, einde);
Var = Hetgene waar de string wordt ingezet
String = Hetgene wat je IN de variable zet
Start = Waar de string begint
einde = oftewel, maximum lengte
Ik zal een voorbeeld script geven, aan de hand van een DIALOG venster
Hopelijk snap je dit een beetje
Zo niet, zeg het hier even, dan probeer ik het uit te leggen.
STRING VERWIJDEREN
Dit is HEEL simpel.
Het kan op 2 manieren:
1e manier:
var_naam = 0;
Dit zet de var_naam naar 0, als je een nieuwe variable aanmaakt en je zet bijv niet neer: new iets = 1; (de ' = 1 ') is de standaardwaarde 0!
2e manier:
STRDEL
Deze is IETS lastiger, maar wel 'mooier'
Gebruik hem zo:
strdel(var_naam, begin, eind);
var_naam = De string die je wilt verwijderen
begin = Het begin dat je wilt verwijderen
eind = Het einde dat je wilt verwijderen
Over het 'begin' en 'eind':
VOORBEELD:
Je hebt een wachtwoord opgeslagen in wachtwoord[playerid], met string: test1234
Je gebruikt STRDEL en hij begint bij 2, en eindigd op 5
Dan is je wachtwoord nu: est123
Als je het HELE wachtwoord wilt verwijderen kan je het beste dit doen:
strdel(wachtwoord[playerid], 0, strlen(wachtwoord[playerid]);
strlen telt de lengte van iets, en je telt hier het aantal cijfers en letter van het wachtwoord, en hij eindigd bij de laatste.
Dus wordt ALLES verwijderd
Ik hoop dat dit iets een beetje uitlegt!
Groeten,
Kwarde