Beiträge von varrez

    Ich mach mir doch nicht den Aufwand, den Stil jetzt zu suchen, bloß um dir das zu beweisen. Vielleicht kennt ja jemand den Namen.


    ..nur leider bin ich mir definitiv sicher, dass es bereits so ein ähnliches gibt.


    Solange du deine Aussagen nicht beweißen kannst, unterstell hier niemanden etwas. Es gibt so viele Stile und so viele davon sind identisch und trotzdem wurde nicht abgeguckt, oder nach gemacht!


    @Threadersteller: Haut einen jetzt nicht wirklich um, aber für dein erstes okay, besser was andere hier so liefern, als "erstes" Design^^

    Wenn du schon SpielerName(playerid) hast, warum pname? Nutz doch SpielerName(pID) ?


    Also das weg:
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(pID,pname,sizeof(pname));


    und die Formatierung durch das ersetzen:
    format(string,sizeof(string), "[Admin Meldung]: %s hat %s Respawnt.", SpielerName(playerid),SpielerName(pID));

    Deine Einstellung Learning by doing ist schon mal sehr gut!


    YT-Tutorials können helfen wenn man ein "Gerüst" braucht, oder zum rein kommen einfach nur mal sehen will. Ansonsten hast du Recht, ist es sozusagen abschreiben und somit Copy & Paste Style. Ich würd dir aber zum Anfang raten dich erstmal mit kleinerem zu befassen, z.B ein DM-Gamemode, an einem RP Script sind schon viele gescheitert, weil es ihnen einfach zu viel wurde, geraden bei Anfängern. Ansonsten kann ich nur auf die Tutorials die bereits gepostet worden sind verweißen. Falls du mal Hilfe brauchst, kannst du mich gerne per PN kontaktieren und ich versuche soweit zu helfen wie es geht.


    Viel Erfolg und Spaß beim Lernen, Grüße

    Ich bin genau so einer der was gegen das "jüngere Alter" hier im Forum ist, das hat aber nur mit älteren "Fällen" zutun, die es immer und immer wieder geschafft haben, zu zeigen das man "Kindern" keine Chance geben sollte. Außerdem ist das eine SA-MP Community, schön und gut wenn die Kids GTA mögen, aber es ist dennoch kein Spiel für Sie. Die meisten jüngeren hier können nicht einmal richtig schreiben, die sollen einfach für ihre Schule lernen und ihre 20 Threads am Tag in einem YuGiOh Forum oder sonstwo Posten, dinge für die man sich in diesem Alter eigentlich interessiert, aber Ausnahmen bestätigen die Regel, es gibt auch jüngere die geistige Reife zeigen und es gibt auch welche die sich wirklich gut Artikulieren können, das fängt meistens so ab 15 Jahren an.

    OnPlayerDeath
    Spieler[playerid][Kills]++;
    SetPlayerScore(playerid, Spieler[playerid][Kills]);


    So müsste es glaub auch funktionieren (ebenfalls anpassen)

    OnPlayerDeath:
    Spieler[killerid][Kills]++;
    Account Laden:
    SetPlayerScore(playerid, dini_Int(Playerdatei, "Kills"));
    Spieler[playerid][Kills] = dini_Int(Playerdatei, "Kills");
    Account Speichern:
    dini_IntSet(Playerdatei, "Kills", GetPlayerScore(playerid));
    dini_IntSet(Playerdatei, "Kills", Spieler[playerid][Kills]);


    So hab ich's, klappt einwandfrei, musst es nur auf dein Script anpassen

    Hab auch vorgestern eins aus langeweile angefangen, habe jetzt Login/Register, Adminsystem, diverse Userbefehle, Payday (mit Steuerabzug (Miete kommt noch)), Fahrschule, Führerscheine, /givepoints /clearpoints und und und, einfach das was einem einfällt ;)

    ocmd:tv(playerid, params[])
    {
    new pID,string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid, fGREY,"Benutze: /tv [Spieler]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, fGREY, "Der Spieler ist nicht eingeloggt!");
    if(pID == playerid)return SendClientMessage(playerid, fGREY, "Du beobachtest dich auch so schon!");
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, pID);
    format(string,sizeof(string),"Du beobachtest nun Spieler: %s.",SpielerName(pID));
    SendClientMessage(playerid, fWHITE,string);
    return 1;
    }


    ocmd:untv(playerid, params[])
    {
    TogglePlayerSpectating(playerid, 0);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid, fWHITE, "Du beobachtest nun niemanden mehr.");
    return 1;
    }


    Falls du den SpielerName-Stock nicht hast

    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    Adminabfrage musst du selbst machen

    So sieht es also per SendClientMessage aus, man kanns genau so gut für ein Dialog nutzen..


    new string[größe];
    format(string, sizeof(string),"Statistik von %s\n Geld: %d\nKills: %d\nLevel: %d\nAdmin: %d\n Tode: %d",Spielerid, GetPlayerMoney(playerid), SpielerInfo[playerid][pKills], GetPlayerScore(playerid), SpielerInfo[playerid][pAdmin], SpielerInfo[playerid][pTode]);
    ShowPlayerDialog(playerid, DIALOG_DEINEDEFINIERUNG, DIALOG_STYLE_MSGBOX, "Statistiken", string, "Schließen", "");

    Habe selber hin bekommen, lag an dem "Log-System" ( LicenseEntzug(); ) was genau nicht funktioniert hat, weiß ich jetzt nicht, werd ich mich nochmal beschäftigen mit. Danke trotzdem!

    Ich möchte das im Public "CheckLicenses" geprüft wird, ob die Strafpunkte auf die jeweiligen Licenzen 10 überschreiten, wenn ja, abnehmen. Klappt soweit auch wunderbar, nur das Problem ist, das nur der Autoschein, bzw. die AutoPunkte abgefragt werden. Wo ist der Fehler, kann da jemand mal drüber schauen? Würde mich über hilfe freuen. Liebe Grüße


    Edit: Nachdem CheckLicenses ausgeführt wird, schließt sich die Console und somit der Server, jemand evtl. eine Lösung? :/


    public CheckLicenses()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPVarInt(i, "Eingeloggt") == 0) continue;
    if(Spieler[i][AutoPunkte] >= 10)
    {
    new string1[128];
    format(string1, sizeof(string1), "Der Autoführerschein von %s wurde entzogen, Grund: %i/10 Strafpunkten!", SpielerName(i), Spieler[i][AutoPunkte]);
    LicenseEntzug(string1);
    Spieler[i][Autoschein] = 0;
    }
    else if(Spieler[i][BikePunkte] >= 10)
    {
    new string2[128];
    format(string2, sizeof(string2), "Der Motorradführerschein von %s wurde entzogen, Grund: %i/10 Strafpunkten!", SpielerName(i), Spieler[i][BikePunkte]);
    LicenseEntzug(string2);
    Spieler[i][Bikeschein] = 0;
    }
    else if(Spieler[i][LKWPunkte] >= 10)
    {
    new string3[128];
    format(string3, sizeof(string3), "Der LKW-Führerschein von %s wurde entzogen, Grund: %i/10 Strafpunkten!", SpielerName(i), Spieler[i][LKWPunkte]);
    LicenseEntzug(string3);
    Spieler[i][LKWSchein] = 0;
    }
    }
    return 1;
    }

    Ich arbeite kaum mit PVar's, aber in diesem Prinzip müsste es klappen: (könnte vom Code nicht stimmen)SetPVarInt(pID,"Fraktion", GetPVarInt(playerid,"Fraktion"));



    weil du setzt die Fraktion auf die vom Leader und nicht auf 1, 2, 3, 4 etc.

    Stell die Pixel-Font mal kleiner, überall wo sie ist.. so auf 8 px. und bei "Letzter CW" mach mal auf Arial, oder vllt Tahoma. Hau vllt noch nen MouseOver auf die Navi, Grüße.