Beiträge von Winnetou

    Das kommt aus der uf.inc (also müsste das ja eigentlich richtig sein):


    stock GetClosestPlayer(playerid) //By Slick (edited by Gabriel "Larcius" Cordes)
    {
    if(IsPlayerConnected(playerid) && IsPlayerConnected(0))
    {
    new closestplayer=0;
    new Float:closestdist=GetDistanceBetweenPlayers(playerid,0);
    for(new playerid2=0; playerid2<MAX_PLAYERS; playerid2++)
    {
    new Float:dist = GetDistanceBetweenPlayers(playerid,playerid2);
    if ((dist < closestdist))
    {
    closestdist = dist;
    closestplayer = playerid;
    }
    }
    return closestplayer;
    }
    return -1;
    }

    Was ist daran falsch?
    Wenn ich als Polizist / bust eingebe werde ich gebustet


    dcmd_bust(playerid,params[]) {
    #pragma unused params
    if(IsPlayerPolizei(playerid)) {
    new
    cplayerid,
    Float:x,Float:y,Float:z;
    GetClosestPlayer(cplayerid);
    GetPlayerPos(cplayerid,x,y,z);
    if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z)) {
    if(controll) {
    TogglePlayerControllable2(cplayerid,0);
    controll = false;
    }
    else {
    TogglePlayerControllable2(cplayerid,1);
    controll = true;
    }
    }
    }
    else SendClientMessage(playerid, COLOR_LIGHTBLUE, "/bust: Du bist kein Polizist");
    return 1;
    }

    aber eigentlich hat das doch nur was mit On PlayerDisconnect zu tun weil da sollte eigentlich das ganze gespeichert werden
    komischerweise lags daran

    Wenn man sich mit diesem System registriert und dann den Server verlässt wird nur das Passwort gespeichert. Wenn man zum 2. mal den Server verlässt wird alles ordnungsgemäß gespeichert. Wo liegt der Fehler???


    OnPlayerConnect
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/loginsystem/%s.ini",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    OnPlayerDisconnect
    new playername[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,playername,sizeof playername);
    format(accFormat,sizeof accFormat,"/loginsystem/%s.ini",playername);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt] && !classselection)
    {
    dini_IntSet(accFormat,"wanted",GetPlayerWantedLevel(Spieler[playerid][wanted]));
    if(Spieler[playerid][beruf] == 0) {
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    }
    GetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
    dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
    dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    dini_IntSet(accFormat,"Beruf",Spieler[playerid][beruf]);
    }
    OnDialogResponse
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/loginsystem/%s.ini",pname);
    if(response)
    {
    switch(dialogid) //Möglichkeit auswählen
    {
    case DIALOG_LOGIN: //Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
    Spieler[playerid][skin] = dini_Int(accFormat,"skin");
    Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
    Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
    Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
    Spieler[playerid][beruf] = dini_Int(accFormat,"Beruf");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    SetPlayerWantedLevel(playerid,dini_Int(accFormat,"wanted"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // Registrierung
    {
    if(!strlen(inputtext)) // Falls leere Eingabe
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    Spieler[playerid][beruf] = 0;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    classselection = true;
    ForceClassSelection(playerid);
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    }
    Weiß niemand wo der Fehler liegt?

    Achso ich habe immer nur die InteriorID geändert
    welches ist denn die AusgangsVW? 0?
    und wie viele VW gibt es?

    okay danke


    Edit:
    Ich habs grad mal im LVPD ausgetestet:
    Die Kollision ist in jedem Interior vorhanden, aber man sieht nichts also muss es noch eine andere Möglichkeit geben
    Nur welche??

    Hi,
    wie kann ich Interiors mehrfach verwenden?
    Es gibt ja viel mehr Häuser auf der Karte als Interiors.
    Beispiel:
    Ich nehme das Cityhall-Interior für eine Bank und ein Krankenhaus
    Wie trenne ich das nun voneinander, sodass 2Spieler, jeder in einem dieser Gebäude, sich nicht treffen können

    liegt das vielleicht daran, dass mit der datei beim erstellen irgendetwas gemacht wird?

    Problem gelöst!! Danke
    Ich habe die Dateien vom SA:MP-Server einfach auf dem Desktop gespeichert.
    Allerdings ergibt sich jetzt ein weiteres Problem:
    Wenn man sich registriert wird nur das Passwort, aber nichts anderes gespeichert. Beim nächsten Login und darauf folgenden Verlassen wird alles ordnungsgemäß gespeichert. Wo liegt der Fehler? (deswegen das lange Zitat)

    Problem gelöst!! Danke
    Ich habe die Dateien vom SA:MP-Server einfach auf dem Desktop gespeichert.
    Allerdings ergibt sich jetzt ein weiteres Problem:
    Wenn man sich registriert wird nur das Passwort, aber nichts anderes gespeichert. Beim nächsten Login und darauf folgenden Verlassen wird alles ordnungsgemäß gespeichert. Wo liegt der Fehler? (deswegen das lange Zitat)

    was ist jetzt mit der gl_common.inc, dass bei mir so viele errors angezeigt werden??


    Oder hat keiner Ahnung woran das jetzt liegen könnte?


    in dem grandlarc-GM funktioniert die ja, aber wieso gehts bei mir nicht?

    Ich habe das Loginsystem mit Hilfe des Tutorials von Blackfox erstellt. Die Datei muss ja erstellt worden sein, sonst wäre ja beim nächsten Connect nichts geladen worden. Es ist aber alles geladen worden.
    Soweit ist die Ordnerstruktur vorhanden: C:\Program Files (x86)\GTA\GTA San Andreas 1\scriptfiles\loginsystem
    und so sieht der Quellcode aus, der vom Loginsystem stammt:
    OnPlayerConnect
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/loginsystem/%s.ini",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    OnPlayerDisconnect
    new playername[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,playername,sizeof playername);
    format(accFormat,sizeof accFormat,"/loginsystem/%s.ini",playername);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt] && !classselection)
    {
    dini_IntSet(accFormat,"wanted",GetPlayerWantedLevel(Spieler[playerid][wanted]));
    if(Spieler[playerid][beruf] == 0) {
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    }
    GetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
    dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
    dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    dini_IntSet(accFormat,"Beruf",Spieler[playerid][beruf]);
    }
    OnDialogResponse
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/loginsystem/%s.ini",pname);
    if(response)
    {
    switch(dialogid) //Möglichkeit auswählen
    {
    case DIALOG_LOGIN: //Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
    Spieler[playerid][skin] = dini_Int(accFormat,"skin");
    Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
    Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
    Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
    Spieler[playerid][beruf] = dini_Int(accFormat,"Beruf");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    SetPlayerWantedLevel(playerid,dini_Int(accFormat,"wanted"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // Registrierung
    {
    if(!strlen(inputtext)) // Falls leere Eingabe
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    Spieler[playerid][beruf] = 0;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    classselection = true;
    ForceClassSelection(playerid);
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    }