Beiträge von Jeffry

    @m4a_X: Du verwendest aber in beiden Callbacks ebenfalls playerid :D Das solltest du ändern.


    Das erste Callback bringt dir in dem Fall nichts, weil nur der eingegebene Befehl übergeben wird, aber nicht von wem.


    Im zweiten Callback solltest du das return beim Kick raus machen, da sonst nur der erste Spieler mit der IP gekickt wird. Merkt das derjenige, dann loggt er sich mit zwei PCs ein und meldet sich mit der höheren ID an, dann fliegt die kleiner ID raus, und er ist RCON.


    Außerdem ist natürlich zu beachten, dass man sich auch über extern als RCON anmelden kann, da bringt kein Kick etwas (daher hat das Callback ja auch keinen playerid Parameter, wobei man (Kalcor) das natürlich hätte besser lösen können, aber seis drum).

    Der Rangname String ist nur 24 Zeichen groß, somit kann er nie mehr als 24 Zeichen lang sein. Im Endeffekt 23, wegen dem EOS Char, daher wird die Abfrage nie wahr. Erhöhe die Größe von Rangname, auch in sscanf.

    if (sInfo[pID][fraktion] == 5) { SetPlayerSkin(pID,(sInfo[playerid][skin]=187)); }


    Oder einfach:
    if (sInfo[pID][fraktion] == 5) { sInfo[playerid][skin] = 187; }


    Und nach den ganzen Abfragen:
    SetPlayerSkin(pID,sInfo[playerid][skin]);

    Zitat von http://forum.sa-mp.com/showthread.php?t=275492

    Also there are 3 different modes now:


    MAP_ANDREAS_MODE_FULL: Original mode, uses about 70MB RAM, requires SAfull.hmap in the scriptfiles directory, 1x1 squares
    MAP_ANDREAS_MODE_MINIMAL: Uses only 3x3 squares, and so it just needs ~9MB RAM, but is less precise. Requires SAmin.hmap.
    MAP_ANDREAS_MODE_NOBUFFER: Reads the data directly from the file without buffering, and so eats no additional RAM, but therefore it is WAY slower. Requires SAfull.hmap


    1) Beste Variante
    2) Minimale Variante, falls du RAM Beschränkungen hast
    3) Schlecht, da CPU belastet wird

    So willst du es, oder?
    ocmd:makeleader(playerid, params[])
    {
    if(!isAdmin(playerid, 4))return SendClientMessage(playerid,COLOR_DRED, "Dein Adminrang ist zu niedrig.");
    new pID, fID;
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,COLOR_GREY, "INFO: {FF9600}/makeleader {B3B3B3}[playerid] [fraktid]");
    if(isPlayerInFrakt(pID,fID))return SendClientMessage(playerid,COLOR_DRED, "Der Spieler ist schon in dieser Fraktion!");
    if(fID >= sizeof(fInfo))return SendClientMessage(playerid,COLOR_DRED, "Fraktion existiert nicht.");
    sInfo[pID][fraktion] = fID;
    sInfo[pID][rang] = 6;
    if(sInfo[pID][fraktion] == 1) { SetPlayerSkin(pID, 280); }
    else if (sInfo[pID][fraktion] == 2) { SetPlayerSkin(pID, 71); }
    else if (sInfo[pID][fraktion] == 3) { SetPlayerSkin(pID, 279); }
    else if (sInfo[pID][fraktion] == 4) { SetPlayerSkin(pID, 276); }
    else if (sInfo[pID][fraktion] == 5) { SetPlayerSkin(pID, 187); }
    else if (sInfo[pID][fraktion] == 6) { SetPlayerSkin(pID, 115); }
    else if (sInfo[pID][fraktion] == 7) { SetPlayerSkin(pID, 105); }
    else if (sInfo[pID][fraktion] == 8) { SetPlayerSkin(pID, 103); }
    else if (sInfo[pID][fraktion] == 9) { SetPlayerSkin(pID, 120); }
    else if (sInfo[pID][fraktion] == 10) { SetPlayerSkin(pID, 113); }
    else if (sInfo[pID][fraktion] == 11) { SetPlayerSkin(pID, 110); }
    new string[145];
    SpawnPlayer(pID);
    savePlayer(pID);
    format(string,sizeof(string),"Admin %s hat dich zum Leader der Fraktion %s gemacht",SpielerName(playerid), fInfo[fID][f_name]);
    SendClientMessage(pID, COLOR_DGREEN, string);
    format(string,sizeof(string),"Du hast %s zum Leader der Fraktion %s gemacht.",SpielerName(pID), fInfo[fID][f_name]);
    SendClientMessage(playerid, COLOR_DGREEN,string);
    return 1;
    }



    EDIT:
    @HydranT_: Danke für den Hinweis! :good:

    Da mysql_log auf LOG_ALL (alle Vorgänge protokollieren) gestellt ist, wird dir alles was das Plugin macht protokolliert.
    Daher ist es in Ordnung, dass die Datei erstellt wird. Solange dort nur [DEBUG]-Nachrichten sind ist alles in Ordnung.

    Ja, aber das ist doch so keine Funktion, das sind nur ein paar Zeilen Code. Vom Prinzip her werden entweder alle davon oder keine davon aufgerufen, das kann man nicht wirklich sinnvoll debuggen, den Print haben wir da ja schon. Wenn der kommt, dann müsste es auch alles klappen, oder?
    Poste das bitte mal komplett.

    Jo, das glaube ich dir, dass das keine Sache von 5 Minuten ist.


    Ich hab jetzt das Limit ein wenig gelockert


    Es scheint, zumindest in den paar Minuten in denen ich es getestet habe, besser zu sein. Es fehlen nur noch ein paar Buttons, die Smileys sind komplett da.

    Quelle: Eigener Screenshot


    Das ist jetzt Windows 10 + Internet Explorer.


    Kommt allerdings nur vor, wenn ich auf Antworten drücke und dann F5 drücke (manchmal auch erst nach dem zweiten mal).
    Aber ich beobachte es auf jeden Fall mal weiter.


    Danke auf jeden Fall, dass ihr da dran seit.

    if(dialogid== DIALOG_Autosystem)
    {
    if(response)
    {
    if(listitem==0)
    {
    //motorfunktion
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER) return SendClientMessage(playerid,blau,"Du bist nicht der Fahrer eines Fahrzeuges");
    new vID=GetPlayerVehicleID(playerid), motor, licht, alarm, tueren, bonnet, boot, objective;
    //Motor an/ausschalten:
    GetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    if(motor==1) motor = 0;
    else motor = 1;
    SetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    }
    }
    return 1;
    }