Beiträge von Mofa-Killer

    Ich verstehe gerade nicht was du damit meinst:

    Zitat

    dieser Teil ist unnötig sprich ihn bei jeder Abfrage zu übernehmen , du bräuchtest ihn nur einmal übernehmen das würde Linien und Arbeit sparen...


    das 2. Problem ist jetzt erledigt. Das funktioniert jetzt. Die anderen beiden sind immer noch vorhanden.


    MfG

    Noch mal zum Thema /makeleader


    if(!strcmp(strget(cmdtext,0),"/makeleader"))
    if(IsPlayerAdmin(playerid))
    {
    new target = strval(strget(cmdtext,1)), Team = strval(strget(cmdtext,2)), name[128];
    format(save,sizeof(save),"Spieler/%s.ini",name);
    if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeleader [ID] [1-8]");
    {
    if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeleader [ID] [1-8]");
    {
    if(Team == 2)
    {
    SetPlayerSkin(target, 288);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der LS-Polizei gemacht");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Team",pInfo[target][gTeam]);
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
    }
    if(Team == 3)
    {
    SetPlayerSkin(target, 288);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der SF-Polizei gemacht");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
    }
    if(Team == 4)
    {
    SetPlayerSkin(target, 275);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Ledader der LS-Ärzte ernannt");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gTeam]);
    dini_IntSet(save,"Skin",pInfo[target][skin]);
    }
    if(Team == 5)
    {
    SetPlayerSkin(target, 275);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Ledader der SF-Ärzte ernannt");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gTeam]);
    dini_IntSet(save,"Skin",pInfo[target][skin]);
    }
    if(Team == 6)
    {
    SetPlayerSkin(target, 163);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader des LS-FBI ernannt");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
    dini_IntSet(save,"Skin",pInfo[target][skin]);
    }
    if(Team == 7)
    {
    SetPlayerSkin(target, 163);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Ledader des SF-FBI ernannt");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gTeam]);
    dini_IntSet(save,"Skin",pInfo[target][skin]);
    }
    if(Team == 8)
    {
    SetPlayerSkin(target, 163);
    SendClientMessage(target, COLOR_WHITE, "Du wurdest zum General der Bundeswehr ernannt");
    pInfo[target][gLeader] = Team;
    dini_IntSet(save,"Fraktionsleader",pInfo[target][gTeam]);
    dini_IntSet(save,"Skin",pInfo[target][skin]);
    }
    }}
    return 1;
    }


    Was ist dadran falsch, das er nicht speichert, das man in dem Team ist?
    Wäre schön wenn mir jemand via ICQ helfen würde.


    MfG

    Ich bin zwar kein Profi im scripten, aber ich arbeite dranne mich zu verbessern. :thumbup:


    Das die Daten für's DM aus einem anderen Spieleraccount geladen werden sollte möglich sein. Dazu müsste man nur wenn der User registriert 2 Files anlegen lassen. zBsp eine im Ordner RP und eine im Ordner DM. Wenn er jetzt spawnt wird die aus dem RP Ordner geladen. Wenn der Spieler nach dem spawnen /zocken eingibt, wird die aus dem Ordner DM geladen. Wenn er danach /leave eingibt wird das, was gespeichert werden soll, in der Datei im Ordner DM gespeichert und denn wieder die Datei aus dem RP Ordner geladen.


    Also das Prinzip was du dir vorstellst sollte möglich sein. Nach meinem Wissensstand.


    MfG

    public OnPlayerConnect(playerid)
    {
    new name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
    GetPlayerName(playerid,name,sizeof(name)); // Dies sagt, er soll( vom Spieler, den namen, in der größe name aufschreiben)
    format(save,sizeof(save),"/Spieler/%s.ini",name); // Hiermit machen wir ein Format, dass er es im Scriptfile Ordner im Ordner Spieler anlegen soll. Durch GetPlayerName haben wir jetzt den Namen. Jetzt speichert er es in *Name*.ini .
    if(dini_Exists(save))
    {
    new paydayzeit = dini_Int(save,"zeitseitpayday"); // Lädt in der Datei des Spielers das was unter zeitseitpayday gespeichert ist und speichert es in der Variable paydayzeit.
    new spielzeitinsgesamt = dini_Int(save,"spielzeit"); // Lädt in der Datei des Spielers das was unter spielzeit gespeichert ist und speichert es in der Variable spielzeitinsgesamt.
    pSincePayday[playerid] = paydayzeit; // ändert die pSincePAyday variable um zu dem was wir gespeichert haben (bzw. erst noch kommt im Tut)
    pPlaytime[playerid] = spielzeitinsgesamt; // Das gleiche wie darüber nur mit anderen Variablen
    pimerday[playerid] = SetTimerEx("pimer",360000,1,"i",playerid);
    SendClientMessage(playerid, COLOR_YELLOW, "*** Willkommen Zurück, Logge dich mit /login [Passwort] ein");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    GivePlayerMoney(playerid,dini_Int(save,"Geld"));
    SetPlayerSkin(playerid,dini_Int(save,"Skin"));
    SetPlayerWantedLevel(playerid,dini_Int(save,"Wanteds"));
    pInfo[playerid][autos] =dini_Int(save,"Autoführerschein");
    pInfo[playerid][flug] =dini_Int(save,"Flugführerschein");
    pInfo[playerid][mofa] =dini_Int(save,"Mofaführerschein");
    pInfo[playerid][kfz] =dini_Int(save,"Lkwführerschein");
    pInfo[playerid][motorrad] =dini_Int(save,"Motorradführerschein");
    pInfo[playerid][boot] =dini_Int(save,"Bootsführerschein");
    pInfo[playerid][alevel] =dini_Int(save,"Adminlevel");
    pInfo[playerid][fRank] =dini_Int(save,"Fraktionsrank");
    }
    else
    {
    if(!dini_Exists(save))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "~Ich sehe du bist neu, bitte regestriere dich mit /register [Passwort]~");
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    new name[128], save[128];// Gleiche
    GetPlayerName(playerid,name,sizeof(name)); // wie
    format(save,sizeof(save),"/Spieler/%s.ini",name);// oben
    if(dini_Exists(save) && pInfo[playerid][eingeloggt]) // steht
    {
    KillTimer(pimerday[playerid]);
    dini_IntSet(save,"zeitseitpayday",pSincePayday[playerid]);// setzt in der Datei des Spielers zeitseitpayday auf das gleiche wie pSincePayday.
    dini_IntSet(save,"spielzeit",pPlaytime[playerid]);// setzt in der Datei des Spielers Spielzeit auf das gleiche wie pPlaytime.
    dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(save,"Wanteds",GetPlayerWantedLevel(playerid));
    dini_IntSet(save,"skin",pInfo[playerid][skin]);
    dini_IntSet(save,"Autoführerschein",pInfo[playerid][autos]);
    dini_IntSet(save,"Flugführerschein",pInfo[playerid][flug]);
    dini_IntSet(save,"Mofaführerschein",pInfo[playerid][mofa]);
    dini_IntSet(save,"Lkwführerschein",pInfo[playerid][kfz]);
    dini_IntSet(save,"Motorradführerschein",pInfo[playerid][motorrad]);
    dini_IntSet(save,"Bootsführerschein",pInfo[playerid][boot]);
    dini_IntSet(save,"Adminlevel",pInfo[playerid][alevel]);
    dini_IntSet(save,"Fraktionsrank",pInfo[playerid][fRank]);
    dini_IntSet(save,"Team",pInfo[playerid][gTeam]);
    }
    pInfo[playerid][skin] = 0;
    pInfo[playerid][eingeloggt] = 0;
    GangZoneHideForPlayer(playerid,groovezone);
    return 1;
    }


    Und Noch mal das hier:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new name[MAX_PLAYERS],save[128];
    GetPlayerName(playerid,name,sizeof name);
    format(save,sizeof save,"/Spieler/%s.ini",name);
    if(response)
    {
    switch(dialogid) // dialogid auswählen
    {
    case DIALOG_LOGIN: // ID Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
    {
    pInfo[playerid][skin] = dini_Int(save,"skin");
    pInfo[playerid][autos] =dini_Int(save,"Autoführerschein");
    pInfo[playerid][flug] =dini_Int(save,"Flugführerschein");
    pInfo[playerid][mofa] =dini_Int(save,"Mofaführerschein");
    pInfo[playerid][kfz] =dini_Int(save,"Lkwführerschein");
    pInfo[playerid][motorrad] =dini_Int(save,"Motorradführerschein");
    pInfo[playerid][boot] =dini_Int(save,"Bootsführerschein");
    pInfo[playerid][alevel] =dini_Int(save,"Adminlevel");
    pInfo[playerid][fRank] =dini_Int(save,"Fraktionsrank");
    pInfo[playerid][gTeam] =dini_Int(save,"Team");
    pInfo[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // ID Registrieren
    {
    if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(save);
    dini_Set(save,"Passwort",inputtext);
    pInfo[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    return 1;
    }


    Das sind die stellen wo das Passwort abgefragt wird und gespeichert wird.


    MfG

    Hallo,


    Ich habe ein paar Probleme mit dem Speichern in der .ini


    1. Das Passwort was gespeichert wird, ist nicht verschlüsselt. Sprich wenn man sich die .ini von dem Spieler anschaut, sieht man das Passwort so wie er es eingeben hat.
    2. Wenn man sich einloggen will, ist es egal, was man für ein Passwort eingibt, man wird immer eingeloggt.
    3. Wenn ich einen User per /makeleader zum Leader mache oder /invite in eine Fraktion einlade wird das auch nicht gespeichert. Wenn man sich denn wieder neu einloggt, ist man wieder Zivilist.


    Welche Daten werden jetzt benötigt, um die Fehler zu finden?


    MfG

    Fast ganz oben:


    forward CheckGate();


    Unter public OnGamemodeInit()


    SetTimer("CheckGate",1000,true);


    lspdgate1 = CreateObject(2990, 1549.62109375, -1628.046875, 16.296792984009, 0, 0, 269.74182128906);
    lspdgate2 = CreateObject(3037, 1589.341796875, -1637.9111328125, 14.639354705811, 0, 0, 270.49987792969);


    Fast ganz unten ist das:


    public CheckGate()
    {
    new lspdgate1_status;
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerInRangeOfPoint(i,10.0,1549.62109375, -1628.046875, 16.296792984009))lspdgate1_status=1;
    if(pInfo[playerid][gTeam] == LSPolizei) // Zeile 1516
    {
    }
    }
    if(lspdgate1_status)MoveObject(lspdgate1,1549.9049072266, -1618.0844726563, 16.296792984009,2);
    else MoveObject(lspdgate1,1549.62109375, -1628.046875, 16.296792984009,2);

    new lspdgate2_status;
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerInRangeOfPoint(i,10.0,1589.341796875, -1637.9111328125, 14.639354705811))lspdgate2_status=1;
    if(pInfo[playerid][gTeam] == LSPolizei) // Zeile 1528
    {
    }
    }
    if(lspdgate2_status)MoveObject(lspdgate2,1589.341796875, -1637.9111328125, 10.01442527771,2);
    else MoveObject(lspdgate2,1589.341796875, -1637.9111328125, 14.639354705811,2);
    }


    Da kommen denn folgende Errors:


    C:\Users\Administrator\Desktop\samp03 svr\gamemodes\lsms_rl.pwn(1516) : error 017: undefined symbol "playerid"
    C:\Users\Administrator\Desktop\samp03 svr\gamemodes\lsms_rl.pwn(1528) : error 017: undefined symbol "playerid"


    Die Zeilen hab ich im Text makiert.
    Wäre schön wenn es endlich mal klappen würde. Ich sitz da schon den ganzen Nachmittag dranne. ;(;(;(


    MfG

    Hi,


    Ich hab schon alles durchsucht, aber nichts gefunden was auch funktioniert hat.


    Also ich möchte gerne automatische Tore scripten, die nur aufgehen, wenn man in einer bestimmten Fraktion ist.
    Ich bin gerade bei den LSPD Toren bei.


    Momentan sieht es so aus:
    public CheckGate()
    {
    new lspdgate1_status;
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerInRangeOfPoint(i,10.0,1549.62109375, -1628.046875, 16.296792984009))lspdgate1_status=1;
    }
    if(lspdgate1_status)MoveObject(lspdgate1,1549.9049072266, -1618.0844726563, 16.296792984009,2);
    else MoveObject(lspdgate1,1549.62109375, -1628.046875, 16.296792984009,2);

    new lspdgate2_status;
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerInRangeOfPoint(i,10.0,1589.341796875, -1637.9111328125, 14.639354705811))lspdgate2_status=1;
    }
    if(lspdgate2_status)MoveObject(lspdgate2,1589.341796875, -1637.9111328125, 10.01442527771,2);
    else MoveObject(lspdgate2,1589.341796875, -1637.9111328125, 14.639354705811,2);
    }


    Die sollen halt nur aufgehen, wenn man ein Cop ist.


    PS: Ich hab alles nach dem Tutorial eingefügt: http://wiki.sa-mp.com/wiki/Automatic_Gates
    Es steht halt nicht drinne wie man das für Fraktionen machen kann.


    MfG

    Genau das selbe Problem hab ich auch. An der GM kann es nicht liegen, da die unter Windows sauber läuft.
    Wenn ich mch auf den Server connecte kommt da entweder Server restart oder "Server didn't resporn".


    Die Standart GM's die bei der Software mit bei sind funktionieren ohne Probleme.


    Hoffe es kann einer helfen.


    MfG

    Ich hab das ganze bei mir jetzt installiert. funktioniert auch soweit. Ein paar Fragen habe ich aber noch.


    1. Wie kann ich den File-Manger aktivieren? Also das man darüber auch was hochladen und runterladen kann, sowie GM oder so.
    2. Wie kann ich bestimmte Sache sperren? zBsp: Port und Max. Users
    3. Wie kann ich ein Log-In System einfügen? Also das man sich vorher einloggen muss um auf das Control-Panel zugreifen zu können.


    MfG
    mofa-killer

    Die Server sind nicht wirklich teuer, allerding so wie Silent schon sagte sind die Pings voll für'n Popo.
    Ich vergleiche momentan einige Angebote, und schaue mir die Ping-Werte an (dank Silent, wei0 ich nun wie das geht)


    Wenn ein 2. vielleicht noch mitamchen würde, der sich mit der ganzen Sache gut auskennt, wäre schon von Vorteil.


    MfG

    Ah Root Server von Hetzner. :D

    Die Server sind nicht von Hetzner sondern von Isgenug. Hetzner hat aber auch gute Angebote.
    Denn muss ich halt erstmal sehen wie ich die Server die ersten paar Monate finanziert kriege.


    Darf ich hier im Forum eigentlich mein Angebot äußern?


    MfG

    Wieviele SA-MP Server, Webseiten und Teamspeak-Server kann ich auf denen laufen lassen?
    Ich hab schon ein passendes Angebot überlegt, was nicht zu teuer ist und den Usern auch gefallen würde. Daher muiss ich wissen wieviele Teamspeak-Server usw. ich da rauf kriegen könnte.


    MfG