Wie entfernt man die nervigen AudioStream:https:WennDuDasLiestBistDuCool.com Nachrichten aus dem Chat?
http://prntscr.com/ntmgyd
Oder gibt es ein Plugin, womit man Sounds abspielen kann, falls es nicht geht?
Wie entfernt man die nervigen AudioStream:https:WennDuDasLiestBistDuCool.com Nachrichten aus dem Chat?
http://prntscr.com/ntmgyd
Oder gibt es ein Plugin, womit man Sounds abspielen kann, falls es nicht geht?
Wie entfernt man die nervigen AudioStream:https:WennDuDasLiestBistDuCool.com Nachrichten aus dem Chat?
prntscr.com/ntmgyd
Wenns mal schnell gehen muss: "/audiomsg" in den Chat
oder "permanenter" einfach "audiomsgoff 1" in die sa-mp.cfg
Wenn ich "audiomsgoff 1" in die server.cfg schreibe passiert nichts.
Mache ich was falsch oder geht es echt nur Client Side mäßig
Das ist clientside und nicht serverside.
Das kann man serverside nicht unterbinden.
Das ist clientside und nicht serverside.
Das kann man serverside nicht unterbinden.
Klar kann man das!
Man muss nur den Chat austricksen.
[ INCLUDE ] & [ FILTERSCRIPT ] Simple Audio Hide Message Version 2.1.1 [UPDATED]
Huhu,
ich brauche mal ein wenig Hilfe mit Strings:
//Zum Verständnis:
Ich versuche die Geldanzeige zu duplizieren, sodass ich eine 2. für das Geld auf der Bank habe.
Das Textdraw ist soweit fertig, nur weiß ich nicht, wie ich es hinkriege, dass wenn ich z.B. 100$ auf der Bank habe, mir "$00000100" angezeigt wird, wie auch in der Standard Geldanzeige.
Normalerweise kann man ja einen Char (hier die 0) einfach multiplizieren, wie z.B. hier: format(bankmoneyString, 9, "$08%d", pInfo[playerid][pBank]);
Dabei würde der String "00000000+Bankgeld" ergeben.
//Ab hier WICHTIG:
Allerdings muss man ja errechnen, wie viel Ziffern in der Anzeige von dem vorhandenen Geld eingenommen werden, sodass man Nullen abziehen kann, die man dann durch das Geld auf der Bank ersetzt.
Hätte man 100$ auf der Bank müsste man also 3Nullen zur 100 ersetzen.
Ich habe es so versucht, jedoch schreibt der Server dann einfach die Klammern ins Textdraw:
moneyzeros = (9-strlen(pInfo[playerid][pBank])); //9Nullen-Banklänge
format(bankmoneyString, 9, "$0(%d)%d", moneyzeros, pInfo[playerid][pBank]);//(die 0 soll %d Mal geschrieben werden, danach das Bankgeld)
PlayerTextDrawSetString(playerid, BankmoneyDraw[playerid], bankmoneyString);
Ich hoffe man versteht mein Problem und kann mir damit irgendwie helfen.
Dabei würde der String "00000000+Bankgeld" ergeben.
Nein, das ist falsch.
format(tmp,sizeof(tmp),"%08d",123); //Ergibt: 00000123
Also genau das, was du willst
Das füllt immer nur die Nullen bis zu der n-ten Stelle auf.
Hier mal an einer Tabelle und dem Format %02d deutlich gemacht
%02d | Input | Ouput |
5 |
05 |
|
10 |
10 |
Moin, hätte ein Problem mit meinem Mörser Script
Die Objekte lassen sich per MoveObject Problemlos bewegen und explodieren auch am Ende
bekomme allerdings in meinen Logs "Out of bounds" errors.
// EDIT:
[13:33:59] [debug] AMX backtrace:
[13:33:59] [debug] #0 002af264 in public KaboomBoom () in CoLR41-4.amx
[13:33:59] [debug] Run time error 4: "Array index out of bounds"
[13:33:59] [debug] Attempted to read/write array element at negative index -1
[13:33:59] [debug] AMX backtrace:
Hier bei OnMoveObject (Morsa[i][MorsaID] =-1;)
enum Morsayo
{
MorsaID,
Light
}
new Morsa[200][Morsayo];
wird das wieder auf -1 gesetzt, ich möchte halt die ID wieder freigeben.
Und bei OnGameModeInit wirds auch auf -1 gesetzt
for(new i=0; i<sizeof(Morsa); i++)
{
Morsa[i][MorsaID]=-1;
}
new id=getFreeMorserID();
Danach auch abfragen, ob id nicht -1 ist.
Danke soweit , jetzt sind keine Fehler mehr da bezüglich AMX backtrace.
Allerdings werde ich einfach nach dem starten gekickt nach ein paar sekunden
wegen dem ackslimit ? Ist bereits auf 5000
[warning] client exceeded 'ackslimit' XXX (5014) Limit: 5000/sec
Hochzustellen würde anscheinend nichts bringen da davor
[warning] client exceeded 'ackslimit' XXX (3215) Limit: 3000/sec
das gleiche Problem bestand
(Hat sich geringfügig geändert beim Public)
https://pastebin.com/38yP09vm
Wie schnell werden deine Raketen abgeschossen?
Garnicht, der MoveObject Teil ist vorläufig rausgenommen worden.
Ich versuche gerade dem objekt phsysics zu geben
Ich versuche gerade dem objekt phsysics zu geben
Und wozu genau?
Ich rate dir davon ab...
Das frisst mega viel, gerade wenn du das auf einem Server mit vielen Leuten machen magst
@Andosius danke!!!!
Ich habe leider ein Problem.
Das Filterscript gibt an: http://prntscr.com/ntyv7e
Die Version stimmt, ich finde das komisch.
Die Server-IP wurde auf "localhost" angepasst auch mit der eigentlichen Standart-Gateway IP ausprobiert. (Beides zeigt selben Fehler)
MAX_PLAYERS wurde auch richtig definiert.
\pawno\include\AudioHideV3.inc
\filterscripts\tAudioHideV3.Amx
Habe ich was falsch gemacht? Eventuell @Akino Kiritani du kennst dein System ja
Der .vs Ordner hat keinen Nutzen richtig?
Und wozu genau?
Ich rate dir davon ab...
Das frisst mega viel, gerade wenn du das auf einem Server mit vielen Leuten machen magst
Jo ich merks grad
Vor allem müsste ich für Kollisionen noch mit ColAndreas arbeiten... RIP.
Ich glaub ich wär aber zufrieden wenn erstmal nur die Physik funktioniert, für das andere
könnte ich ja einen Timer benutzen.
Problem im letzten Beitrag ist behoben.
Wie kann ich Objekte grafisch in einem Textdraw einzeigen lassen? (z.B Wantedzeichen)
\filterscripts\tAudioHideV3.Amx
das t vor AudioHideV3 gehört da nicht hin. Sicher das die Datei richtig benannt ist ?
Die Server-IP wurde auf "localhost" angepasst auch mit der eigentlichen Standart-Gateway IP ausprobiert. (Beides zeigt selben Fehler)
Anpassen muss man das nicht unbedingt.
Es ist so die IP wird dafür genutzt um den "Connection" Text nach zu bilden.
Das habe ich damals aus dem Grunde gemacht, weil viele Server / Scripter Musik bereits am Anfang laufen ließen.
Der .vs Ordner hat keinen Nutzen richtig?
Richtig, den hat Visual Studio erstellt, als ich es vor Jahren darüber hochgeladen habe.
Ja, lag daran, weil ich es nicht in die Server.cfg unter filterscripts eingetragen habe. Ich Idiot hab es unter Includes eingetragen -,-
Ich bin heute aber fleißig am Beiträge erstellen:
Ich will abfragen, ob ein Spieler in einen der Areas ist.
Alle Areas sind im selben Array, kann ich dies vereinfachen?
Würde das reichen, Areas sind ja anders
Wieder ein Problem meinerseits:
Folgender stock speichert nicht die Stats, obwohl er dafür vorgesehen ist.
stock SaveUserStats(playerid)
{
//Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
if(!pInfo[playerid][pLoggedIn]) return 1;
//Ansonsten speichere sie
new query[256];
mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', admin = '%d', frak = '%d', fraklevel = '%d', job = '%d',", pInfo[playerid][pLevel], pInfo[playerid][pAdmin], pInfo[playerid][pFrak], pInfo[playerid][pFraklevel], pInfo[playerid][pJob]);
mysql_format(handle, query, sizeof(query), "%s money = '%d', bank = '%d', kills = '%d', deaths = '%d', prem = '%d', maxcars = '%d'", pInfo[playerid][pMoney], pInfo[playerid][pBank], pInfo[playerid][pKills], pInfo[playerid][pDeaths], pInfo[playerid][pPrem], pInfo[playerid][pMaxcars]);
mysql_format(handle, query, sizeof(query), "%s WHERE uid = '%d'", pInfo[playerid][p_ID]);
mysql_pquery(handle, query);
return 1;
}
Alles anzeigen
Die Methode wird im OnPlayerDisconnect aufgerufen, verändert jedoch nicht in der Tabelle "users".
Tabelle:
Fehler der MySQL-Log;
[18:56:38] [ERROR] mysql_format: no value for specifier '%d' passed
[18:56:38] [ERROR] mysql_format: no value for specifier '%d' passed
[18:56:38] [ERROR] error #1064 while executing query "UPDATE users SET level = '0', admin = '0', frak = '0', fraklevel = '0', job = '0',": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
Ich danke schonmal im voraus für die Hilfe
Folgender stock speichert nicht die Stats
Du musst auch immer wieder den string hinten dran hängen (also als Parameter angeben, das %s hast du immer brav gemacht ^^)
stock SaveUserStats(playerid)
{
//Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
if(!pInfo[playerid][pLoggedIn]) return 1;
//Ansonsten speichere sie
new query[256];
mysql_format(handle, query, sizeof(query), "UPDATE `users` SET `level` = '%d', `admin` = '%d', `frak` = '%d', `fraklevel` = '%d', `job` = '%d',", pInfo[playerid][pLevel], pInfo[playerid][pAdmin], pInfo[playerid][pFrak], pInfo[playerid][pFraklevel], pInfo[playerid][pJob]);
mysql_format(handle, query, sizeof(query), "%s `money` = '%d', `bank` = '%d', `kills` = '%d', `deaths` = '%d', `prem` = '%d', `maxcars` = '%d'", query, pInfo[playerid][pMoney], pInfo[playerid][pBank], pInfo[playerid][pKills], pInfo[playerid][pDeaths], pInfo[playerid][pPrem], pInfo[playerid][pMaxcars]);
mysql_format(handle, query, sizeof(query), "%s WHERE `uid` = '%d'", query, pInfo[playerid][p_ID]);
mysql_pquery(handle, query);
return 1;
}
Alles anzeigen