Das ist clientside und nicht serverside.
Das kann man serverside nicht unterbinden.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
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:
Codemoneyzeros = (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/ntyv7eDie 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.AmxHabe 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.
Code
Alles anzeigenstock 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; }Die Methode wird im OnPlayerDisconnect aufgerufen, verändert jedoch nicht in der Tabelle "users".
Tabelle:
Fehler der MySQL-Log;XML[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 1Ich 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 ^^)
C
Alles anzeigenstock 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; } -
-
Moin, mal eine frage warum Funktioniert das nicht ?
Der Baum bewegt sich kein bisschenCodeMoveDynamicObject(Holzfb[i][holzfb_ID], Holzfb[i][holzfb_x], Holzfb[i][holzfb_y]+0.001, Holzfb[i][holzfb_z], 0.0007, Holzfb[i][holzfb_urx], Holzfb[i][holzfb_ury], Holzfb[i][holzfb_urz]);Wenn ich es so mache dann macht er keine Bewegung sondern ist direkt in der Position wo er sich "hinbewegen" soll
-
Der Baum bewegt sich kein bisschen
MoveDynamicObject(Holzfb[i][holzfb_ID], Holzfb[i][holzfb_x], Holzfb[i][holzfb_y], Holzfb[i][holzfb_z]+0.001, 0.001, Holzfb[i][holzfb_urx], Holzfb[i][holzfb_ury], Holzfb[i][holzfb_urz]);
und so?

