Beiträge von Jeffry

    TextDrawCreate(607.0,3.0,


    Zu
    TextDrawCreate(607.0,450.0,


    Das dürfte so in etwa unten rechts sein.


    Erste Zahl = Verschiebung nach rechts
    Zweite Zahl = Verschiebung nach unten

    Zitat

    [20:22:03] <-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!
    [20:22:03] <-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!
    [20:22:03] <-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!
    [20:22:03] <-| [MYSQL] Der Server wird nun beendet!


    Deine MySQL Verbindungsdaten stimmen nicht. Prüfe das mal.

    Das musst du machen, wenn du dem Spieler das Textdraw anzeigst, damit dir die Maus gezeigt wird.
    Also einfach unter TextDrawShowForPlayer:
    SelectTextDraw(playerid, 0xFF0000FF);

    Ups, sorry. Da stand ein Semikolon wo es nicht hingehört.
    stock CreateMyDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)
    {
    return CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid, interiorid, playerid, streamdistance, drawdistance);
    }

    Schreibe es bitte mal so, und poste dann was im Server Log und im MySQL Log steht (den MySQL Log zuvor leer machen, damit du weißt was neu ist).


    forward savePlayer();
    public savePlayer()
    {
    printf("savePlayer aufgerufen");
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[512], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName, sizeof(pName));
    format(query,sizeof(query),"UPDATE accounts SET Level='%d', Geld='%d', Muted='%d', Bank='%d', Kredit='%d' KreditDauer='%d', Kills='%d', Deaths='%d', Materials='%d' WHERE id='%i'",
    PlayerInfo[playerid][pLevel],GetPlayerMoney(playerid),PlayerInfo[playerid][pMuted],PlayerInfo[playerid][pAccount],PlayerInfo[playerid][pPlayerKredit],PlayerInfo[playerid][pKills],PlayerInfo[playerid][pDeaths],PlayerInfo[playerid][pMats],PlayerInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    printf("query: %s", query);
    printf("SAVE: %s Account hat gespeichert!",pName);
    }
    }
    return 1;
    }

    Debugge es bitte mal so, und poste dann, was im Log steht, wenn du im Server rum stehst, aber nichts passiert.
    public AlleSpielerKontrollieren()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    printf("AlleSpielerKontrollieren:: %d -> %d", i, IstSpielerGespawnt[i]);
    if(IsPlayerConnected(i) && IstSpielerGespawnt[i] == true)
    {
    if(!IsPlayerNPC(i))
    {
    new Float:PositionX, Float:PositionY, Float:PositionZ;
    GetPlayerPos(i, PositionX, PositionY, PositionZ);
    printf("%f == %f | %f == %f | %f == %f", AlteSpielerPos[i][0], PositionX, AlteSpielerPos[i][1], PositionY, AlteSpielerPos[i][2], PositionZ);
    if(PositionX == AlteSpielerPos[i][0] && PositionY == AlteSpielerPos[i][1] && PositionZ == AlteSpielerPos[i][2])
    {
    SendClientMessage(i,C_Error, "AntiAFK: Du wirst in 10 Sekunden gekickt, wenn du nicht wieder am Spiel teilnimmst."); // Rot
    printf("Setze Timer");
    SetTimerEx("SpielerKontrollieren", 10000, 0, "i", i); //10000 ms = 10 Sekunden
    }
    AlteSpielerPos[i][0] = PositionX;
    AlteSpielerPos[i][1] = PositionY;
    AlteSpielerPos[i][2] = PositionZ;
    }
    }
    }
    return 1;
    }

    Hat das mit dem was du mir in PN geschrieben hast zu tun, oder ist das was anderes? Wenn es das gleiche ist, dann mache das mit dem Code wie gesagt über pastebin.com.



    EDIT:
    iRiising:


    Drücke in deinem Code: STRG+H. Dann schreibe oben CreateDynamicObject und unten CreateMyDynamicObject rein. Dann drücke auf alle ersetzen.


    Danach füge das ganz unten in den Code ein:
    stock CreateMyDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)
    {
    return CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid, interiorid, playerid, streamdistance, drawdistance);
    }


    Dann sollte der Fehler weg sein.

    Asus T100!
    Habe von gehört soll aber schweine gut sein.


    Ist es! Für den Preis auf jeden Fall! Bin seit dem ersten Tag davon sehr überzeugt. :thumbup:
    Und Asus ist ja sowieso eine Top Marke, da macht man eigentlich nichts falsch.



    Bei dem Lenovo von Liam Rocky gefällt mir nicht, dass da keine SSD drin ist, zumindest nicht standardmäßig. Da es Lüftungsschlitze hat wird es wohl auch Töne von sich geben, wenn es auf dem Bett liegt. 14'' für ein "Tablet" (ist ja keins) wäre mir zu groß. Ansonsten, auch ein tolles Teil, mit SSD kommt man halt auf 500€. Aber als Notebook Ersatz ist das sicher auch eine gute Wahl.

    Ja, das könntest du mal raus nehmen, wenn du das mit der Schleife noch nicht hast.


    Der Fehler ist auf jeden Fall ein INSERT, und die Uhrzeit passt auch nicht so ganz.
    Ggf. suche mal nach "(Bank)", da ist der Fehler im query, das hat aber nichts damit zu tun, dass dein Spieler nicht gespeichert wird.
    Da muss auf jeden Fall was drin stehen (auch von der Zeit her), wenn du den Server verlässt (die IsPlayerConnected Abfrage machst du mal raus).

    Du erstellst eine Spielervariable unter deinen Includes:
    new tvID[MAX_PLAYERS] = {-1,...};


    Dann bei OnPlayerConnect/OnPlayerDisconnect:
    tvID[playerid] = -1;


    Beim tv Befehl:
    tvID[playerid] = pID;


    Beim tvoff Befehl:
    tvID[playerid] = -1;


    Und dann das Callback zum Timer:
    forward tvbox();
    public tvbox()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || tvID[i] != -1)
    {
    //Und hier dann das Textdraw updaten lassen. Am besten du machst über die Box ein zweites Textdraw mit den Daten des Spielers.
    //Die playerid die das Textdraw sieht ist "i", die playerid dessen Daten ausgelesen werden ist "tvID[i]".
    //TextDrawSetString etc...
    }
    }
    }



    Edit: LeijaT: Danke haha, klar :p

    Sims 3 müsste mit ziemlicher Wahrscheinlichkeit funktionieren. Müsstest halt mal die Spezifikationen vergleichen, ob das reicht. Wie gesagt, SA-MP geht und CS:GO laut RAiNBoMb auch (spiele ich nicht).


    Ja, es hat einen USB 3.0 Port an der Tastatur und einen Mini USB Port am Tablet (wird auch zum laden verwendet). Falls man mehr braucht, kann man sich so einen Mini Hub hin hängen, so mache ich es. Das kommt bei mir aber so gut wie nie vor (vielleicht drei mal pro Jahr). Tastatur wird ja so angeschlossen, Maus geht über Touch, das Pad oder per Bluetooth (integriert), von daher.


    Ich habe es Ende 2013 noch vor Verkaufsstart in Deutschland gehabt, da war noch Windows 8 drauf, ich weiß nicht wie das jetzt ist. Aber das kann man ja problemlos auf 8.1 upgraden, paar Klicks im Windows Store. :)