Beiträge von [KoSoVa]

    Warum geht dieser Befehl ? Bzw. in der Datenbank wird nicht eingetragen was ich will .. z.b.: /Makeadmin 0 6 (Dann wird in der datenbank komische Zahlen erfunden also wie 63 ..)



    ocmd:makeadmin(playerid,params[])
    {
    if(SpielerInfo[playerid][pAlevel] == 8)
    {
    new pID, rank,string2[128],string3[128],ziel[MAX_PLAYER_NAME],sender[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sender,sizeof(sender));
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid, Rot, "[INFO]{FFFFFF} Benutze: /makeadmin [Spieler/ID] [0-7]'");
    if(!IsPlayerConnected(pID) || !IsPlayerNPC(pID))return SendClientMessage(playerid, Rot, "[INFO]{FFFFFF} Der Spieler ist nicht eingeloggt!");
    if(rank < 0 || rank > 7) return SendClientMessage(playerid,Rot, "[INFO]{FFFFFF} Du kannst nur das Adminlevel 0-7 vergeben!");
    SpielerInfo[pID][pAlevel] = rank;
    if(rank == 0)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Keinen");
    }
    if(rank == 1)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Supporter");
    }
    if(rank == 2)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Administator Level 1");
    }
    if(rank == 3)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Administator Level 2");
    }
    if(rank == 4)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Administator Level 3");
    }
    if(rank == 5)
    {
    format(SpielerInfo[playerid][pAlevel],20,"High Administrator");
    }
    if(rank == 6)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Entwickler");
    }
    if(rank == 7)
    {
    format(SpielerInfo[playerid][pAlevel],20,"Stelv. Serverleiter");
    }
    GetPlayerName(pID,ziel,sizeof(ziel));
    if(rank >= 1)
    {
    format(string2,sizeof(string2),"[INFO]{FFFFFF}Serverleiter %s hat dich zum %s ernannt!",sender,ziel,SpielerInfo[playerid][pAlevel]);
    SendClientMessage(playerid,Rot,string2);
    format(string3,sizeof(string3),"[INFO]{FFFFFF}Serverleiter %s hat %s zum %s ernannt!",sender,ziel,SpielerInfo[playerid][pAlevel]);
    SendAdminMessage(Rot,string3);
    }
    if (rank == 0)
    {
    format(string2,sizeof(string2),"[INFO]{FFFFFF}Serverleiter %s hat dich aus dem Adminteam gekickt!",sender,ziel);
    SendClientMessage(playerid,Rot,string2);
    format(string3,sizeof(string3),"[INFO]{FFFFFF}Serverleiter %s hat %s aus dem Adminteam gekickt!",sender,ziel);
    SendAdminMessage(Rot,string3);
    }
    }
    return 1;
    }



    Alles klar danke dir :love:


    //CLOSE



    Alles Klar , danke es geht jetzt endlich *-*


    Aber ein paar Fragen hätte ich noch:



    1.)Wie stelle ich dass so ein , dass z.b. Ab Schaden 300.00 es rot angezeigt wird?


    2.) Warum geht mein makeadmin befehl nicht mehr?



    ocmd:makeadmin(playerid,params[]) //bearbeiten
    {
    new pID,string[256],adminname[MAX_PLAYERS],spielername[MAX_PLAYERS],arank;
    GetPlayerName(playerid, adminname, sizeof(adminname));
    GetPlayerName(playerid, spielername, sizeof(spielername));
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid, Rot,"[FEHLER] {FFFFFF}Die angegebende SpielerID ist nicht online!");
    SpielerInfo[playerid][pAlevel] = arank;
    if(arank < 0 || arank > 7) return SendClientMessage(playerid,Rot, "[FEHLER] {FFFFFF}Du kannst nur das Adminlevel von 0 - 7 vergeben!");
    if(SpielerInfo[playerid][pAlevel] == 8)
    {
    if(SpielerInfo[playerid][pAlevel] == 0)
    {
    format(string, sizeof string, "[INFO] {FFFFFF}Serverleiter %s hat dich aus dem Team entfernt!",adminname);
    format(string, sizeof string, "[A-INFO] {FFFFFF}Serverleiter %s hat %s aus dem Team entfernt!",adminname,spielername);
    SendClientMessage(playerid,Rot,string);
    SendAdminMessage(Rot,string);
    SpielerInfo[pID][pAlevel] = 0;
    SavePlayer(playerid);
    }
    else if(SpielerInfo[playerid][pAlevel] >= 1)
    {
    new rankstr[64];
    if(SpielerInfo[playerid][pAlevel] == 1)
    {
    rankstr = "Supporter";
    }
    else if(SpielerInfo[playerid][pAlevel] == 2)
    {
    rankstr = "Administrator Level 1";
    }
    else if(SpielerInfo[playerid][pAlevel] == 3)
    {
    rankstr = "Administrator Level 2";
    }
    else if(SpielerInfo[playerid][pAlevel] == 4)
    {
    rankstr = "Administrator Level 3";
    }
    else if(SpielerInfo[playerid][pAlevel] == 5)
    {
    rankstr = "High Administrator";
    }
    else if(SpielerInfo[playerid][pAlevel] == 6)
    {
    rankstr = "Entwickler";
    }
    else if(SpielerInfo[playerid][pAlevel] == 7)
    {
    rankstr = "Stelv. Serverleiter";
    }
    format(string, sizeof string, "[INFO] {FFFFFF}Serverleiter %s hat dich zum %s befördert!",adminname,rankstr);
    format(string, sizeof string, "[A-INFO] {FFFFFF}Serverleiter %s hat %s zum %s befördert!",adminname,spielername,rankstr);
    SendClientMessage(playerid,Rot,string);
    SendAdminMessage(Rot,string);
    SpielerInfo[pID][pAlevel] = arank;
    SavePlayer(playerid);
    }
    return 1;
    }
    return 1;
    }

    Jetzt hast du drei mal was anderes erzählt. Wie willst du es denn haben wenn du einsteigst und wenn du aussteigst? Soll sich nichts ändern?
    Wenn ja, dann musst du die if Abfragen wieder rein machen und einfach SetVehicleParamsEx weg lassen.


    Ja, habe ich gemacht jedoch ist ein bug: Obwohl mein Motor/Licht läuft bzw. An ist , steht beim Textdraw aus ABER nur wenn ich aussteige und wieder einsteige. -> derzeitig ist der Code so:



    if(newstate == PLAYER_STATE_DRIVER)
    {
    new string[128], vID, Float:vhealth, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective;
    PlayerTextDrawShow(playerid,Textdraw11[playerid]);
    PlayerTextDrawShow(playerid,Textdraw12[playerid]);
    PlayerTextDrawShow(playerid,Textdraw13[playerid]);
    PlayerTextDrawShow(playerid,Textdraw14[playerid]);
    PlayerTextDrawShow(playerid,Textdraw15[playerid]);
    //TextDrawShowForPlayer(playerid,Textdraw16);
    PlayerTextDrawShow(playerid,Textdraw17[playerid]);
    PlayerTextDrawShow(playerid,Textdraw18[playerid]);
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    vID = GetPlayerVehicleID(playerid);
    //Motor an/ausschalten
    if(tmp_engine == 1)
    {
    tmp_engine = 1;
    format(string, sizeof(string), "Motor: ~g~An");
    }
    else
    {
    tmp_engine = 0;
    format(string, sizeof(string), "Motor: ~r~Aus");
    }
    PlayerTextDrawSetString(playerid,Textdraw15[playerid] ,string);
    if(tmp_lights == 1)
    {
    tmp_lights = 1;
    format(string, sizeof(string), "Licht: ~g~An");
    }
    else
    {
    tmp_lights = 0;
    format(string, sizeof(string), "Licht: ~r~Aus");
    }
    PlayerTextDrawSetString(playerid, Textdraw17[playerid] ,string);

    format(string, sizeof(string), "Zustand: %i", GetVehicleHealth(vID, vhealth));
    PlayerTextDrawSetString(playerid,Textdraw14[playerid] ,string);

    }
    if(oldstate == PLAYER_STATE_DRIVER)
    {
    PlayerTextDrawHide(playerid, Textdraw11[playerid]);
    PlayerTextDrawHide(playerid, Textdraw12[playerid]);
    PlayerTextDrawHide(playerid, Textdraw13[playerid]);
    PlayerTextDrawHide(playerid, Textdraw14[playerid]);
    PlayerTextDrawHide(playerid, Textdraw15[playerid]);
    //TextDrawShowForPlayer(playerid, Textdraw16);
    PlayerTextDrawHide(playerid, Textdraw17[playerid]);
    PlayerTextDrawHide(playerid, Textdraw18[playerid]);
    }

    +
    Bild: http://www.fotos-hochladen.net/uploads/samp0113qe2nar74p.png


    Und die zweite sache , ich will mein Schaden vom Fahrzeug ablesen und habe mir deswegen einen Timer erstellt:



    public autoschadenanzeige(playerid)
    {
    new string[128], vID, Float:vhealth;
    vID = GetPlayerVehicleID(playerid);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!IsPlayerInAnyVehicle(i))continue;
    format(string, sizeof(string), "Zustand: %f", GetVehicleHealth(vID, vhealth));
    PlayerTextDrawSetString(playerid,Textdraw14[playerid] ,string);
    }
    return 1;
    }


    jedoch steht immer nur 0.00000... siehe Screen(oben).


    hhmm , es geht jetzt zwar , aber wenn ich jetzt z.b. Motor und Licht anmache und dann absteige, dann bleibt Motor/Licht an , aber wenn ich dann hinterher wieder einsteige, gehts wieder aus, obwohl es anbbleiben sollte.. :/

    Wenn es beim einsteigen an geht, musst du
    tmp_engine = 1;
    Zu
    tmp_engine = 0;
    Machen.


    Ähnlich wird es auch beim aussteigen sein.



    erledigt ... funkt. zwar ,


    aber wenn ich einsteige steht Licht oben und nicht unten .. eigentlich sollte Licht unten stehen und Motor oben.. :/ Aber das mit Aus/An geht.

    Du musst den Code zusätzlich bei OnPlayerStateChange, bzw dort wo du dem Spieler das Textdraw anzeigen lässt, einfügen, damit dort der Wert aktualisiert wird.


    okay , gemacht aber jetzt ist es so: Wenn ich einsteige wird es zwar angezeigt etc. aber der motor geht sofort an , und wenn ich dann absteige und motor dabei anlasse dann geht er selber aus.. und das halt sonst andersrum


    Hier der Code:



    if(newstate == PLAYER_STATE_DRIVER)
    {
    new string[128], vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective;
    TextDrawShowForPlayer(playerid,Textdraw11);
    TextDrawShowForPlayer(playerid,Textdraw12);
    TextDrawShowForPlayer(playerid,Textdraw13);
    TextDrawShowForPlayer(playerid,Textdraw14);
    TextDrawShowForPlayer(playerid,Textdraw15);
    TextDrawShowForPlayer(playerid,Textdraw16);
    TextDrawShowForPlayer(playerid,Textdraw17);
    TextDrawShowForPlayer(playerid,Textdraw18);
    vID = GetPlayerVehicleID(playerid);
    //Motor an/aus
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    if(tmp_engine == 1)
    {
    tmp_engine = 0;
    format(string, sizeof(string), "Motor: ~r~Aus");
    }
    else
    {
    tmp_engine = 1;
    format(string, sizeof(string), "Motor: ~g~An");
    }
    //Licht an/aus
    if(tmp_lights == 1)
    {
    tmp_lights = 0;
    format(string, sizeof(string), "Licht: ~r~Aus");
    }
    else
    {
    tmp_lights = 1;
    format(string, sizeof(string), "Licht: ~g~An");
    }
    TextDrawSetString(Textdraw17 ,string);
    TextDrawSetString(Textdraw15 ,string);
    SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    }

    Das stimmt, aber dann sieht jeder das selbe, das heißt wenn du den Motor an machst, sehen alle, dass du den Motor an hast. Das macht ja recht wenig Sinn.


    ouh. das erklärt einiges dass auch meine Km/H anzeige nicht so richtig geht .. :X


    Also zurück zu den Motorsystem:


    Es geht jetzt zwar , danke dir , aber wenn ich in irgendein Auto/Motorrad einsteige... dann wird erst der Textdraw: Motor: ... garnicht angezeigt, nur wenn ich dann motor anschalte, warum ?

    3.) Naja, stell dir mal vor du willst einen Wert für alle Spieler im Server ändern, und dein Server hat 500 Slots. Dann müsstest du 500 Zeilen schreiben, mit einer Schleife machst du es in einer Zeile. Tutorial: [ SCRIPTING ] Schleifen


    5.)
    http://wiki.sa-mp.com/wiki/GetVehicleParamsEx
    Damit kannst du herausfinden ob der Motor an oder aus ist.


    Ah okay danke. mit der Schleife hab ich es endlich kapiert.


    Jedoch mit 5.) noch nicht. Ich habe jetzt das hier hinzugefügt und ausprobiert:



    //unter onplayerconnect
    new string[128], vID, engine, lights, alarm, doors, bonnet, boot, objective;
    vID = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vID, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == 1)
    {
    //Wenn Motor aus ist soll bei mein Text stehen Motor: AUS )
    engine = 0;
    }
    else
    {
    //Wenn Motor an ist (soll bei mein Text stehen Motor: AN )
    engine = 1;
    }
    format(string, sizeof(string), "Motor: %u");
    TextDrawSetString(Textdraw15 ,string);


    was mache ich falsch?


    Okay..


    also 1,2,4,6) erledigt!


    nur noch 3.) , 5.)


    -> 3.) Ja aber wozo sind die denn jetzt genau gut ? Oder verstehe ich was falsch?


    -> 5.) gibt es irgendie ein beispiel ? Oder ein Wiki link ? Am besten beide :)

    1.) Das abnormal lange wird wohl an MySQL liegen, wenn es nur vorkommt wenn du den Wert änderst.


    2.)
    Der print gehört unter die MySQL Abfrage, sonst macht deine Ausgabe wenig Sinn:
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
    printf("Skin: %d",SpielerInfo[playerid][pSkin]);


    3.) Das ist eine Schleife durch alle Spieler, die auf dem Server möglich sein könnten.



    1.) Dann wird es ja eigentlich passen oder?


    2.) Geändert!


    3.) Schleife?


    4.) Jetzt kommt in der CMD: als erstes Skin: 0 dann Skin: 12 , also passt !


    Jetz noch eine Frage: -> Derzeitg arbeite ich ja mit Textdrwas, und wie mache ich dass jetzt genau , dass z.b. Jetzt in meinem Textdrwas steht: Motor: An /// Motor: Aus


    Und : Kann man druch das Skript , gemappte dringe härter machen? Also dass man die nicht druchdringen kann? Wie z.b. Tore..

    Was heißt länger?
    Was steht in der Datenbank?
    Stimmt die 10?


    Poste nochmal den Code wie du ihn jetzt hast.



    Also mit länger meine ich halt, dass es länger lädt .. also dauert viel länger bis das kästchen erscheint obwohl es nach 3 sekunden kommen sollte wie immer...
    Aber , wie oben erwähnt , geht es jetzt normalerweise , nur es lädt halt ab normal lange, wenn man eine andere ID in die Datenbank macht...



    -> Code:



    //Unter OnPlayerConnect:
    printf("Skin: %d",SpielerInfo[playerid][pSkin]);
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
    //Skinbox
    Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 526.000000, 292.444458, "LD_SPAC:white");
    PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.000000, 0.000000);
    PlayerTextDrawTextSize(playerid, Textdraw7[playerid], 104.500000, 131.911102);
    PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
    PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
    PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
    PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 0);
    PlayerTextDrawBackgroundColor(playerid, Textdraw7[playerid], 255);
    PlayerTextDrawFont(playerid, Textdraw7[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
    PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], SpielerInfo[playerid][pSkin]);


    // In meinem Timer drin:
    PlayerTextDrawShow(playerid, Textdraw7[playerid]); //ist halt der skinanzeige Textdraw...




    Langsam vermute ich aber dass es am MySQL liegt... ? Könnte sein ?


    Achja eine kleine Frage nebenbei: Was bedeutet dieser code? Bzw . wozu braucht man den?:



    for(new i=0; i<MAX_PLAYERS; i++)


    //EDIT: Achja die 10 stimmte nicht, es war ein Mechanicker skin ,nicht ein Oma skin...

    Also ich kam grad ausversehen mit einen un-registrieren Namen drauf, und deswegen kam halt der Fragezeichen , aber jetzt bin ich mit einen erstellen Account online geommen und dann steht in der CMD:


    Skin: -1
    Skin: 10


    -> Ich hatte davor einen Mechaniker Skin.. aufeinmal bekomme ich diesen Oma skin ? Und es lädt länger als normal?


    //EDIT:


    -> Jetzt nach, wo ich das MySQL System nochmal geprüft habe und ein Fehler gefunden hab -.- , geht es , ABER immer wenn ich jetzt über meine Datenbank (sqLite) eine andere Skin ID mache , z.b. von 10 auf 11 , dann lädt es länger als normal .. eigentlich sollte es nach 3 Sekunden gehen wie immer... ?


    Dann musst du den Skin direkt aus der Datei auslesen, bei OnPlayerConnect. Schau nach, wie du es bei LoadPlayer machst, und lade so den Skin-Stat in eine Variable, und lasse dir den Skin dann so anzeigen. Musst nur prüfen, ob der Spieler registriert ist.



    ich hab es jetzt so gemacht:



    //onplayerconnect
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);


    -> aber dann kommt ein Fragezeichen .. ? http://www.fotos-hochladen.net/uploads/samp008runepks921.png

    Dann setze dort, wo sich der Spieler einloggt, also dort wo wie Daten geladen werden, danach das hier hin:
    PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], SpielerInfo[playerid][pSkin]);


    Du rufst wahrscheinlich den Teil des Textdraws erstellen vor dem einloggen auf, deshalb ist es immer 0.



    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurtz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    TogglePlayerSpectating(playerid, 0);
    CreateAccount(playerid, inputtext);
    SetPVarInt(playerid,"Eingeloggt",1);
    SpawnPlayer(playerid);
    SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
    SetPlayerMoney(playerid,SpielerInfo[playerid][pHandgeld]);
    return 1;
    }
    }
    else
    {
    return 1;
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME],string[256],arank[128],aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
    {
    TogglePlayerSpectating(playerid, 0);
    SetPVarInt(playerid,"Eingeloggt",1);
    LoadPlayer(playerid);
    SpawnPlayer(playerid);
    SetPlayerMoney(playerid,SpielerInfo[playerid][pHandgeld]);
    SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
    SetPlayerScore(playerid, SpielerInfo[playerid][pLevel]);

    GetPlayerName(playerid, aname, sizeof(aname));
    if(SpielerInfo[playerid][pAlevel] >= 1)
    {
    if(SpielerInfo[playerid][pAlevel] == 1) { arank = "Supporter"; }
    else if(SpielerInfo[playerid][pAlevel] == 2) { arank = "Administrator Level 1"; }
    else if(SpielerInfo[playerid][pAlevel] == 3) { arank = "Administrator Level 2"; }
    else if(SpielerInfo[playerid][pAlevel] == 4) { arank = "Administrator Level 3"; }
    else if(SpielerInfo[playerid][pAlevel] == 5) { arank = "High Administrator"; }
    else if(SpielerInfo[playerid][pAlevel] == 6) { arank = "Entwickler"; }
    else if(SpielerInfo[playerid][pAlevel] == 7) { arank = "Stelv. Serverleiter"; }
    else if(SpielerInfo[playerid][pAlevel] == 8) { arank = "Serverleiter"; }
    format(string, sizeof(string), "[A-INFO]{FF9D00} %s {FFFFFF}hat sich erfolgreich als {FF9D00}%s {FFFFFF}eingeloggt!", aname, arank);
    SendAdminMessage(Rot,string);
    return 1;
    }
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    return 1;
    }
    }
    }

    Dann bist du wohl noch nicht eingeloggt, wenn immer noch die 0 kommt.
    Falls doch, erkläre bitte nochmal die einzelnen Schritte die du machst, poste den aktuellen Code und beschreibe was passiert.


    ok , ich versuchs...


    1 -> Als erstes wird bei mir ein Ladebildschrim geladen ...
    2 -> Solange der Ladebildschrim noch an ist(5 sekunden) , solange laden die Register /Login Textdraws und somit auch die Skinbox
    3 -> Und falls man schon eingeloggt ist , soll halt die SkinID aus der Datenbank abgelesen werden und hinterher in die Box eingefügt werden.
    4 -> Dann wenn der Spieler sich erfolgreich eingeloggt hat , sollen halt die ganzen Textdraws verschwinden..


    hier die Codes:



    //die ganzen new's
    new Text:Textdraw0;
    new Text:Textdraw1;
    new Text:Textdraw2;
    new Text:Textdraw3;
    new Text:Textdraw4;
    new Text:Textdraw5;
    new Text:Textdraw6;
    new PlayerText:Textdraw7[MAX_PLAYERS];
    //Die Textdraws vom Login/register system werde ich nicht reinposten da es geht.


    //Das ist unter OnPlayerConnect


    //Skinbox
    Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 526.000000, 292.444458, "LD_SPAC:white");
    PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.000000, 0.000000);
    PlayerTextDrawTextSize(playerid, Textdraw7[playerid], 104.500000, 131.911102);
    PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
    PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
    PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
    PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 0);
    PlayerTextDrawBackgroundColor(playerid, Textdraw7[playerid], 255);
    PlayerTextDrawFont(playerid, Textdraw7[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
    PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], SpielerInfo[playerid][pSkin]);

    PlayerTextDrawSetSelectable(playerid,Textdraw7[playerid],0);



    //hier nochmal der Timer(aber der Timer geht sowieso)
    public loginregistertextdraws(playerid)
    {
    TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    TextDrawShowForPlayer(playerid, Textdraw2);
    TextDrawShowForPlayer(playerid, Textdraw3);
    TextDrawShowForPlayer(playerid, Textdraw4);
    TextDrawShowForPlayer(playerid, Textdraw5);
    TextDrawShowForPlayer(playerid, Textdraw6);
    PlayerTextDrawShow(playerid, Textdraw7[playerid]);
    print("Anfangstimer für Login/RegisterTextDraw's wurde beendet!(3 Sekunden)");
    return 1;
    }



    soo... ? Noch was?


    erledigt, da steht Skin 0


    //EDIT:


    Habe jetzt PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], SpielerInfo[playerid][pSkin]); zu meinen Textdraws hinzugefügt, und es geht, aber wenn ich jetzt über der Datenbank die SKIN ID 55 mache , dann gehts wieder nicht ... nur wenn ich dann mal reloge(und es dauert so länger als normal...) ... -.-

    Ja dann musst du die dahin schreiben wo GetPlayerSkin steht.


    gemacht und es kommt wieder der CJSkin



    PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], SpielerInfo[playerid][pSkin]);


    oder soll ich so?


    new skinID;
    skinID = SpielerInfo[playerid][pSkin];
    PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], skinID);


    EDIT: Beides geht nicht. Ich geh erstmal schlafen ..