Erscheinen die ClientMessages? Und bekommt man alle 3 Verwarnungen direkt hintereinander?
[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
-
-
keine Nachricht erscheint, keine Prints werden ausgeführt, nur der Spieler wird gekickt
-
Du musst den Kick um ein paar Millisekunden verzögern, dann dürfte es wieder funktionieren.
Dafür gibt es sogar ein Include: Kick/Ban Fix -
Du musst den Kick um ein paar Millisekunden verzögern, dann dürfte es wieder funktionieren.
Dafür gibt es sogar ein Include: Kick/Ban FixDaran liegt es nicht, die Prints erscheinen ja auch nicht.
-
Daran liegt es nicht, die Prints erscheinen ja auch nicht.
Daran liegt es nicht, wie JustMe.77 bereits gesagt hat. Verwende bereits einen Timer um die Kick / Ban Funktion um 1ms zu verzögern.
-
Hab 'n Problem mit Animationen (ApplyAnimation), die funktioniert einfach beim 1. mal nicht.. z.B.
Wenn man stirbt sollte man nach seinem Spawn in eine Animation kommen, klappt aber beim 1. Mal nicht, beim 2. Mal geht es dann auf einmal.. Ist bei allen anderen Animationen die ich verwende genau so.
-
Du musst die Animation "laden". Führe zum Beispiel beim connecten alle Animationen aus. Oder Google mal nach "PreLoadAnims".
-
Wieso wird der Spieler direkt gekickt? Außerdem erscheinen die Prints nicht..
forward OnPlayerCBug(playerid);public OnPlayerCBug(playerid){CheckCrouch[playerid] = 0;cbugwarn[playerid]++;new string[144];format(string, sizeof(string),"{FFFFFF}Hör auf{FF0000} C-Bug {FFFFFF}zu benutzen. Warn {FF0000}%d/3", cbugwarn[playerid]);SendClientMessage(playerid, COLOR_RED, string);print("Cbug Warn aufgerufen");if(cbugwarn[playerid] == 3){new str2[128];format(str2, sizeof(str2), "{FF0000}System{FFFFFF} hat {%06x}%s{FFFFFF} für Cbug mit der Waffe {FF0000}(%s) gekickt.", GetPlayerColor(playerid) >>> 8, GetName(playerid), aWeaponNames[WeaponID[playerid]]);SendClientMessageToAll(COLOR_RED, str2);Kick(playerid);print("Kick aufgerufen");return 1;}return 1;}
Sicher, daß diese Funktion bzw. Callback aufgerufen wird und nicht KickPlayer von woanderst passiert?
-
Habe ich etwas falsch gemacht?
UpdateWeedTextDraws(playerid)
{
new str[48], str2[48];
//Updating Level & Weed TextDraw
format(str, sizeof(str),"Level: ~g~%d", GetPlayerScore(playerid));
PlayerTextDrawSetString(playerid, Weed0, str); //Level
format(str2, sizeof(str2),"Weed: ~g~%d", pData[playerid][P_Weed]);
PlayerTextDrawSetString(playerid, Weed1, str2); //Weed
}Server Log:
[17:47:09] [join] [LnD]JustMe.77 has joined the server (0:127.0.0.1)
[17:47:19] [debug] Run time error 4: "Array index out of bounds"
[17:47:19] [debug] Accessing element at index 65535 past array upper bound 999
[17:47:19] [debug] AMX backtrace:
[17:47:19] [debug] #0 00094d20 in UpdateWeedTextDraws (playerid=65535) at ../Modules/Player/Weed-TextDraws.pwn:51 -
Setze vor die new's:
if(!IsPlayerConnected(playerid)) return 1; -
Problem gelöst, letzte Frage:
Habe verschiedene Textdraws (Leben/Armour Anzeige & Level/Geld Anzeige, beide nutzen jeweils PlayerTextDrawSetOutline.
Wenn ich die Level / Geld Anzeige Textdraws ins Gamemode einfüge, dann fehlt bei den Leben/Armour Anzeige die Outline, wieso? Ich bezweifle zwar das ich hierfür eine Problemlösung finde, aber vielleicht weiß ja einer bescheid woran das liegt..Edit:
Nein, die Health/Armour Anzeige (nur Health) verschwindet hinter meiner Health-Bar..)
Bild:
-
Guten Mittag,
weiß jemand wie ich den Farbcode (z.B.: 0x007600FF) in einer Variable speichere?
-
Wozu in einer Variable speichern?
Das könntest du so machen:
new farbe = 0x007600FF;
Aber als define (Makro) wäre es besser
-
Ich möchte das dynamisch machen. Ich lese es aus der Datenbank aus weiß aber grad ned wie ich es Speicher.
-
Du kannst es als Integer Wert (ganz normale Zahl) speichern und laden.
Um die Zahl in einen Color-Code zu bekommen, falls notwendig:
format(str, sizeof (str), "{%06x}", farbe >>> 8); -
-
1. Ich hab es als Hex-Wert in der DB gespeichert also als String
Speichere es als Integer, dann kannst du einfacher damit umgehen.
Hier kannst du es umwandeln: http://www.binaryconvert.com/convert_signed_int.html2. Ist das so möglich?
Dann kannst du es nämlich so machen:
SendClientMessage(playerid, farbe, "Hi");farbe entspricht dem geladenen Integer aus der Datenbank.
-
geht das auch für SetPlayerColor?
-
-
Danke dir!