Beiträge von Lui

    Mir wird kein Dialog angezeigt..


    new muell[][muellInfo]={
    [u]{1,0,0,1741.7400,-1034.3438,23.9609,0.0000,0.0000,0.0000},
    {2,0,0,1746.2051,-1034.3973,23.9609,0.0000,0.0000,0.0000},
    {3,0,0,1750.6563,-1034.4320,23.9609,0.0000,0.0000,0.0000}[/u]
    };

    Hallo,
    1 von 3 Text Lable updatet sich, die anderen sind in den Variablen gespeichert aber werden nicht in das Text-Lable geupdatet.
    Compiler spuckt keine Fehler aus.


    SetTimer("Muelllable",1000,true);//zum Erstellen des Timers für das Updaten der Flaschen.
    muelllable=Create3DTextLabel(string,Weiß,muell[i][mx],muell[i][my],muell[i][mz],15.0,0,0);

    forward Muelllable();
    public Muelllable()
    {
    for(new i=0; i<sizeof(muell); i++)
    {
    new string[128];
    format(string,sizeof(string),"Mülltonne %i\nVerfügbare Flaschen:%i",muell[i][mid],muell[i][Pfand]);
    Update3DTextLabelText(muelllable, Weiß, string);
    }
    return 1;
    }


    Das wird mir Ingame angezeigt.

    Hast du Fraktion in einem Enum?

    Ist vorhanden ja.
    enum fInfo{ fID, fname[128], fleader[MAX_PLAYER_NAME], fmember, fkasse, Float:f_x, Float:f_y, Float:f_z}new Fraktion[MAX_FRAKTION][fInfo];


    EDIT:
    //Das beim Befehl eingefügt
    Spieler[pID][invite]=Spieler[playerid][fid];


    //Das bei OnDialogResponse
    Spieler[playerid][fid]=Spieler[playerid][invite];
    Spieler[playerid][invite]=0;


    würde dieses funktionieren?
    funktioniert alles perfekt, falls Verbesserungsvorschläge in euren Köpfen stecken, haut sie raus.
    Besten Dank für die Hilfe.

    Hallo,
    wie im Titel schon beschrieben suche ich einen Lösungsansatz für mein Invite System.
    Mein Stand ist derzeit dieser:

    //Der Befehl
    ocmd:invite(playerid,params[])
    {
    new playername[MAX_PLAYER_NAME],string[128],pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Gelb,"Benutze: /invite [ID]");
    if(Spieler[playerid][fleader]==1)return SendClientMessage(playerid,Rot,"Du bist kein Leader einer Fraktion.");
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),"Der Leader %s der Fraktion %s möchte dich in die Fraktion aufnehmen.",playername,Fraktion[Spieler[playerid][fid]][fname]);
    ShowPlayerDialog(pID,13,DIALOG_STYLE_MSGBOX,"Einladung zur Fraktion",string,"Annehmen","Ablehnen");
    return 1;
    }


    //OnDialogResponse
    if(dialogid==InviteDialog)
    {
    if(response == 1)
    {
    Spieler[playerid][fid]== ???
    }
    if(response == 0)
    {

    }
    return 1;
    }


    Mein Problem an dieser Stelle ist, dass ich nicht weiß wie ich die Fraktionsid auslesen lasse von dem Spieler der den /invite Befehl eingegeben hat.

    Guten Tag,
    und zwar wenn ich diesen Befehl eingebe und der Code ausgeführt wird, dann crasht der Server.
    Keine Angaben sind im Server Log.

    ocmd:createfrak(playerid,params[])
    {
    new frakname[35],fraktion[35],query[128];
    if(sscanf(params,"s[35]",frakname))return SendClientMessage(playerid,Gelb,"Benutze: /createfrak [Name]");
    mysql_escape_string(frakname,fraktion,dbhandle);
    format(query,sizeof(query),"INSERT INTO fraktion (Name) VALUES ('%s')",fraktion);
    mysql_function_query(dbhandle,query,false,"","");
    SendClientMessage(playerid,Gelb,"Du hast die Fraktion %s erstellt und der Datenbank hinzugefügt.");
    return 1;
    }

    ocmd:pflanzen(playerid)
    {
    new Float:x, Float:y, Float:z, Float:rot, name[MAX_PLAYER_NAME],string1[100],string2[100],string3[100], timer,Text3D:drogenlabel;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid,rot);
    GetPlayerName(playerid, name, sizeof(name));
    CreateObject(19473, x, y, z -1.5, 0.0, 0.0, 0.0, 0.0);
    format(string1,sizeof(string1), "Drogenpflanze von: %s", name);
    timer = SetTimer("DrogenEnde", 6000, false);
    format(string2,sizeof(string2), "Diese Pflanze braucht noch %i.",timer);
    format(string3,sizeof(string3), "%s \n %s", string1, string2);
    drogenlabel = Create3DTextLabel(string3,Gelb,x,y,z,5,0,0);
    Update3DTextLabelText(drogenlabel, Gelb, string3);
    return 1;
    }
    }


    Das Textlabel zeigt den derzeitigen Timer nicht an.
    Vorerst soll nur der Timer im 3D Textlable im Stande sein runter zu laufen.
    help :)