Hallo kann mir bitte jemand ein Aduty befehl erstellen und zwar Das im chat an alle eine nachricht steht das z.B. Justin ist nun als Supporter angemeldet. und das selbe mit abmelden und dann noch das die farbe rot wird von den user und das über den ein 3dtext ist mit Supporter on Duty und das der name zu [GR]Justin wird z.B. und so Ich weiß hier gibt es schon so was im Forum aber ich habe probleme wen ich das in mein script einfüge!
Aduty Befehl
- Mister.Anonym
- Geschlossen
- Erledigt
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
-
-
Wir werden dir bestimmt keinen ganzen Befehl erstellen.
Erstelle zu erst einmal dir selber eine Grundlage des Befehls. Versuche danach so weit zu arbeiten, wie du es schaffst.
Wenn du Probleme hast, kannst du gerne hier schreiben. -
Selber machen.
-
Spam doch nicht dauernd rum Anonymi
Ich weiß hier gibt es schon so was im Forum aber ich habe probleme wen ich das in mein script einfüge!
Zeig mal deinen Code den du hier gefunden hast und sag welche Probleme da sind, so kann man dir eher helfen.
-
Aduty ist nun wirklich nichts Schweres.
Du arbeitest mit ein wenig If abfragen und ein paar Variabeln und SendClientMessage
Also 1.
Der erstellst den befehl (ocmd strcmp is wayne)erstellst eine public variable beispiel new aisduty;
Dann fragst du das Admin Level ab
mit if(variable == 1)Nehmen wir an Von A Level 1-3 ist Supporter dann machst du
if(variable >= 3)
Mit SendClientMessage gibst du dann die nachricht aus, dass Supporter Justin nun im "Dienst is"
Dabei setzt du die Varialbe aisduty auf 1.
Bei den Admin befehlen du du willst wo du nur als A Duty arbeiten kannst machst du dann wieder ne if abfrageif(aisduty == 1)
Und dann die Aufgabe die übernommen werden sollTotal easy hoffentlich net zu kompliziert erklärt^^
-
Tutorial: http://forum.sa-mp.com/showthread.php?t=351068
Hat eigentlich genau das was du willst. -
Danke aber den Englischen wen ich das einfüge komm der warnung symbol is never used: "aduty" das heißt Ja das es noch nicht verwendet wurde und wen Ich dann im Spiel /aduty machen passiert auch nix!
-
Lass mal sehen wie du es gemacht hast.
-
Danke aber den Englischen wen ich das einfüge komm der warnung symbol is never used: "aduty" das heißt Ja das es noch nicht verwendet wurde und wen Ich dann im Spiel /aduty machen passiert auch nix!
Benutzt du die Variable aDuty auch? Setzt du Sie auf 1/0?
Zeig mal deinen Befehl. -
Das ganz oben im Script new aDuty[MAX_PLAYERS];
Das unter OnPlayerConnect aDuty[playerid] = 0;
Das unter OnPlayerDisconnect aDuty[playerid] = 0;
Das ganz unten im Script
CMD:aduty(playerid) //Doesnt need params function
{
if(PlayerInfo[playerid][pAdmin] >=1 IsPlayerAdmin(playerid)) //If you use rcon admin delete (PlayerInfo[playerid][pAdmin] >=1
{
if (aDuty[playerid] == 0) //Check if player is on duty
{
new string[128];
new Float:x,Float:y,Float:z;
new Text3D:label = Create3DTextLabel("Admin On Duty!", COLOR_DRED,x,y,z, 40.0, 0, 0); //Creates 3d text label at player position
GetPlayerPos(playerid,x,y,z); //Looks for players position
SetPlayerHealth(playerid,999999); //makes player godmode
SetPlayerColor(playerid,COLOR_DRED); //set admin colour red
SetPlayerSkin(playerid,294); //set admin skin to 294
format(string,sizeof(string), "%s is now on Duty!",GetPlayerNameEx(playerid)); //here you format string to send to players
SendClientMessageToAll(COLOR_DRED,string); //send string to players
SendClientMessage(playerid,COLOR_DRED,"You are now on duty!"); //Tell admin he is now on duty
Attach3DTextLabelToPlayer(label,playerid,0.0, 0.0, 0.7); //attach 3d text label made before to player
aDuty[playerid] = 1; //Set player on duty
}
else if (aDuty[playerid] == 1) //Check if player is on duty
{
new string[128];
new Float:x,Float:y,Float:z;
new Text3D:label = Create3DTextLabel("Admin On Duty!", COLOR_DRED,x,y,z, 40.0, 0, 0);
Delete3DTextLabel(label); //Delete 3d text label saying "Admin On Duty!"
SetPlayerHealth(playerid,100); //sets player health back to 100
format(string,sizeof(string)," %s is now off Duty!",GetPlayerNameEx(playerid)); //Format string to send to players
SendClientMessageToAll(COLOR_DRED,string); //send players string
SendClientMessage(playerid, COLOR_DRED,"You are now off duty!"); //send admin message he is off duty
aDuty[playerid] = 0; //sets admin off duty
}
}
else
SendClientMessage(playerid,COLOR_DRED,"You are not high level enough!"); //Error message to send to players who arent admins
return 1;
}und das hier auch
stock GetPlayerNameEx(playerid) //This is stock i made to make Getting players name easier
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
return Name;
} -
Benutzt du denn auch ZCMD ?
-
-
Dann musst du den Commandprozessor ändern.
Wenn du zb OCMD verwendest, müsstest du ausCMD:aduty(playerid, params[]) -> ocmd:aduty(playerid, params[]) machen.
-
Dann musst du den Commandprozessor ändern.
Wenn du zb OCMD verwendest, müsstest du ausCMD:aduty(playerid, params[]) -> ocmd:aduty(playerid, params[]) machen.
EDIT: Geht nicht dann kommt das
C:\Users\Justin Grosser\Desktop\Selfmade\gamemodes\Selfmade.pwn(42910) : error 001: expected token: ")", but found "{"
C:\Users\Justin Grosser\Desktop\Selfmade\gamemodes\Selfmade.pwn(42952) : warning 203: symbol is never used: "aduty" -
ok Ich versuche es mal danke
Zudem reicht es, wenn du die Variable aDuty[playerid] = 0; bei OnPlayerDisconnect auf 0 setzt und nicht auch noch bei OnPlayerConnect -
Zudem reicht es, wenn du die Variable aDuty[playerid] = 0; bei OnPlayerDisconnect auf 0 setzt und nicht auch noch bei OnPlayerConnectok danke aber brauche immer noch hilfe
-
Was nutzt du für einen Command Prozessor?
In deinem Code finde ich keinen Fehler... -
Was nutzt du für einen Command Prozessor?
In deinem Code finde ich keinen Fehler...Das habe ich ja aus den Englischen forum aus einen Tutorial und es ist CMD und es kommt immer nur der Warning das aduty nicht benutzt wird also der hier symbol is never used: "aduty" und im Ingame geht der Befehl nicht also da passiert nix!
-
Das habe ich ja aus den Englischen forum aus einen Tutorial und es ist CMD und es kommt immer nur der Warning das aduty nicht benutzt wird also der hier symbol is never used: "aduty" und im Ingame geht der Befehl nicht also da passiert nix!
Das ist mir auch bekannt, nur was benutzt du? strcmp, ocmd, dcmd?
Der Fehler liegt dadran, das der Befehl auf einen anderen Command Prozessor basiert -
Das ist mir auch bekannt, nur was benutzt du? strcmp, ocmd, dcmd?
Der Fehler liegt dadran, das der Befehl auf einen anderen Command Prozessor basiertocmd
-