Beitrag von Ensar309 ()
Dieser Beitrag wurde von Trooper[Y] gelöscht ().
Soll in "(..)" Mein Text rein ?
Ich kenne mich etwas aus mit Scripting
Sorry, ich dachte das wär ernst gemeint
Ja, soll.
Habe Jetzt ein anderes Problem
Ich habe ein Befehl eingegeben was in der Datenbank gibt
Dann kommt sowas: bilder-upload.eu/bild-6e5c29-1573326402.png.html
Ich habe das dan Anders rum gemacht ein Befehl was es nicht gibt in der DB und es ist nichts gekommen
Was genau meinst du jetzt was geändert zeig mal.
Was genau meinst du jetzt was geändert zeig mal.
[/quote]return SendClientMessage(playerid,Weiss,"Wir haben diesen Befehl nicht in der Datenbank!{0xFFFFFFFF}/help");
Das habe ich eingegeben.
also hast du das return 0; weggemacht?
new string[126];
format(string,sizeof(string),"Wir haben den Befehl (%s) nicht in der Datenbank! "{FF2800}" '/help'",cmdtext);
return SendClientMessage(playerid,Weiss,string);
TIPP: Wenn du ein Text schreibst und z.B.
SendClientMessage(playerid, COLOR_NAME, "Benutzt "/Help" um weitere Befehle zu sehen."); // FALSCH
SendClientMessage(playerid, COLOR_NAME, "Benutzt '/Help' um weitere Befehle zu sehen.");//RICHTIG
Mit " bricht du den text ab um z.B Farben codes einzufügen oder weiteres.
Danke Jungs ;D
Und das man mit " unterbrechen muss für Farbcodes wäre mir neu.
Dummheits fehler meine z.B.
""#DUNKELROT" Test sagt: .... "
Dummheits fehler meine z.B.
Für defines muss man unterbrechen. Stimmt.
moin,
kleine frage, wie kann ich befehle verhindern, wenn man zb bewusstlos ist ?
derzeit habe ich es so was leider aber nicht geht
public OnPlayerCommandText(playerid, cmdtext[])
{
if(InBehandlung[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Du bist bewusstlos und kannst derzeit keine Befhele benutzen!");
return false;
}
return true;
}
Anstelle des return false setzt du einfach dein SendClientMessage drauf.
Das returnt nämlich im Normalfall 1.
Ansonsten kommt: SERVER: Unknown command
e:/ Das muss aber übrigens auch ganz oben stehen.
Bei anderen Dingen wie ocmd zcmd dcmd müsste man in deren interne Callbacks eingreifen.
wie kann ich den ocmd blocken ?
Könntest du eben den Inhalt der Include auf Pastebin posten?
Bin leider nicht zu Hause, kann es dir so spontan nicht sagen
jo hier https://pastebin.com/bKXn7ASf
Probiere mal folgendes:
Returne in BeforePlayerCommandText 0 - ist wie OnPlayerCommandText aufgebaut - wenn der Spieler gemutet sein soll, ansonsten 1.
Du brauchst kein forward, definiere lediglich
#define OCMD_BEFORE_CALLBACK
LG
öh jetzt bin ich überfragt
meinst du
#define OCMD_BEFORE_CALLBACK
public BeforePlayerCommandText 0()
{
}
Soweit ja, nur meine ich das Callback so:
#define XYZ zu viel Schreibarbeit x)
public BeforePlayerCommandText(playerid, cmdtext[]) { //siehst beim compilen obs da einen Fehler gibt xD
//wenn muted -> return 0
return 1;
}
Melde dich mal, wenn du es ingame getestet hast.
okay habs drin er sagt mir das ich es doch mit forward machen soll
39301) : warning 235: public function lacks forward declaration (symbol "BeforePlayerCommandText")
39309) : error 010: invalid function or declaration
derzeitig habe ich es so wenn ich es recht verstehe ;D
public BeforePlayerCommandText(playerid, cmdtext[])
{ //siehst beim compilen obs da einen Fehler gibt xD if(InBehandlung[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Du bist bewusstlos und kannst derzeit keine Befhele benutzen!");
return 0;
}
return 1;
}//wenn muted -> return 0
Das return 0 zum SendClientMessage und an der derzeitigen Stelle ein return 1.
Setze mal das define über #incluce <ocmd>