Beiträge von Derakar

    Achso ja das hab ich nicht ich will ja nur die Box rechts daneben ankickbar machen. Das hab ich gemacht:


    PlayerTextDrawSetSelectable(playerid, SB_PASSFELD[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, SB_LOGIN[playerid], 1);


    Sieht so aus:


    Hey ich will ein TextDraw Login/Register machen und stehe jetzt vor ein paar Problemen.


    Hier die Textdraws bei OnConnect:


    Das Problem: Passwort und Login lassen sich nicht anklicken...
    Und ich weiß nicht wie ich das mit meinem jetzigen Login/Register verbinde (das aber später)
    Und der Background (SB_BG) wird nicht angezeigt.


    //######### Startbildschirm #############

    SB_BG[playerid] = CreatePlayerTextDraw(playerid,320.000000, 0.000000, "Hintergrund ");
    PlayerTextDrawAlignment(playerid,SB_BG[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_BG[playerid], 255);
    PlayerTextDrawFont(playerid,SB_BG[playerid], 1);
    PlayerTextDrawLetterSize(playerid,SB_BG[playerid], 0.500000, 50.000000);
    PlayerTextDrawColor(playerid,SB_BG[playerid], -1);
    PlayerTextDrawSetOutline(playerid,SB_BG[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_BG[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_BG[playerid], 1);
    PlayerTextDrawUseBox(playerid,SB_BG[playerid], 1);
    PlayerTextDrawBoxColor(playerid,SB_BG[playerid], 255);
    PlayerTextDrawTextSize(playerid,SB_BG[playerid], 0.000000, -650.000000);

    SB_NICK[playerid] = CreatePlayerTextDraw(playerid,230.000000, 220.000000, "Nickname:");
    PlayerTextDrawAlignment(playerid,SB_NICK[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_NICK[playerid], 255);
    PlayerTextDrawFont(playerid,SB_NICK[playerid], 1);
    PlayerTextDrawLetterSize(playerid,SB_NICK[playerid], 0.300000, 1.399999);
    PlayerTextDrawColor(playerid,SB_NICK[playerid], -65281);
    PlayerTextDrawSetOutline(playerid,SB_NICK[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_NICK[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_NICK[playerid], 1);

    SB_PASS[playerid] = CreatePlayerTextDraw(playerid,230.000000, 250.000000, "Passwort:");
    PlayerTextDrawAlignment(playerid,SB_PASS[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_PASS[playerid], 255);
    PlayerTextDrawFont(playerid,SB_PASS[playerid], 1);
    PlayerTextDrawLetterSize(playerid,SB_PASS[playerid], 0.300000, 1.399999);
    PlayerTextDrawColor(playerid,SB_PASS[playerid], -65281);
    PlayerTextDrawSetOutline(playerid,SB_PASS[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_PASS[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_PASS[playerid], 1);

    SB_NICKFELD[playerid] = CreatePlayerTextDraw(playerid,325.000000, 220.000000, "NickFeld ");
    PlayerTextDrawAlignment(playerid,SB_NICKFELD[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_NICKFELD[playerid], 255);
    PlayerTextDrawFont(playerid,SB_NICKFELD[playerid], 1);
    PlayerTextDrawLetterSize(playerid,SB_NICKFELD[playerid], 0.300000, 1.399999);
    PlayerTextDrawColor(playerid,SB_NICKFELD[playerid], -1);
    PlayerTextDrawSetOutline(playerid,SB_NICKFELD[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_NICKFELD[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_NICKFELD[playerid], 1);
    PlayerTextDrawUseBox(playerid,SB_NICKFELD[playerid], 1);
    PlayerTextDrawBoxColor(playerid,SB_NICKFELD[playerid], 673322751);
    PlayerTextDrawTextSize(playerid,SB_NICKFELD[playerid], 0.000000, -130.000000);

    SB_PASSFELD[playerid] = CreatePlayerTextDraw(playerid,325.000000, 250.000000, "#########");
    PlayerTextDrawAlignment(playerid,SB_PASSFELD[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_PASSFELD[playerid], 255);
    PlayerTextDrawFont(playerid,SB_PASSFELD[playerid], 1);
    PlayerTextDrawLetterSize(playerid,SB_PASSFELD[playerid], 0.300000, 1.399999);
    PlayerTextDrawColor(playerid,SB_PASSFELD[playerid], -1);
    PlayerTextDrawSetOutline(playerid,SB_PASSFELD[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_PASSFELD[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_PASSFELD[playerid], 1);
    PlayerTextDrawUseBox(playerid,SB_PASSFELD[playerid], 1);
    PlayerTextDrawBoxColor(playerid,SB_PASSFELD[playerid], 673322751);
    PlayerTextDrawTextSize(playerid,SB_PASSFELD[playerid], 0.000000, -130.000000);

    SB_LOGIN[playerid] = CreatePlayerTextDraw(playerid,420.000000, 300.000000, "Login");
    PlayerTextDrawAlignment(playerid,SB_LOGIN[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_LOGIN[playerid], 255);
    PlayerTextDrawFont(playerid,SB_LOGIN[playerid], 1);
    PlayerTextDrawLetterSize(playerid,SB_LOGIN[playerid], 0.300000, 1.000000);
    PlayerTextDrawColor(playerid,SB_LOGIN[playerid], -1);
    PlayerTextDrawSetOutline(playerid,SB_LOGIN[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_LOGIN[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_LOGIN[playerid], 1);
    PlayerTextDrawUseBox(playerid,SB_LOGIN[playerid], 1);
    PlayerTextDrawBoxColor(playerid,SB_LOGIN[playerid], 673322751);
    PlayerTextDrawTextSize(playerid,SB_LOGIN[playerid], 0.000000, -34.000000);

    SB_SN[playerid] = CreatePlayerTextDraw(playerid,294.000000, 156.000000, "ServerName");
    PlayerTextDrawAlignment(playerid,SB_SN[playerid], 2);
    PlayerTextDrawBackgroundColor(playerid,SB_SN[playerid], 255);
    PlayerTextDrawFont(playerid,SB_SN[playerid], 0);
    PlayerTextDrawLetterSize(playerid,SB_SN[playerid], 0.700000, 3.000000);
    PlayerTextDrawColor(playerid,SB_SN[playerid], -65281);
    PlayerTextDrawSetOutline(playerid,SB_SN[playerid], 0);
    PlayerTextDrawSetProportional(playerid,SB_SN[playerid], 1);
    PlayerTextDrawSetShadow(playerid,SB_SN[playerid], 1);

    new NickFeld[128];
    format(NickFeld,sizeof(NickFeld),"%s",SpielerName(playerid));
    PlayerTextDrawSetString(playerid,SB_NICKFELD[playerid],NickFeld);
    PlayerTextDrawSetString(playerid,SB_SN[playerid],SERVERNAME);
    PlayerTextDrawSetString(playerid,SB_PASSFELD[playerid],"Passwort");

    PlayerTextDrawSetSelectable(playerid, SB_PASSFELD[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, SB_LOGIN[playerid], 1);

    SelectTextDraw(playerid, 0x00FF00FF);

    PlayerTextDrawShow(playerid, SB_BG[playerid]);
    PlayerTextDrawShow(playerid, SB_NICK[playerid]);
    PlayerTextDrawShow(playerid, SB_PASS[playerid]);
    PlayerTextDrawShow(playerid, SB_NICKFELD[playerid]);
    PlayerTextDrawShow(playerid, SB_PASSFELD[playerid]);
    PlayerTextDrawShow(playerid, SB_LOGIN[playerid]);
    PlayerTextDrawShow(playerid, SB_SN[playerid]);


    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == SB_PASSFELD[playerid]) {
    CancelSelectTextDraw(playerid);
    PlayerTextDrawHide(playerid, SB_PASSFELD[playerid]);
    }
    return 1;
    }

    Nein das war nicht der Fehler. Hier auf für die Nachwelt: :rolleyes:


    if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER){
    new sitz = GetPlayerVehicleSeat(playerid); // Hier war der "Fehler" nicht GetPlayerState() sondern das!
    SetVehiclePos(vID,X + 2.0,Y,Z);
    PutPlayerInVehicle(playerid,vID,sitz);
    }

    Ja das weiß ich ja ABER ich habs nicht hinbekommen. Ich habs schon probiert mit:


    pState = GetPlayerState(playerid)


    oder muss ich das SO machen und ggf. else if machen?


    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)



    //EDIT:
    Funktioniert aber nicht der stellt den Spieler dann auf das Dach.

    Hey ich weiß nicht wie ich das anstellen soll, dass man als Beifahrer auch das Fahrzeug mitportet. Zurzeit wird man ja auf den Fahrersitz gesetzt.


    ocmd:goto(playerid,params[])
    {
    new pID,Float:X,Float:Y,Float:Z,n1[128],n2[128];
    new vID = GetPlayerVehicleID(playerid);
    if(sInfo[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
    if(sInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, GRAU, "Dein Adminlevel reicht für den Befehl nicht aus!");
    if(sscanf(params, "i", pID)) return SendClientMessage(playerid, GRAU, "Verwende: /goto {FF9E00}<Spieler-ID>");
    GetPlayerPos(pID,X,Y,Z);
    SetVehiclePos(vID,X + 2.0,Y,Z);
    SetPlayerPos(playerid,X + 2.0,Y,Z);
    SetPlayerInterior(playerid,GetPlayerInterior(pID));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
    PutPlayerInVehicle(playerid,vID,0);
    format(n1,sizeof(n1), "Du hast dich zu %s teleportiert.", SpielerName(pID));
    SendClientMessage(playerid, DGRUEN, n1);
    format(n2,sizeof(n2), "%s hat sich zu dir teleportiert.", SpielerName(playerid));
    SendClientMessage(pID, DGRUEN, n2);
    return 1;
    }

    Wie kann man das Textdraw bei der Uhr so anzeigen lassen? 23:05:00 und nicht 23:5:0?
    Hab das jetzt so:


    public TimeUpdate()
    {
    new string[50],Hour, Minute, Second, Year, Month, Day;
    gettime(Hour, Minute, Second);
    getdate(Year, Month, Day);
    format(string, sizeof string, "%d.%d.%d", Day, Month, Year);
    TextDrawSetString(Datum, string);
    format(string, sizeof string, "%d:%d:%d", Hour, Minute, Second);
    TextDrawSetString(Uhr, string);
    return 1;
    }

    @Rocky 
    hab ich ja auch nicht gemacht ich bin auch immer froh wenn jemand das gleiche Problem hatte.


    filezilla
    sry bin eingeschlafen aber per TV oder Skype mach ich das nicht. Poste dein Code und stell deine Frage und mal sehen ob man dir helfen kann.

    Hey, wie mache ich das, dass wenn der Spieler automatisch in den Interior geht, er nicht gleich wieder raus geht? Also wie muss der Timer aussehen?


    Ich hab das bis jetzt so gemacht:


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i=0; i<sizeof(iInfo); i++){
    if(!IsPlayerInRangeOfPoint(playerid,1,iInfo[i][IP_X],iInfo[i][IP_Y],iInfo[i][IP_Z]))continue;
    SetPlayerPos(playerid,iInfo[i][IP_IntX],iInfo[i][IP_IntY],iInfo[i][IP_IntZ]);
    SetPlayerInterior(playerid,iInfo[i][IP_Interior]);
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    return 1;
    }


    enum InteriorPos{
    Float:IP_X,
    Float:IP_Y,
    Float:IP_Z,
    Float:IP_IntX,
    Float:IP_IntY,
    Float:IP_IntZ,
    IP_Interior
    }


    new iInfo[][InteriorPos] = {
    {1554.8782,-1675.6160,16.1953,238.6850,139.3324,1003.0234,3},
    {238.6850,139.3324,1003.0234,1554.8782,-1675.6160,16.1953,0}
    };


    Noch dazu wird der Spieler beim Verlassen nicht in die Virtuelle Welt 0 gesetzt.

    Oh ich denke das ist dann nur hier:


    public OnPasswortResponse(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,mysql);
    if(num_rows == 1){
    sInfo[playerid][pEingeloggt] = 1;
    sInfo[playerid][pDBID] = cache_get_field_content_int(0,"ID",mysql); // HIER
    sInfo[playerid][pLevel] = cache_get_field_content_int(0,"Level",mysql);
    SetPlayerScore(playerid,sInfo[playerid][pLevel]);
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"Geld",mysql));
    sInfo[playerid][pAdmin] = cache_get_field_content_int(0, "Admin",mysql);

    SetSpawnInfo( playerid, 0, 289, 1511.8359, -1713.5916, 14.0469, 222.1692, 0, 0, 0, 0, 0, 0 );
    SpawnPlayer(playerid);
    } else {
    new input[200];
    format(input,sizeof(input),"{908B8E}Das angegebene Passwort ist nicht korrekt.\nGebe hier bitte dein Passwort ein, welches du bei der Registrierung gewählt hast.",SERVERNAME);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,3,"{FF9E00}Login",input,"Absenden","Verlassen");
    }
    return 1;
    }

    Der CheckUser ist der hier: Der hoch sich ja die ID und schaut ob es den Spieler gibt.


    public CheckUser(playerid)
    {
    new num_rows, num_fields;
    cache_get_data(num_rows, num_fields, mysql);
    if(num_rows == 0){
    //Registrierung
    new input[200];
    format(input,sizeof(input),"{908B8E}Herzlich Willkommen auf {FF9E00}%s{908B8E}!\nDein Account wurde nicht in der Datenbank gefunden.\nGebe hier dein gewünschtes Passwort ein, mit welchem du dich registrieren möchtest!",SERVERNAME);
    ShowPlayerDialog(playerid,DIALOG_REGISTER,3,"{FF9E00}Registrierung",input,"Absenden","Verlassen");
    }
    else
    {
    //Login
    new input[200];
    format(input,sizeof(input),"{908B8E}Willkommen zurück auf {FF9E00}%s{908B8E}!\nDein Account wurde in der Datenbank gefunden.\nGebe hier bitte dein Passwort ein, welches du bei der Registrierung gewählt hast.",SERVERNAME);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,3,"{FF9E00}Login",input,"Absenden","Verlassen");
    }
    return 1;
    }