Und was sind im allgemein Unterschiede zw. den ganzen "Dingen"?
Beiträge von [COE]CodeX
-
-
Hey ich hab überall schonaml diese Begriffe gelesen udn weiß, dass sie mit dem Scripten zu tun haben(z.B Befhle mit Parametern usw)
Aber was genau ist der Unterschied zw. diesen Includes bzw welches ist das beste? -
Also hier wäre ein Tutorial dazu
[ WINDOWS SERVER ] Ports Freischalten (FRITZ!Box)
Aber wenn es nur 2-3 Personen(Freunde sind) dann kannst du auch Hamachi nehmen da musst du keine Ports freischalten und so
Hier mit Hamachi geht es so:
[ WINDOWS SERVER ] Server Mit Hamachi -
naja ein Lehrer wäre ne ganz gute Idee aber bisher bin ich auch so wunderbar zurecht gekommen und aus den Tutorials hab ich auch bisschen was genommen bzw werde mir nochwas anschauen
/edit: Naja egal jedenfalls ist mein problem gelöst
-
Naja aber irgendwie muss man s ja lernen und jedes kleine bisschen hier im Forum nachzufragen is auch doof
-
Ja kann ich machen
Aber mittlerweile hat sich das geklärt keine Ahnung warum
Vorher hatte ich das nach dem tutorial von MrMonat gemacht aber ich hab mitbekommen, dass es ein Dialog Password gibt und hab beim Login und so einfach alles von DIALOG_STYLE_INPUT in DIALOG_STYLE_PASSWORD umgewandelt und jetzt geht es
Ich zeigs euch mal^^public OnPlayerConnect(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen"); //aus Input wurde Password
}
else
{
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
}return 1;
}//Register
if(dialogid==DIALOG_Register)
{
if(response==0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das Passwort war icht lang genug");
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}}
}
//Für Login
if(dialogid==DIALOG_Login)
{
if(response==0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
Kick(playerid);
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das Passwort war nicht lang genug");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen"); // _INPUT zu _PASSWORD
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,grün,"Erfolgreich registriert");
dini_IntSet(Spielerdatei,"Level",0);
return 1;
}stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
SendClientMessage(playerid,grün,"Erfolgreich eingeloggt");
return 1;
}
else
{
SendClientMessage(playerid,blau,"Falsches Passowrt");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen"); //auch hier wieder _INPUT zu _PASSWORD
return 1;
}}
Und hier nochmal die .txt Datei
Passwort=*************
Level=0Es hat sich also erledigt allerdings weis ich nicht ganz, warum es auf einmal funktioniert
-
naja ich hab erstmal ewig gebraucht um es auf mein Script umzuschreiben
Aber es klappt leider nicht
Vieleleicht lag es daran, dss ich es wieder auf mein Script umgeschrieben hab aber ging ja nicht anders^^
/edit: Kann das keiner beheben oder mir sagen wie es geht
-
Zeig mal, was in der Zeile 26 ist
Dann kann man dir vielleicht besser helfen -
-
Also ich habe gerade ein Login/Register System gescriptet
Es klappt auch alles mit dem registrieren und so weiter aber beim einloggen kann man einfach jedes Passwort eingeben es ist völlig egal udn das ist ein bisschen sch****hier mal der code und so
Stocks:
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,grün,"Erfolgreich registriert");
dini_IntSet(Spielerdatei,"Level",0);
return 1;
}stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
SendClientMessage(playerid,grün,"Erfolgreich eingeloggt");
return 1;
}
else
{
SendClientMessage(playerid,blau,"Falsches Passowrt");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
return 1;
}
}OnDialogResponse:
//Register
if(dialogid==DIALOG_Register)
{
if(response==0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das Passwort war icht lang genug");
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}}
}
//Für Login
if(dialogid==DIALOG_Login)
{
if(response==0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
Kick(playerid);
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das Passwort war nicht lang genug");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}OnPlayerConnect
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
}
return 1;
}Ich hab keine Ahnung woran es liegt
Ich habe nachgeschaut alle Dialoge sind anders definiert
udn auch in die txt.wird das beim registrieren festgelegte Passwort gespeichert -
So ich hab mal ausführliche Screens gemacht
Ich hoffe es stört dich nicht das als paket bei Fileupload herunterzuladen
Ich hatte keine Lust jeder Bild einzeln bei Directupload oder so hochzuladen und hier einzufügen
Ich finde die Bugs aber nicht so schlimm außer meinem kranken Hirn kommt eh keiner drauf das auszuprobieren^^PS Wenn jemand ein Bildhoster kenn bei dem man mehrere Bilder hochladen kann sagt mir bescheid
Ok hab einen dank Shine
Hier mal die wichtigsten BilderMan ist unter dem Boden^^
Das mit der Sphinx poste ich nciht er kennt das "Problem" ja
-
Ja kann ich machen wobei es vielleicht schwer ist die zu überarbeiten ich bin bei der Sphinx hoch gelaufen und dan dahinter
-
hey also ich geb der Map
8/10
Die Map sieht sehr geil aus und ich hab sie auf mein DM Server gemacht das spielt sich klasse aber ich hab ziemlich schnell 2Stellen gefunden wo man sich in Felsen glitchen kann und so deshalb 8/10 -
Ja das Problem dasbei ist nur, dass ich die nicht gemappt habe und auch nicht mappen kann also weil ich auch nicht was von den Objekten der Boden ist.
Der Macher hat dahinter zwar mit // die Bezeichnung geschrieben aber die helfen mir nichtAber das ist egal ich hab ne andere Lösung gefunden.
Ich wusste ja keien genauen koordinaten deswegen hab ich mich auf gut Glück zu einem Objekt geportet und bin dabei immer gefallen.
Als ich dann auf dem Bode /save Paintball gemacht hab, hatte ich ja die genauen koordinaten und habs halt geändetr aber trotzdem Dankemal so nebenbei das SetPlayerPosFindZ was macht das genau? sucht das quasi den Boden?
-
Also das mit dem SetPlayerFindZ würde mir noch besser gefallen, weil es weniger ausgenuzt werden kann aber wenn ich ads so mache:
if (strcmp(cmdtext,"/paintball",true)==0)
{
SetPlayerPosFindZ(playerid,6253.05175781,-2162.83496094,12.94783306);
SetPlayerVirtualWorld(playerid,1);
SetPlayerHealth(playerid,100.0);
return 1;
}falle ich durch den Boden, weil ich mich zu einer gemappten Paintballarena teleportieren
-
Wie verzögert man einen Command zum Beispiel der hier
if (strcmp(cmdtext,"/paintball",true)==0)
{
SetPlayerPos(playerid,6253.05175781,-2162.83496094,12.94783306);
SetPlayerVirtualWorld(playerid,1);
SetPlayerHealth(playerid,100.0);
return 1;
}
Leider fällt man bei den Koordinaten etwas nach unten wodurch man Leben verliert also möchtze ich dem Spieler gernen weider leben geben aber weill das alles gleichzeitig durchgeführt wird hatt man 100 Health dann werden die Health wieder auf 100 gesetzt und dann kommt man auch und es werden einem 20 HP ode so agbezogen -
Wie kommt man in die Arena rein? bzw weiß einer welche Koordinaten man bei SetPlayerPos einsetzen muss?
Kann mir einer sagen welche Koordinaten gut sind um sie dort hineinzu porten oder welches Interior das ist?
-
Also ja ich hab den Dialof defined er wird mir Ingame auch angezeigt nur es passiert nicht wenn ich zum beispiel auf 1on1 klicke
und wenn ich ganz am ENde unter die Letzte geschweifte Klammer ein return 1; mache hab ich ein Error^^
-
Nein leider auch nicht
komisch eigentlich müsstes es gehen
Ich mein das System dieser List Dialoge ja nicht so schwerIch kann auch mal mein ganzes Script posten
Vielleicht hängt es auch mit dem Warning zusammen
D:\Spiele\Rockstar Games\Rockstar Games\Rockstar Games\SAMP 0.3d Server\gamemodes\Deathmatch.pwn(608) : warning 209: function "OnDialogResponse" should return a value -
Ah Ok Danke