Beiträge von Goldkiller

    - - -
    Edit:
    Verstehe,nach langem nachdenken hab ich endlich verstanden was du mit dem Quark da meinst.
    Wäre wahrscheinlich schlauer gewesen es gleich als "ID: XX" zu kennzeichnen um eine Verwirrung auszuschließen.Hab dir das mal überarbeitet.
    dcmd_sethealth(playerid,params[])
    {
    new
    pID,
    Float:fHP;
    if(sscanf(params, "df",pID,fHP)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /sethealth [playerid] [healthpoints]");


    }
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");


    }
    new
    ThePlayer[MAX_PLAYER_NAME],
    GivePlayer[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(pID,GivePlayer,sizeof(GivePlayer));
    GetPlayerName(playerid,ThePlayer,sizeof(ThePlayer));
    SetPlayerHealth(pID,fHP);
    format(string,sizeof(string),"%s (ID %d) Healtpoints wurden von %s (ID %d) auf %.1f gesetzt!",GivePlayer,pID,ThePlayer,playerid,fHP);
    SendClientMessageToAll(COLOR_YELLOW,string);
    return 1;
    }

    Meine Quelle werde ich hier nicht posten, da auf dieser Seite auch noch andere wesentliche Sachen verfügbar sind die vllt. nicht jedes Kiddie bekommen sollte, wer es haben will soll mir ne PM schreiben.
    Ich kann aber schon eines sagen, Kye hat damals versucht mithilfe seines IRC Channels auf dem gtanet diese zu bestechen und damit gedroht #sa-mp auf einen anderen Server zu verlegen, wenn weiterhin MTA Devs bei gtanet im Team sind und wenn weiterhin auf gtanet.com MTA Server verlinkt sind, es gibt noch weitere Sachen, aber wie gesagt, die kann sich dann jeder selber durchlesen...


    Für mich zählt einfach bei einem Spiel die Community und die ist MTA zwar kleiner, aber wesentlich freundlicher


    Ach das...Ja davon hab ich gelesen.


    Ich mach mal wieder Beobachter...

    Zitat

    Wir wollen hier nur diskutieren und vllt. ein paar Spieler zum nachdenken motivieren...
    Das SA-MP mehr Spieler hat, ist unumstritten aber du musst auch die anderen Punkte berücksichtigen...


    Ich weiss selber,dass MTA besser ist in Sachen Sync,Funk. usw ist.
    SA:MP ist zwar schlicht,macht aber seinen Job.MTA hat sich selber in diese Situation gebracht,dadurch das sie ewig mit einem Release von MTA:SA / DM gewartet haben ( Nicht MTA:Race ).


    Zitat

    Goldkiller: Jo, Du kannst bei SA-MP bleiben.


    War auch nie die Rede davon,dass ich zu MTA "gehe" o0.


    onplayerupdate macht sehr wohl sinn. wenn der server abstürzt wird nichts gespeichert, daher ist ein backup sehr wichtig.


    Danke für den Tipp.Damit ich ein Backup für den Fall eines Servercrashes habe ( Was höchstwahrscheinlich an einem Fehlerhaften Script liegt ), belaste ich ihn vorher lieber mal richtig.[/Ironie]


    Zitat

    die aussage dass es unnötig ist, ist aber auch falsch und darum ging es mir^^


    In dem Script ist es auch unnötig.Von den 0,1% abgesehen wo OnPlayerUpdate() mal nicht zum speichern von Userdaten genutzt wird,ist das ganze Callback unnötig.

    Hab das Adminscript mal kurz überflogen.Wie nicht anders zu erwarten benutzt du hier auch OnPlayerUpdate().
    Das brauchst du 100% nicht.
    Es reicht völlig aus,beim verlassen des Server die Spielerdaten zu speichern.Denn beim nächsten betreten des Servers soll ja alles so gespeichert werden,wie es war als man den Server verlassen hat.
    Das ist nur sinnlose Belastung für den Server dafür OnPlayerUpdate() zu benutzten.


    Ich würde dir auch raten,beim einloggen diese Zeile zu entfernen:
    UpdateTimer = SetTimer("OnPlayerUpdate", 2000, 1);
    Mehr als Schrott.Das würde immer wenn sich jemand einloggt einen neuen Timer erstellen.Angenommen du hast bisher 10 Spieler die sich eingeloggt haben,dann hast du diesen Timer quasi 10x.Der würde allerdings OnPlayerUpdate() immer für playerid 0 aufrufen,ganz egal ob der Connectet ist oder nicht.
    Lösch es am besten und lass die Finger von OnPlayerUpdate() :\.

    Zitat

    //Dieses Admin Script steht unter dem Copyright von dem "Pro Racing Team - Clan"


    /kick & /ban sind aus dem Tutorial übernommen,dafür Copyright zu nehmen ... lol.


    //Edit:
    Den Command versteh ich auch nicht so ganz.Wozu soviel in der Schleife?
    dcmd_kickall(playerid,params[])
    {
    #pragma unused params
    if(SpielerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    for(new i =0; i < MAX_PLAYERS;i++) {
    if(IsPlayerConnected(i)) {
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    Kick(i);
    }
    }
    }
    else {
    SendClientMessage(playerid,rot,KEINADMIN);//hier anstatt playerid ein "i"?
    return 1;
    }
    return 1;
    }

    Das reicht auch:
    dcmd_kickall(playerid,params[])
    {
    #pragma unused params
    if(SpielerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
    for(new i =0; i < MAX_PLAYERS;i++) {
    Kick(i);
    }
    }
    else {
    SendClientMessage(playerid,rot,KEINADMIN);//hier anstatt playerid ein "i"?
    return 1;
    }
    return 1;
    }

    new pw[64];
    // blabla
    if(pw[playerid] != PlayerInfo[playerid][pPassword])
    Wie kommst du denn dort auf playerid ? :pinch:

    Zitat

    Bei Integern möglich, aber nicht bei Strings ô.0
    if(strcmp(pw[playerid], PlayerInfo[playerid][pPassword])) return print("Fail | Password incorrect.");
    strcmp muss da benutzt werden.


    Anmerkung oben,playerid ist da doch völlig falsch.


    Das Usersystem ist auch nicht unbedingt besser als das alte.Du benutzt wieder OnPlayerUpdate(),was wvöllig sinnlos ist.
    Wieso versteht fast keiner hier Forum,dass es ausreicht die Informationen ( Geld,Kills,usw ) zu speichern wenn der Spieler den Server verlässt X__0.


    *Push*
    Würde schon gern mal antworten haben :0!


    Ich stimm dem einfach mal zu.Der extra Godfather Bereich wird schon seit langem nicht mehr richtig genutzt.
    Die meisten verstehen sowieso nicht das Godfather zum Einstieg viel zu schwer ist ( Schwer nicht wirklich,sondern unglaub scheiße zum bearbeiten )

    Warum speicherst du alle Daten unter OnPlayerUpdate(playerid) ?
    Wieso checkst du in OnPlayerUpdate(playerid) ob der Spieler connectet ist?
    Weiterhin checkst du auch bei /login ob der Spieler connectet ist oder nicht,wieso aber bei /register nicht?


    Mehr sinnloses Zeug aufzählen mach ich,wenn mir diese beantwortet wurden :].



    Zitat

    Denke mal so geht das


    Nein,so gehts nicht.Da ist auch ein Fehler drin.
    new sendername = GetPlayerName(playerid,sendername,sizeof(sendername)); //<- 100% funktioniert das nicht

    Schon wieder auch diese genial IsPlayerConnected() Abfrage :cursing: .

    Könnte daran liegen,dass die Spieler im Gleichen Team sind.
    Die Funktion SetPlayerTeam() die Spieler untereinander Immun macht wenn sie im gleichen Team sind.
    SetPlayerTeam(playerid,TEAM_GROVE);

    Spieler des Grove-Team können sich also untereinander nicht Schaden.Bei allen Anderen müsste es aber funktionieren.

    - Wenn man bei "Server CFG bearbeiten" beim auswählen des Pfades auf abbrechen drückt,läuft die Aktion weiter um die Server.cfg zu bearbeiten.
    - Strg + S(ave) [speichern] wäre auch ganz nützlich.Ist in jedem Programm üblich.