Hi,
wie kann ich mit Notify.js (https://notifyjs.jpillora.com/) eine genaue Position für die Notification verwenden?
Ich möchte die Notification oben rechts haben, aber ca. 20px nach unten. Ich habe auch den Code durchgeschaut, leider versteh ich da nur Bahnhof, und habe nichts gefunden wo wirklich die Position der Notification verändert werden kann.
Beiträge von LeonMrBonnie
-
-
Sieht gut aus, finde aber das sind etwas zu viele Effekte. Ist denke ich mal schon gewollt, aber ich find es trotzdem sehr übertrieben.
-
Du kannst das einfach mit einem Timestamp machen.
Du speicherst einfach in einer Spielervariable beim Einloggen den Wert von gettime() also so:
pInfo[playerid][pEinlogzeit] = gettime();
Und dann ist pInfo[playerid][pEinlogzeit] ein Timestamp wann sich der User eingeloggt hat.
Diesen Timestamp kannst du einfach abfragen und dann:
new timeonline = gettime() - pInfo[playerid][pEinlogzeit];
timeonline ist dann die Zeit in Sekunden, wie lange der Spieler schon eingeloggt ist. -
Du hast recht... Danke dir.
-
Hi,
ich versuche mit Handlebars eigentlich was ganz einfaches zu machen, es geht aber einfach nicht...HTML
Alles anzeigen<h1 class="display-4">News</h1> {{#if error}} <p class="lead error">{{error}}</p> <script> $.notify( "{{error}}", { position:"top right", className: "error", autoHideDelay: 10000 } ); </script> {{/if}} {{#if msg}} <script> $.notify( "{{msg}}", { position:"top right", className: "success", autoHideDelay: 10000 } ); </script> {{/if}} {{#unless error}} <table class="table table-hover table-bordered table-dark mysqlresult"> <thead> <tr> <th scope="col">ID</th> <th scope="col">Title</th> <th scope="col">Author</th> <th scope="col">Date</th> <th scope="col">Actions</th> </tr> </thead> <tbody> {{#if Admin}} {{#each items}} <tr> <td>{{ID}}</td> <td>{{Title}}</td> <td>{{Author}}</td> <td>{{Date}}</td> <td> <button class="btn btn-success mysqlbtn" onclick="window.location.href='/viewnews?id={{ID}}'">View Article</button> <button class="btn btn-warning mysqlbtn2" onclick="window.location.href='/editnews?id={{ID}}'">Edit Article</button> </td> </tr> {{/each}} </tbody> </table> {{#else}} <tbody> {{#each items}} <tr> <td>{{ID}}</td> <td>{{Title}}</td> <td>{{Author}}</td> <td>{{Date}}</td> <td> <button class="btn btn-success mysqlbtn" onclick="window.location.href='/viewnews?id={{ID}}'">View Article</button> </td> </tr> {{/each}} </tbody> </table> {{/if}} {{/unless}}
Wenn ich das versuche zu verwenden kommt von Handlebars beim aufrufen der Seite der Fehler:
Error: else doesn't match if - 46:5
Und ich verstehe einfach nicht warum. Das else ist doch einfach ganz normal zu dem if Admin, es ist genauso wie auf der Handlebars Seite beschrieben?
Vielleicht sieht ja wer den Fehler. -
format(string,sizeof(string),"%s{FFFFFF}: %s", a_rang[sort[i][0]-1], GetName(sort[i][1]));
Du hast eine [ vergessen bei a_rang. -
Hi,
momentan probiere ich ein bisschen mit Javascript rum und dort auch hauptsächlich mit NodeJS und Express als Framework.
Mein Problem ist es momentan, dass ich versucht habe mit redirects und Status Codes zu arbeiten, und nun auf einmal meine /account Seite automatisch auf die /login Seite verweist.
Ich habe sogar schon den ganzen app.get Teil von /account auskommentiert, es leitet mich aber weiterhin auf die /login Seite weiter.JavaScript
Alles anzeigenapp.get("/account", (req, res) => { console.log(req.url); console.log("Test"); if(req.query.logout) { if(req.session.userid) { req.session.destroy(); return res.render("account", {msg: "You are now logged out."}); } else { return res.status(401).location('/login'); } } if(!req.session.userid) { return res.status(401).location('/login'); } res.render("account"); });
Wie man sieht hab ich sogar 2 Prints zum debuggen gesetzt, aber diese werden nichtmal ausgegeben. Also scheint es nichtmal bis zum GET von /account zu kommen, aber warum?
Ich habe darüber nur 3 weitere app.get und diese sind /mysql, /login und /register. Dort wird aber auch nirgendswo auf die /login Seite weitergeleitet.Ich verstehe einfach nicht warum... Es ist wirklich NIRGENDWO in meiner ganzen Datei ein Redirect zu der Login Seite, außer da.
Hier kann man sich auch den ganzen Code mal angucken: Klick mich
Wenn ich über den Button Hover der auf die /account Seite leiten soll, wird auch unten links das /account angezeigt, aber dann landet man trotzdem bei /login. -
Sind 2 Bildschirme.
-
Dann benutzt du wahrscheinlich schon "db" als Handle.
Heißt der MySQL Handle in deinem Script auch "db"? -
Mit Speichern ?
Also mit dem standart speicher verfahren so wie es viele gf's haben würde es zb so gehen
enum sdata{pKills}new pInfo[MAX_PLAYERS][sdata];
public OnPlayerDeath(playerid, killerid, reason){if(killerid != INVALID_PLAYER_ID) pInfo[killerid][pKills] += 1;return true;}
und dann ist da noch die frage wie du spiecherst mit dini oder mysql
Ich habe ein AHK Script
Er möchte nicht das Script umschreiben, sondern seinen AHK Keybinder.
-
Davor eventuell soetwas wie /number von der eigenen ID machen und dann die ausgegebe Telefonnummer speichern und dort verwenden?
-
CreateDynamic3DTextLabel,
Das Komma muss aus dem Funktionsnamen weg. -
Was, wenn es eine Zahl doppelt gibt und jemand mit einem Befahl das Fahrzeug Orten möchte?
Einfach checken ob es die Zahl bereits gibt und dann eine neue Random Zahl auswählen?
Zum Befehl:
ocmd:locatecar(playerid,params[])
{
new kennzeichen[8];
if(!IsPlayerCop(playerid)) return SendClientMessage(playerid, -1, "Du musst ein Cop sein um diesen Befehl zu verwenden.");
if(!IsPlayerInCopCar(playerid)) return SendClientMessage(playerid, -1, "Du musst dich in einem Polizeifahrzeug befinden.");
if(sscanf(params, "s[8]",kennzeichen)) return SendClientMessage(playerid, -1, "/locatecar [Kennzeichen]");new car = FindCarByPlate(kennzeichen);
if(car == -1) return SendClientMessage(playerid, -1, "Es wurde kein Fahrzeug mit diesem Kennzeichen gefunden.");
new Float:x,Float:y,Float:z;
GetVehiclePos(car, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 10.0);SetTimerEx("DestroyLocateCarCP", 30000, false, "ii", playerid, car);
return 1;
}forward DestroyLocateCarCP(playerid, car);
public DestroyLocateCarCP(playerid, car)
{
DisablePlayerCheckpoint(plaýerid);
new Float:x,Float:y,Float:z;
GetVehiclePos(car, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 10.0);
return 1;
}FindCarByPlate(kennzeichen[])
{
new vehicleid;
for(new i; i<GetPlayerPoolSize();i++)
{
if(!strcmp(PCar[i][d][P_KZ],kennzeichen, true)) //<--- Fahrzeugabfrage vom Kennzeichen des Autos vom Spieler i
{
return PCar[i][d][P_VID];
}
}
return -1;
}Musst einige Sachen an deins noch weiter anpassen, da ich nix über dein Script weiß.
-
Ist es möglich aus der MySQL Datenbank den Namen aller Spieler die Fraktion = 4 haben z.b
Meinst du sowas?
-
kurze frage aber ist Alter nicht eine Zahl ? also ein integer ?
muss das dann nicht alter='%i' sein ?Nein, er verwendet inputtext vom Dialog und das ist ein String.
-
Um die Spaltennamen zu escapen musst du Backticks ( ` ) verwenden, für String verwendestest du weiterhin die -> '
Also muss es so sein:
format(query,sizeof(query),"UPDATE user SET `alter`='%s' WHERE id='%i'",inputtext,sInfo[playerid][db_id]); -
Laut der Fehlermeldung ist der Nickname im SA:MP Client zu lang... Was hast du als Nickname gesetzt?
-
Serverstart wohl doch nicht oder wie?
Leider ist noch ein Bug vorhanden, durch welcher der Serverstart noch nicht möglich ist.
Der Server wird aber aufjedenfall dieses Wochenende starten. -
Warte seid 4 minuten wirds heute noch was?
mfg
Es kommt zu einer kleinen Verzögerung von bis zu 30 Minuten, da momentan ein kleiner Fehler behoben werden muss.
-
Ist damit denke ich mal geklärt.
Thread kann einfach geclosed werden.