Beiträge von DialogHD

    Gibt viele Möglichkeiten die ID zu speichern, z.B. in deinem Spieler enum (falls du sowas hast) oder mit SetPVarInt...
    Und dann einfach in einem Dialog prüfen welche ID gespeichert ist.


    enum würde doch nicht funktionieren da der Dialog von Script aus vergrößert/verkleinert wird und nicht immer die selbe größe hat.
    Wie stellst du dir das vor?
    und mit SetPVarInt kann ich doch nur Werte für Spieler Speichern, ich kann ja auch schlecht die Position vom Notruf im Dialog Speichern.

    Soweit funktioniert alles,
    allerdings habe ich das ganze im DIALOG_STYLE_LIST, weil ich möchte das er den Notruf anklicken kann und anschließend ein Checkpoint etc entsteht.
    Wie kann ich jetzt am besten im Dialog die ID speichern bzw dafür sorgen das er die richtige ID bekommt.


    Gibt es dafür eine funktion?

    if (realchat)
    {
    if(SpielerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Als Toter kannst du nicht Sprechen!");
    return 0;
    }
    if(SpielerInfo[playerid][pTot] == 0)
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(i)) { return 0; }
    format(string, sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    }
    return false;
    }

    ich hab mal etwas rumprobiert und es derzeit so:


    ocmd:na(playerid,params[])
    {
    if(!IsPlayerConnected(playerid)) { return 1; }
    if(Team[playerid] == 0) return SendClientMessage(playerid,Rot,"Du bist dazu nicht befugt.");
    for(new i =0; i < MAX_PLAYERS; i++)
    {
    if(NotrufState[i] == 0) { return 1; }
    if(NotrufState[i] != Team[playerid]) { return 1; }
    new string[128] = "[NOTRUF]";
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(i,Name,sizeof(Name));
    strcat(string, "%s---",Name); //Error
    strcat(string, "%s---",Zeit[i]); //Error
    strcat(string, "%s---\n",Pos[i]); //Error
    strcat(string, "->%d\n\n",Beschreibung[i]); //hier seltsamer weise nicht xD
    }
    return 1;
    }


    Das ganze soll später so aussehen: (ein Beispiel)
    [NOTRUF]DialogHD---17:06---Santa Maria Beach---
    -> Hier brennt es


    allerdings bekomme ich 3 Errors:
    (1931) : error 035: argument type mismatch (argument 3)
    (1932) : error 035: argument type mismatch (argument 3)
    (1933) : error 035: argument type mismatch (argument 3)

    ocmd:respawncars(playerid,params[])
    {
    if(sSpieler[playerid][Rang] >= 11)
    {
    for(new i; i < 21; i++)
    {
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(!IsPlayerInVehicle(player,Fcars[sSpieler[playerid][Fraktion]][i]))
    {
    SetVehicleToRespawn(Fcars[sSpieler[playerid][Fraktion]][i]);
    }
    }
    }
    }
    }
    versuch es mal

    Eins deiner Plugins ist nicht aktuell oder nicht vorhanden.
    Wahrscheinlich das MySQL plugin, wenn du gerade mit MySQL arbeitest.
    Gern ist es aber auch mal der streamer ;)

    ich hatte bisher nichts damit zutuhn,
    aber vielleicht liegt es daran:
    ist vielleicht irgendwo eine Maximale anzahl definiert z.b. 50 und wenn diese zahl überschritten
    wird, kommt es zu diesen buggs
    (nur so eine kleine idee :D )

    if (strcmp("/ap", cmdtext, true, 10) == 0)
    {
    #define ap 1
    if(!IsPlayerAdmin(playerid)) { return 1; }
    ShowPlayerDialog(playerid,ap,DIALOG_STYLE_LIST,"{00FBFF}Admin Panel","{F70000}Kick\nBan\n{00FF15}goto\ngethere","Ausführen","Abbrechen");
    return 1;
    }


    versuch es mal so.