Beiträge von Dominik

    noch einfahcer ist alle 5 minuten irgendws an die datenbank senden egal was somit hat er immer was zu tun

    1. Frage: Wenn ich alle 5 Minuten was an die Datenbank sende, passiert es nicht mehr?
    2.Frage: Ist das nicht viel zu Ressourcendfressend ?

    Moin,


    habe ein auf Mysql basierendes Login & Register System,
    alles kein Problem, jedoch hatte ich das Problem das bei einigen kein Login bzw. Register Dialog erschienen ist,
    dies passierte meist nach knapp 10 Minuten...
    Also, Server an: alles geht.
    10 Minuten später: Kein Dialog geht mehr (login,register)


    Jemand ne Idee?

    Hier die Dialoge





    enum
    {
    DIALOG_LOGIN,
    DIALOG_REGISTER,
    DIALOG_AFAHRZEUG,
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration - Der Anfang","Dein Passwort muss mindestens 6 Zeichen enthalten\nBitte wähle ein neues Passwort.","Registration","Abbrechen");
    if(strlen(inputtext)>=6)
    {
    CreateAccount(playerid, inputtext);
    Eingeloggt[playerid] = 1;
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    TextDrawHideForPlayer(playerid,LR[playerid][0]);
    TextDrawHideForPlayer(playerid,LR[playerid][1]);
    TextDrawHideForPlayer(playerid,LR[playerid][2]);
    TextDrawHideForPlayer(playerid,LR[playerid][3]);
    TextDrawHideForPlayer(playerid,LR[playerid][4]);
    TextDrawHideForPlayer(playerid,LR[playerid][5]);
    TextDrawHideForPlayer(playerid,LR[playerid][6]);
    TextDrawHideForPlayer(playerid,LR[playerid][7]);
    TextDrawHideForPlayer(playerid,LR[playerid][8]);
    TextDrawHideForPlayer(playerid,LR[playerid][9]);
    TextDrawHideForPlayer(playerid,LR[playerid][10]);
    TextDrawHideForPlayer(playerid,LR[playerid][11]);
    TextDrawShowForPlayer(playerid,SpielerUhr[playerid]);
    TextDrawShowForPlayer(playerid,SpielerDatum[playerid]);
    SetPlayerVirtualWorld(playerid,0);
    StopAudioStreamForPlayer(playerid);
    }
    else return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration - Der Anfang","Dein Passwort muss mindestens 6 Zeichen enthalten\nBitte wähle ein neues Passwort.","Registration","Abbrechen");
    }
    else return Kick(playerid);
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung - Willkommen zurück","Das angegebene Passwort war nicht korrekt.\nBitte gebe nun dein Passwort ein.","Anmelden","Abbrechen");
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName(playerid)), true))
    {
    Eingeloggt[playerid] = 1;
    LoadPlayer(playerid);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    TextDrawHideForPlayer(playerid,LR[playerid][0]);
    TextDrawHideForPlayer(playerid,LR[playerid][1]);
    TextDrawHideForPlayer(playerid,LR[playerid][2]);
    TextDrawHideForPlayer(playerid,LR[playerid][3]);
    TextDrawHideForPlayer(playerid,LR[playerid][4]);
    TextDrawHideForPlayer(playerid,LR[playerid][5]);
    TextDrawHideForPlayer(playerid,LR[playerid][6]);
    TextDrawHideForPlayer(playerid,LR[playerid][7]);
    TextDrawHideForPlayer(playerid,LR[playerid][8]);
    TextDrawHideForPlayer(playerid,LR[playerid][9]);
    TextDrawHideForPlayer(playerid,LR[playerid][10]);
    TextDrawHideForPlayer(playerid,LR[playerid][11]);
    TextDrawShowForPlayer(playerid,SpielerUhr[playerid]);
    TextDrawShowForPlayer(playerid,SpielerDatum[playerid]);
    SetPlayerVirtualWorld(playerid,0);
    StopAudioStreamForPlayer(playerid);
    return 1;
    }
    else return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung - Willkommen zurück","Das angegebene Passwort war nicht korrekt.\nBitte gebe nun dein Passwort ein.","Anmelden","Abbrechen");
    }
    else return Kick(playerid);
    }
    case DIALOG_AFAHRZEUG:
    {
    switch(listitem)
    {
    case 0:
    {
    new Float:x, Float:y, Float:z, supporter[MAX_PLAYER_NAME],string[200];
    GetPlayerName(playerid,supporter,MAX_PLAYER_NAME);
    GetPlayerPos(playerid,x,y,z);
    SetVehicleNumberPlate(car[playerid] = CreateVehicle(560,x,y,z,3,0,0,-1),"Supporter");
    PutPlayerInVehicle(playerid,car[playerid],0);
    SendClientMessage(playerid,0xFFB400FF,"Du hast ein Supporter Mobil gespawnt.");
    format(string,sizeof(string),"Support Fahrzeug von %s",supporter);
    supportveh[car[playerid]] = Create3DTextLabel(string,0xFFB400FF,0.0,0.0,0.0,30.0,0,1);
    Attach3DTextLabelToVehicle(supportveh[car[playerid]],car[playerid],0.0,0.0,2.0);
    SetVehicleVirtualWorld(car[playerid],GetPlayerVirtualWorld(playerid));
    SupMobil[playerid] = 1;
    return 1;
    }
    case 1:
    {
    new Float:x, Float:y, Float:z, supporter[MAX_PLAYER_NAME],string[200];
    GetPlayerName(playerid,supporter,MAX_PLAYER_NAME);
    GetPlayerPos(playerid,x,y,z);
    SetVehicleNumberPlate(car[playerid]=CreateVehicle(520,x,y,z,3,0,0,-1),"Supporter");
    PutPlayerInVehicle(playerid,car[playerid],0);
    SendClientMessage(playerid,0xFFB400FF,"Du hast ein Supporter Mobil gespawnt.");
    format(string,sizeof(string),"Support Fahrzeug von %s",supporter);
    supportveh[car[playerid]] = Create3DTextLabel(string,0xFFB400FF,0.0,0.0,0.0,30.0,0,1);
    Attach3DTextLabelToVehicle(supportveh[car[playerid]],car[playerid],0.0,0.0,2.0);
    SetVehicleVirtualWorld(car[playerid],GetPlayerVirtualWorld(playerid));
    SupMobil[playerid] = 1;
    return 1;
    }
    case 2:
    {
    new Float:x, Float:y, Float:z, supporter[MAX_PLAYER_NAME],string[200];
    GetPlayerName(playerid,supporter,MAX_PLAYER_NAME);
    GetPlayerPos(playerid,x,y,z);
    SetVehicleNumberPlate(car[playerid]=CreateVehicle(411,x,y,z,3,0,0,-1),"Supporter");
    PutPlayerInVehicle(playerid,car[playerid],0);
    SendClientMessage(playerid,0xFFB400FF,"Du hast ein Supporter Mobil gespawnt.");
    format(string,sizeof(string),"Support Fahrzeug von %s",supporter);
    supportveh[car[playerid]] = Create3DTextLabel(string,0xFFB400FF,0.0,0.0,0.0,30.0,0,1);
    Attach3DTextLabelToVehicle(supportveh[car[playerid]],car[playerid],0.0,0.0,2.0);
    SetVehicleVirtualWorld(car[playerid],GetPlayerVirtualWorld(playerid));
    SupMobil[playerid] = 1;
    return 1;
    }
    }
    }
    }
    return 1;
    }


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == LR[playerid][9])
    {
    if(Eingeloggt[playerid] == 0)
    {
    if(mysql_CheckAccount(playerid) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration - Der Anfang","{FFFFFF}Du hast nun die Möglichkeit, ein Passwort einzugeben.\nBedenke das es sicher sein sollte.\nEs muss mindestens 6 Zeichen beinhalten\n","Registrieren","Verlassen");
    CancelSelectTextDraw(playerid);
    return 1;
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung - Willkommen zurück","Dein Account wurde gefunden.\nBitte gib dein Passwort ein um dich anzumelden.","Anmelden","Verlassen");
    CancelSelectTextDraw(playerid);
    return 1;
    }
    }
    }
    else if(clickedid == LR[playerid][8])
    {
    if(Eingeloggt[playerid] == 0)
    {
    if(mysql_CheckAccount(playerid) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration - Der Anfang","{FFFFFF}Du hast nun die Möglichkeit, ein Passwort einzugeben.\nBedenke das es sicher sein sollte.\nEs muss mindestens 6 Zeichen beinhalten\n","Registrieren","Verlassen");
    CancelSelectTextDraw(playerid);
    return 1;
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung - Willkommen zurück","Dein Account wurde gefunden.\nBitte gib dein Passwort ein um dich anzumelden.","Anmelden","Verlassen");
    CancelSelectTextDraw(playerid);
    return 1;
    }
    }
    }
    }
    return 1;
    }

    Ja, folgendes Problem die Textdraws sind nicht anklickbar.. warum auch immer.






    Das habe ich bei OnPlayerConnect


    TextDrawShowForPlayer(playerid,Anmeldebox);
    TextDrawShowForPlayer(playerid,Fabulous);
    TextDrawShowForPlayer(playerid,Life);
    TextDrawShowForPlayer(playerid,Registrieren);
    TextDrawShowForPlayer(playerid,Anmelden);
    TextDrawShowForPlayer(playerid,Verlassen);
    SelectTextDraw(playerid, 0xA3B4C5FF);


    Und das hier bei OnGameModInit


    TextDrawSetSelectable(Anmeldebox, false); //Nicht anklickbar
    TextDrawSetSelectable(Fabulous, false);
    TextDrawSetSelectable(Life, false);
    TextDrawSetSelectable(Registrieren, true);
    TextDrawSetSelectable(Anmelden, true);
    TextDrawSetSelectable(Verlassen, true);



    Und die Funktionen


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == Registrieren)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)
    {
    if(mysql_CheckAccount(playerid) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration - Der Anfang","{FFFFFF}Du hast nun die Möglichkeit, ein Passwort einzugeben.\nBedenke das es sicher sein sollte.\nEs muss mindestens 6 Zeichen beinhalten\n","Registrieren","Verlassen");
    TextDrawHideForPlayer(playerid,Anmeldebox);
    TextDrawHideForPlayer(playerid,Fabulous);
    TextDrawHideForPlayer(playerid,Life);
    TextDrawHideForPlayer(playerid,Registrieren);
    TextDrawHideForPlayer(playerid,Anmelden);
    TextDrawHideForPlayer(playerid,Verlassen);
    CancelSelectTextDraw(playerid);
    return 1;
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    SendClientMessage(playerid,GRAU,"Dieser Account ist schon registriert, benutze den Anmeldebutton.");
    return 1;
    }
    }
    else if(clickedid == Anmelden)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)
    {
    if(mysql_CheckAccount(playerid) == 0)
    {
    SendClientMessage(playerid, GRAU,"Du besitzt noch keinen Account, benutze den Registrationsbutton.");
    return 1;
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung - Willkommen zurück","Dein Account wurde gefunden.\nBitte gib dein Passwort ein um dich anzumelden.","Anmelden","Verlassen");
    TextDrawHideForPlayer(playerid,Anmeldebox);
    TextDrawHideForPlayer(playerid,Fabulous);
    TextDrawHideForPlayer(playerid,Life);
    TextDrawHideForPlayer(playerid,Registrieren);
    TextDrawHideForPlayer(playerid,Anmelden);
    TextDrawHideForPlayer(playerid,Verlassen);
    CancelSelectTextDraw(playerid);
    return 1;
    }
    }
    }
    else if(clickedid == Verlassen)
    {
    SendClientMessage(playerid,HELLBLAU,"Du hast den Server verlassen.");
    Kick(playerid);
    TextDrawHideForPlayer(playerid,Anmeldebox);
    TextDrawHideForPlayer(playerid,Fabulous);
    TextDrawHideForPlayer(playerid,Life);
    TextDrawHideForPlayer(playerid,Registrieren);
    TextDrawHideForPlayer(playerid,Anmelden);
    TextDrawHideForPlayer(playerid,Verlassen);
    CancelSelectTextDraw(playerid);
    return 1;
    }
    }
    }
    return 1;
    }

    Moin,

    Jemand eine Ahnung wie ich die Box ein wenig... durchsichtig machen kann?





    Anmeldebox = TextDrawCreate(240.000000, 120.000000, "_");
    TextDrawBackgroundColor(Anmeldebox, 255);
    TextDrawFont(Anmeldebox, 1);
    TextDrawLetterSize(Anmeldebox, 0.75000000, 17.000000);
    TextDrawColor(Anmeldebox, -1);
    TextDrawSetOutline(Anmeldebox, 0);
    TextDrawSetProportional(Anmeldebox, 1);
    TextDrawSetShadow(Anmeldebox, 1);
    TextDrawUseBox(Anmeldebox, 1);
    TextDrawBoxColor(Anmeldebox, 255);
    TextDrawTextSize(Anmeldebox, 400.000000, 200.000000);

    Darauf kann dir keiner eine 'richtige' Antwort geben, der eine kommt mit dem, und der anderem mit dem besser klar.
    Es liegt halt daran, mit welchem von beiden Programmen du besser arbeiten kannst,

    beide haben Vor & Nachteile..

    Versteh ich jetzt nicht so genau.
    Also, ich habe einen Textdraw erstellt, und ne Box dran gemacht, die box ist aber nur breit,

    also ich kann die Höhe nicht regulieren, und der Text steht ja auch da drin :-/

    Moin,


    Benutze Zamaroths Textdraw Editor, aber ich weis nicht wie ich eine Rechteckige Box erstellen kann,
    die dazu auch noch ein wenig transparenz hat, jemand da Ahnung?

    Moin,


    Möchte es gerne so haben, das man wenn man schreibt im Umgebungschat schreibt, und nur Leute in unmittelbarer Entfernung es lesen können.
    Habe jedoch noch nie mit einem Chatradius gearbeitet.


    Hab mir das jetzt 3x Durchgelesen, aber ich verstehe trotzdem nicht was ich da jz genau falsch gemacht habe, was die einzelnen Dinge bewirken weis ich ja, nur irgendwie funktioniert es in dieser zusammensetzung nicht so wie ich es möchte.