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?

    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

    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=0


    Es 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 :D


    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

    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^^


    Download


    PS Wenn jemand ein Bildhoster kenn bei dem man mehrere Bilder hochladen kann sagt mir bescheid :D
    Ok hab einen dank Shine
    Hier mal die wichtigsten Bilder
    Man 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 :D

    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 nicht


    Aber 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 Danke


    mal 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 schwer


    Ich kann auch mal mein ganzes Script posten :D


    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