So bringt die Funktion ja auch nichts. Du musst die Funktion direkt bevor du die Animation ausführst verwenden.
Beiträge von LeonMrBonnie
-
-
Wie und wann wendest du die Funktion denn an? Direkt bevor die Animation ausgeführt wird?
-
Gibt schon etwas Gutes zum Preloaden von Anims ?
Habe mal gegoogelt und das ausprobiert Funktioniert nur leider nicht.Wie "funktioniert nicht"?
Ich habe diese Funktion auch in einigen meiner Filterscripts verwendet, und dort hat sie einwandfrei funktioniert. -
mega.nz
Kostenlos kriegst du dort 50GB.
-
Forum down ??
Ja, das Forum ist momentan nicht erreichbar.
ist das Projekt beendet ?
Nein.
-
Da muss ich meinem Vorposter leider zustimmen, mir gefällt das alte Design auch weitaus besser.
-
Es scheint eher so als würde Pawnfox garnicht richtig compilen.
Hast du deine Includes auch bei Pawnfox in den PawnStuff Ordner unter Includes reinkopiert?
Was erhältst du als Output wenn du mit Pawnfox deinen Gamemode compilest? (Falls du nichts erhältst, ändere deine Compileoptionen auf -d3) -
2x Bullit - 1,12€
2x Chips - 2,48€ (0,99€ und 1,49€)
1x Flips - 0,69€
1x Wasabi Erdnüsse - 1,39€
1x Kinder Bueno XXL - 2,99€ -
Schon versucht ein anderes Programm wie Pawnfox zum compilen zu verwenden?
-
Finde das obere auch besser.
-
Veröffentlichst du die Soße / gibts schon n GitHub Repo o.Ä.?
GitHub Repo ist bereits vorhanden, aber noch auf privat gestellt, damit mir der Bot Token nicht geklaut wird.
Sobald es für den richtigen Betrieb bereit ist, wird die Repo auf Öffentlich gestellt. -
Das du dich mit JavaScript beschäftigst hut ab. Dein Bot schaue ich mir mal an wenn er fertig ist.
Danke dir. Wird wahrscheinlich noch einige Zeit dauern, bis er wirklich fertig ist. Das Grundgerüst ist aber schon fertig, also muss darauf nurnoch aufgebaut werden.
Wenn du damit fertig bist dann buche ich dich als JavaScript Entwickler xDDD
Alles unter 300€ Netto Stundenlohn lehn ich ab
-
Wenn du einen Tag verwendest musst du es wie einen Public forwarden.
-
Hallöchen,
da ich mit in letzter Zeit sehr viel mit JavaScript beschäftige und mich selbst einfach fortbilden möchte, habe ich nun vor einigen Tagen begonnen einen Discordbot in NodeJS zu schreiben.
Vorher habe ich mich hauptsächlich mit der Webentwicklung auf NodeJS Basis beschäftigt, dies ist also ein erstes mal für mich.
[tabmenu]
[tab='Verwendete Packages']
[subtab='DiscordJS']
Dieses Package ist das Grundgerüst für den Bot. Es ist eine Library zur einfachen Kommunikation mit der DiscordAPI.
Ohne dieses Package würde der ganze Bot nicht funktionieren.
Zu finden unter: discord.js.org
[subtab='FS (Filesystem)']
Dieses Package wird für das auslesen und dem schreiben in der Userdatenbank verwendet.
Es ist bei NodeJS standartmäßig mit dabei.
[subtab=node-opus]
Dieses Package wird dafür verwendet Audio vom Bot zu übertragen.
Zu finden unter: node-opus - npm
[subtab=ytdl-core-discord]
Dieses Package wird dafür verwendet YouTube Videos abzuspielen.
Zu finden unter: ytdl-core-discord - npm
[subtab='Weitere']
Weitere Packages sind momentan nicht vorhanden. Ich möchte die Anzahl so niedrig wie möglich halten, da ich diesen Bot zum lernen verwenden möchte.
[/tabmenu]
[tabmenu]
[tab='Vorhandene Features']
[subtab='Konfiguration in separater Datei']
Die komplette Konfiguration des Bots wird in einer separaten Datei (config.js) gemacht.
Um den Bot also nutzen zu können, muss man die Hauptdatei des Bots garnicht anfassen.
[subtab='Commandhandler']
Es ist eine Art Commandhandler vorhanden, sodass neue Befehle einfach hinzugefügt werden können.
Die vorhandenen Befehle können im Bereich Befehle eingesehen werden.
[subtab='Rechtesystem']
Es ist bereits ein einfaches Rechtesystem mit insgesamt 3 Rängen vorhanden.
Diese 3 Ränge sind: User, Moderator, Administrator
Einige Befehle können als normaler User nicht ausgeführt werden, wie z.B. Kick und Ban.
[subtab='Userdatenbank']
Sobald ein Nutzer dem Discord auf dem der Bot läuft connectet, wird dieser in der Userdatenbank gespeichert.
Bisher wird nur die UserID, die Anzahl der Warns und das Beitrittsdatum gespeichert.
[subtab='Errorhandler']
Falls Fehler in der Konfiguration des Bots erkannt werden, werden diese automatisch in der Konsole ausgegeben.
[subtab='Automatische Join/Leave Nachrichten']
Sobald ein Nutzer den Discord betritt oder verlässt, versendet der Bot eine Infonachricht in den Infochannel.
[subtab=Anti Command Spam]
Damit Nutzer keine Befehle spammen, gibt es ein automatisches Anti Command Spam System, welches einen Befehl von einem User nur alle X Sekunden zulässt.
Die Wartezeit kann in der Config jederzeit angepasst werden.
[/tabmenu]
[tabmenu]
[tab='Befehle']
[subtab='help']
Der Help Befehl zeigt die Erklärung und benötigten Rechte für alle vorhandenen Befehle an.
Dieser Befehl kann von jedem ausgeführt werden.
[subtab='cleanup']
Der Cleanup Befehl löscht alle vorhandenen Nachrichten im Botchannel.
Dieser Befehl kann nur von Admins und Mods ausgeführt werden.
[subtab='poke']
Der Poke Befehl ist ein kleiner Funbefehl mit welchem man den Bot anstupsen kann.
Dieser Befehl kann von jedem ausgeführt werden.
[subtab='admins']
Der Admins Befehl ist ein Befehl welcher alle vorhandenen Administratoren und Moderatoren auf dem Discord anzeigt.
Dieser Befehl kann von jedem verwendet werden.
[subtab=developer]
Der Developer Befehl ist ein Befehl der die Kontaktmöglichkeit zum Entwickler zeigt.
Dieser Befehl kann von jedem verwendet werden.
[subtab=userinfo]
Der Userinfo Befehl zeigt Informationen über einen gewählten User an.
Dieser Befehl kann von jedem verwendet werden.
[subtab='warn']
Der Warn Befehl verwarnt einen Nutzer mit einem Grund.
Dieser Befehl kann nur von Admins und Mods verwendet werden.
[subtab='unwarn']
Der Unwarn Befehl entfernt einen Warn von einem Nutzer.
Dieser Befehl kann nur von Admins und Mods verwendet werden.
[subtab='feed']
Der Feed Befehl ist ein Funbefehl der überprüft ob ein User gerade feedet. (Yasuo spielt)
Dieser Befehl kann von jedem verwendet werden.
BILD FEHLT!
[subtab='kick']
Der Kick Befehl wirft einen Nutzer mit einem Grund vom Discord Server.
Dieser Befehl kann nur von Admins und Mods verwendet werden.
[subtab='ban']
Der Ban Befehl bannt einen Nutzer mit einem Grund vom Discord Server.
Dieser Befehl kann nur von Admins und Mods verwendet werden.
[subtab=meme]
Der Meme Befehl wählt ein zufälliges Meme aus dem Memeordner aus und postet es.
Dieser Befehl kann von jedem verwendet werden.
[subtab=setusername]
Der Setusername Befehl setzt den Benutzernamen von einem User.
Dieser Befehl kann nur von Admins und Mods verwendet werden.
[/tabmenu]
[tabmenu]
[tab=Changelog]
[subtab=v0.0.4]
- Befehle playyoutube und stopyoutube hinzugefügt
- Commandhandler (mal wieder) überarbeitet
- Standartdaten der Config wurden angepasst
[subtab=v0.0.3]
- Weitere Konfigurationsmöglichkeiten hinzugefügt
-- Join Nachrichten de/aktivieren, Leave Nachrichten de/aktivieren, Connect Nachricht de/aktivieren, Benutzername des Bots
- Befehl setusername hinzugefügt
- Load-Json-File Package entfernt (Sorgte für Komplikationen)
- Einige Anpassungen am Commandhandler
- node-opus Package hinzugefügt (Zum Abspielen von Audiostreams)
- ytdl-core-discord Package hinzugefügt (Zum Abspielen von YouTube Videos)
[subtab=v0.0.2]
- Commandhandler neu geschrieben (Befehle werden aus einer JSON Datei geladen)
- Befehle kick und ban neu geschrieben
- Befehl help dynamisch geschrieben
- Anti Command Spam hinzugefügt (Wartezeit kann in Config angepasst werden)
- Befehl meme hinzugefügt (Wählt ein zufälliges Meme aus und postet es)
[subtab=v0.0.1]
- Alle bisher vorhandenen Features eingefügt
Nach diesem Changelog werden richtige Changelogs folgen.
[/tabmenu]Sourcecode ist zu finden auf GitHub
Für Feedback und Fragen bin ich jederzeit offen! -
Das liegt daran, dass du hier: new fraktion = cache_get_value_name_int(i, "id", fraktion); beim Laden als Index die ID setzt und die ID beginnt bei 1, also musst du bei dem Fraktions_Save() Loop auch wieder bei 1 anfangen.
-
Ist zwar eigentlich nicht so mein Geschmack, sieht aber echt interessant aus. Gefällt mir.
-
Wenn du Fraktionsid 0 nicht speichern willst, dann fang den for-loop einfach bei 1 statt bei 0 an.
Statt:
for(new i = 0; i < MAX_FRAKS; i ++)Dann einfach:
for(new i = 1; i < MAX_FRAKS; i ++) -
Ist garnicht so schwer.
Wichtig ist nur dass du in jeder deiner Module auch y_hooks neu includest und dann kannst du einfach jedes beliebige Callback so hooken:
hook OnPlayerConnect(playerid)
{}
-
Dafür kannst du YSI nutzen und dann y_hooks verwenden.
-
Dann verwende dafür einfach ein Array.
Statt new IsDoorOpened; machst du einfach new IsDoorOpened[2];
Und dann deine Abfrage so:
new i = /*X*/(playerid);
if(i == -1) return 1;
switch(i)
{
case 0: //Tür 1
{
new Float:x,Float:y,Float:z;
GetDynamicObjectPos(X[i],x,y,z);
MoveDynamicObject(Y[i], x-1.6816,y,z,1);
UpdateDynamic3DTextLabelText(X[i],-1,"/*X*/");
IsDoorOpened[0] = 1; //is Tür 1 offen
}
case 1: //Tür 2
{
UpdateDynamic3DTextLabelText(Y[i],-1,"/*X*/");
IsDoorOpened[1] = 1; //is Tür 2 offen
}
}