Beiträge von Ronny95

    servus miteinander,


    wie kann ich am besten einen Spieler mit MySQL Querys speichern ?
    Irgendwann wir ja die Zeile zu lang !
    Mit einfügen von strings in den hauptquery wird die sache sehr unübersichtlich.
    Nun suche ich nach eine übersichtlicheren Variante.


    Ronny95 :thumbup:


    Unübersichtlich
    format(query,sizeof(query),"UPDATE user SET level='%i', ban='%i',tban='%i', alevel='%i', skin='%i', kills='%i', deaths='%i' WHERE id='%i'",SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pBanned],SpielerInfo[playerid][pTBanned],SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pDeaths],SpielerInfo[playerid][ID]);

    ConnectRNPC does not always return the correct ID when used in OnGameModeInit or main.
    Fix: Create NPCs slightly delayed with a timer when the gamemode is fully loaded.


    Kennt sich jemand mit dem bug aus ? Ich habe es, genauso wie im "fix" erklärt, durchgeführt, einen Timer von 10 sekunden bei ongamemodeinit;


    Das sagt der Severlog:



    [21:05:06] Bot mit ID: 2 2 wurde erfolgreich geladen
    [21:05:06] Bot mit ID: 4 4 wurde erfolgreich geladen
    [21:05:06] Bot mit ID: 7 7 wurde erfolgreich geladen
    [21:05:06] Bot mit ID: 8 8 wurde erfolgreich geladen
    [21:05:06] Bot mit ID: 9 9 wurde erfolgreich geladen




    Da kein anderer Spieler auf dem Server ist sollten die Bots in Slot 0-5 spawnen.
    Ingame ist das auch so, nur CreateRNCP gibt die falsche Bot id zurück !


    Kann mir wer dabei weiterhelfen ?

    public ConnectRNPCs()
    {
    new string[128];
    new npcdatei[128],npccounter[128],npcname[20],MAX_NPC,npcid;
    format(npccounter,sizeof(npccounter),"/NPCs/BotCounter.txt");
    MAX_NPC=dini_Int(npccounter,"Bots");


    for(new i;i<MAX_NPC+1;i++)
    {
    format(npcname,sizeof(npcname),"Bot%d",i);
    format(npcdatei,sizeof(npcdatei),"/NPCs/Bot%d.txt",i);
    if(dini_Exists(npcdatei))
    {
    npcid=CreateRNPC(npcname);
    NPCInfo[npcid][nID]=npcid;
    format(string,sizeof(string),"Bot mit ID: %d %d wurde erfolgreich geladen",npcid,NPCInfo[npcid][nID]);
    SendClientMessageToAll(WEIß,string);
    format(NPCInfo[npcid][nName],20,"%s",npcname);
    NPCInfo[npcid][nSpawnX]=dini_Float(npcdatei,"PosX");
    NPCInfo[npcid][nSpawnY]=dini_Float(npcdatei,"PosY");
    NPCInfo[npcid][nSpawnZ]=dini_Float(npcdatei,"PosZ");


    }
    }


    return 1;
    }

    Wenn ich neben einem Bot stehe und den Befehl eingebe kommt : "Server closed the connction."
    Was ist der Grund ?



    ocmd:reloadrnpcs(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin]<5)return SendClientMessage(playerid,WEIß,"Du bist nicht befugt!");


    for(new i;i<MAX_PLAYERS+1;i++)
    {
    if(IsPlayerRNPC(i))
    {
    DestroyRNPC(i);
    }

    }
    SetTimer("ConnectRNCPs",3000,0);

    new string[128];
    format(string,sizeof(string),"Alle Bots wurden von %s neu geladen.",SpielerInfo[playerid][pName]);
    SendClientMessageToAll(GELB,string);
    return 1;
    }


    Kann mir vielleicht jemand erklären wie ich die ID eines erstellten RNPC herausbekomme ?


    über die Funktion GetPlayerID steigt der Stock mittendrin aus.



    stock LoadNPCs()
    {
    new string[128];
    new npcdatei[128],npccounter[128],npcname[20],MAX_NPC,npcid;
    format(npccounter,sizeof(npccounter),"/NPCs/BotCounter.txt");
    MAX_NPC=dini_Int(npccounter,"Bots");


    for(new i;i<MAX_NPC+1;i++)
    {
    format(npcname,sizeof(npcname),"Bot%d",i);
    format(npcdatei,sizeof(npcdatei),"/NPCs/Bot%d.txt",i);
    if(dini_Exists(npcdatei))
    {
    CreateRNPC(npcname);
    npcid=GetPlayerID(npcname);
    NPCInfo[npcid][nID]=npcid;
    format(string,sizeof(string),"Bot mit ID: %d %d wurde erfolgreich geladen",npcid,NPCInfo[npcid][nID]);
    SendClientMessageToAll(WEIß,string);
    format(NPCInfo[npcid][nName],20,"%s",npcname);
    NPCInfo[npcid][nSpawnX]=dini_Float(npcdatei,"PosX");
    NPCInfo[npcid][nSpawnY]=dini_Float(npcdatei,"PosY");
    NPCInfo[npcid][nSpawnZ]=dini_Float(npcdatei,"PosZ");




    SetRNPCSkin(npcid, 79);
    SetRNPCPos(npcid, NPCInfo[npcid][nSpawnX], NPCInfo[npcid][nSpawnY], NPCInfo[npcid][nSpawnZ]);
    }
    }


    return 1;
    }





    GetPlayerID


    stock GetPlayerID(const name[])
    {
    new psName[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    GetPlayerName(i, psName, MAX_PLAYER_NAME);
    if(!strcmp(psName, name))
    return i;
    }
    return INVALID_PLAYER_ID;
    }


    Hey Leutz,


    Wie erstelle ich eine Tankanzeige aus einer Textbox ? So einen Tankfüllstandsbalken eben ?
    Wie ich Textboxen erstelle ist mir klar, aber nicht wie ich die Box dann eben nach links immer mehr verkleinere.


    mfg Ronny

    Darauf bin ich auch schon gestoßen aber ich habe keine 2000 Textdraws (global) :D


    /edit anscheinend habe ich doch mehr Textdraws als ich dachte, ich habe die jeweiligen Textdraws weiter oben ins Script gemacht und jetzt funktionierts.
    Nun gehe ich davon aus, dass andere Textdraws nicht erstellt werden. Gibt es eine Möglichkeit wie man mir in dem Fall helfen kann ?


    Selfsolution :D


    einfach die Schleife für die Textdraws for Player nach ganz unten verlegt. Bug erstmal behoben :thumbup:

    Hallo Breadfish,


    Ich habe folgendes Problem. Ich arbeite gerade an einem Projekt mit vielen Textdraws. Nun werden seit kurzer Zeit nicht mehr alle Textdraws angezeigt.
    Gibt es ein Limit an Textdraws die man nicht überschreiten darf ?
    Die Logintextdraws werden nicht mehr angezeigt ( sind serverlastig).
    Andere Textdraws werden wiederrum angezeigt ( auch serverlastig).


    Nun ja ich habe auch meine Scriptversionen mit älteren Versionen verglichen und habe keine Fehler gefunden, bzw es ist eine 100% Übereinstimmung der jeweiligen Zeilen (daher kein Script).


    Ich hoffe mal das war einigermaßen verständlich.


    Viele Grüße


    /edit ebenfalls habe ich versucht die jeweiligen Textdraw mit einem Befehl aufzurufen und raus kam, dass in der alten Version die Textdraws sowohl beim Login als auch mit dem Befehl erscheinen.
    In der neueren Version trifft keines der beiden Dinge zu. Kann es sein das bei zu vielen Textdraws nicht alle erstellt bzw definiert werden ?

    Hallo breadfish,


    Ich möchte eine Textbox erstellen, aber mir fehlt das richtige Filterscript dazu.
    Ich besitze bereits den Textdraw Editor, aber ich kann dort nicht wirklich die Box nach belieben anpassen.


    Was sind eure Tipps, wie man eine Textbox am besten erstellt ?


    mfg Ronny95


    /edit: Mir ist klar, dass man das manuel machen kann, aber das wird ein ziemliches Geraffel. :D