Beiträge von SoulMan

    Hallo, breadfisher!


    Ich habe mir eben ein Befehl erstellt, der die ID's der Fahrzeuge, die auf den eigenen Namen gespeichert sind ausgeben soll, aber seht selbst:


    CMD:getcars(playerid,params[])
    {
    new query[128],str[128],result;
    format(query,128,"SELECT id FROM fahrzeuge WHERE owner = '%s'",SpielerName[playerid]);
    mysql_query(query);
    mysql_store_result();
    result = mysql_fetch_int();
    mysql_free_result();
    format(str,sizeof(str),"Fahrzeug ID: %d",result);
    SendClientMessage(playerid,COLOR_GREY,str);
    return 1;
    }


    Jetzt wird aber nur eine der ID's weitergegeben. Wie kann ich die ID's als Liste ausgeben lassen?
    Ich scripte nicht sehr oft Befehle, die direkt mit der Datenbank arbeiten, daher bitte ich um Verständnis für meine Unwissenheit :)


    -Walker

    Samp ist komplett ungemoddet und blanko!
    Habe den Passagierzug ( modelid 538 ) an den nächstbesten Bahnhof in LS platziert.


    Ingame spawnen ist ja nicht möglich. Anhänger sind ja standard am Zug, hab sonst nichts, nur modelid 538.


    //Zug
    AddStaticVehicle(538,1731.0669,-1951.1475,14.1172,0,-1,-1);


    e/
    Kann es an der Ausrichtung liegen? Hatte den Zug jetzt schon in 2 verschiedenen Richtungen Ingame.
    Funktioniert aber beides nicht :D


    e2/
    lol jetzt geht's mit meinem DM Gamemode 0o
    Naja ok, würde mal sagen geklärt :D

    Guten Morgen, breafisher!


    Ist es seit 0.3e nicht mehr möglich Züge zu fahren? Wollte eigentlich ein Zugbot erstellen, aber ich kann gar nicht anfangen
    aufzunehmen, da ich ja nicht fahren kann.


    Bräuchte mal euren Rat.

    easyDeathmatch by SoulMan




    Guten Morgen, breadfisher!
    Da mein Deathmatch Gamemode, den ich vor längerer Zeit mal angefangen hab auf meiner Festplatte vergammelt, möchte ich ihn euch frei zur Verfügung stellen.
    Das Script ist noch nicht fertig, aber in seinen bisherigen Funktionen komplett.
    Es enthält:


    - 4 Gangs
    - Adminsystem
    - Waffenmenü am Spawn
    - Levelsystem i.v.m Coins/Kill
    - Einstellbare Servervariablen
    - Kills/Tode Textdraw
    - Insgesamt 24 Befehle
    - Speicherung via dini


    Bilder:




    Benötigt werden folgende Includes:
    - zcmd
    - sscanf
    - dini


    Das Script ist aus meiner Sicht sehr übersichtlich und sauber geworden. Was ihr daraus macht ist eure Sache.
    Vielleicht könnt ihr ja was damit anfangen, ich jedenfalls nicht mehr.


    Download
    Pastebin

    Es gibt eigentlich nur 2 permanente Timer, den Payday und das AFK System.
    Der Rest wird immer gekillt.


    e/


    Also was ich feststellen konnte ist, dass wenn der Timer falsch läuft, er zumindest gleichmäßig falsch läuft..


    e2/


    Hab noch immer keine Lösung gefunden, kann man sowas evtl. mit einem Zeitstempel machen?

    Ja, gewisse Ungenauigkeiten sind nicht auszuschließen, aber der Timer läuft dann teilweise alle 10 Sekunden und bei anderen Timern funktioniert es ja auch
    einigermaßen genau +-2 Sekunden eben.


    e/


    Ich teste das mal, danke!

    Hey Breadfisher!
    Habe ewig versucht, das Problem zu lösen, ohne Erfolg, deswegen dieser Thread.


    Es geht um einen Timer, der manchmal auf die Sekunde genau läuft und dann mal wieder viel zu schnell.
    Gestartet wird er beim ersten Spawn mit
    SetTimerEx("PlayerPayday",1000*60,1,"i",playerid);
    also alle 60 Sekunden.


    Meine Debug-Nachricht sah wie folgt aus
    new m[128];
    format(m,128,"+1 Aktuell: %d | Noch %d Minuten",pInfo[p][Payday],sVars[PaydayTime]-pInfo[p][Payday]);
    SendClientMessage(p,COLOR_BLUE,m);


    Ganz simpel, aber zeigte mir auf die Sekunde genau per /timestamp an, wie der Timer läuft.


    Jedenfalls funktioniert der Payday nicht und ich weiß nicht, wie ich das beheben kann.
    Vielleicht kann mir ja jemand helfen.


    Gut ok, dazugelernt, von return -1; hab ich noch nie so richtig was gehört. :D
    Danke dir! ;)


    #EDIT: @B l a c k D r a g o n: Wo gibt's was auszusetzen?



    Das -1 wird returnt, wenn man an einer nicht verfübaren HausID steht, daher an gar keinem Haus steht. ;)
    Ich finde, du solltest noch Interiors hinzufügen, sonst ist es im Endeffekt wie die Speicherdiskette im Singleplayer.

    Du musst nur 2 Zahlen ändern ;)
    SteamApps -> common -> left4dead2 -> steam_appid öffnen Zahl auf 510 ändern
    Dann in den left4dead2 Ordner in dem left4dead2 Ordner (Ja, bisschen verwirrend) -> ganz unten auf die steam Datei und dort die 550 nochmals in eine 510 ändern.


    Dann startest du das Spiel von der .exe im Ordner und du hast es uncut.
    Du kannst damit nur in den Singleplayer, jedoch ist dein Account nicht gefährdet oder sonstwas.


    Wenn du wieder online spielen willst musst du die Zahlen wieder auf 550 ändern. ;)


    Viel Spaß

    Konnte es jetzt nicht testen mit einem 2. Spieler, aber jetzt ersetzt mein Label die anderen aufm Server, also statt der Hauslabels erscheint
    dort mein eigenes Wantedlabel.
    Habe jetzt Folgendes:


    for(new i;i < MAX_PLAYERS; i++)
    {
    if(IsLabelAttached[killerid] == false)
    {
    if(pInfo[i][Fraktion] == 4 || pInfo[i][Fraktion] == 9)
    {
    Label[killerid] = CreatePlayer3DTextLabel(i,lstr,0x008080FF,X,Y,Z,20.0,killerid);
    IsLabelAttached[killerid] = true;
    }
    }
    else Update3DTextLabelText(Text3D:Label[killerid],COLOR_RED,lstr);
    }


    //Edit:
    Beim Spawn wird das Label neu gesetzt, sofern man Wanteds hat.
    //Edit2:
    Problem behoben, trotzdem wird kein Label attached. Hat jmd. ne Idee?