Waffenanzeige von anderen Spielern

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
  • Guten Morgen,




    hatte mal etwas lange Weile und dachte es ist nützlich für einige Leute.




    Bitte beachtet, dies ist mein erster Release im Showroom also seit nicht so hart zu mir :D




    Hierbei handelt es sich wie der Titel schon sagt, um eine Waffenanzeige von anderen Spielern. Ihr benötigt dazu Adminrechte aber dies kann man jedoch jederzeit anpassen.















    So, nun kommen wir zum eigentlichen Thema.






    Ich gebe euch eine Schritt für Schritt Anleitung.






    Also erstes definiert ihr die Waffenanzeige. Dies schreibt ihr am Besten oben hin.






    Code
    forward Waffenanzeige(playerid,targetid); // Waffenanzeige






    Dann kommen wir nun zum Befehl. Weil irgendwie muss man ja die Waffenanzeige aufrufen können.




    Dies kommt im Bereich public OnPlayerCommandText(playerid, cmdtext[]) hinein






    Code
    if (strcmp(cmd, "/checkwaffe", true) == 0) // befehl { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] >= 1) // Hier das Adminlevel einstellen ab wann man den Befehl ausführen darf { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, FARBE_Rot, "Fehler : /checkwaffe [Spieler ID]"); // Bei falscher Eingabe return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { Waffenanzeige(playerid,giveplayerid); // Waffenanzeige } } else { SendClientMessage(playerid, FARBE_Rot, "Der Spieler wurde nicht gefunden!"); // Spieler ID nicht vorhanden } } else { SendClientMessage(playerid, FARBE_Rot, "Du hast nicht genügend Rechte um diesen Befehl auszuführen !"); // Keine Rechte vorhanden } } return 1; }






    Was natürlich noch fehlt, ist die Anzeige dies habe ich hier definiert. Ihr fügt es am Besten ganz unten in der Gamemode ein.






    Code
    public Waffenanzeige(playerid,targetid) { if(IsPlayerConnected( playerid ) && IsPlayerConnected( targetid )) { new Float:px,Float:py,Float:pz; new Munition[12], Waffe[12], Waffenname[12][50]; new coordsstring[256]; GetPlayerPos(targetid, px, py, pz); GetPlayerWeaponData(targetid,1,Waffe[0],Munition[0]); GetPlayerWeaponData(targetid,2,Waffe[1],Munition[1]); GetPlayerWeaponData(targetid,3,Waffe[2],Munition[2]); GetPlayerWeaponData(targetid,4,Waffe[3],Munition[3]); GetPlayerWeaponData(targetid,5,Waffe[4],Munition[4]); GetPlayerWeaponData(targetid,6,Waffe[5],Munition[5]); GetPlayerWeaponData(targetid,7,Waffe[6],Munition[6]); GetPlayerWeaponData(targetid,8,Waffe[7],Munition[7]); GetPlayerWeaponData(targetid,9,Waffe[8],Munition[8]); GetPlayerWeaponData(targetid,10,Waffe[9],Munition[9]); GetPlayerWeaponData(targetid,11,Waffe[10],Munition[10]); GetPlayerWeaponData(targetid,12,Waffe[11],Munition[11]); GetWeaponName(Waffe[0],Waffenname[0],50); GetWeaponName(Waffe[1],Waffenname[1],50); GetWeaponName(Waffe[2],Waffenname[2],50); GetWeaponName(Waffe[3],Waffenname[3],50); GetWeaponName(Waffe[4],Waffenname[4],50); GetWeaponName(Waffe[5],Waffenname[5],50); GetWeaponName(Waffe[6],Waffenname[6],50); GetWeaponName(Waffe[7],Waffenname[7],50); GetWeaponName(Waffe[8],Waffenname[8],50); GetWeaponName(Waffe[9],Waffenname[9],50); GetWeaponName(Waffe[10],Waffenname[10],50); GetWeaponName(Waffe[11],Waffenname[11],50); SendClientMessage(playerid, FARBE_Gruen,"|======================================== Waffen ========================================|"); format(coordsstring,sizeof(coordsstring),"Aktuelle Waffen : %s [0] %s[ %d Schuss ] %s[ %d Schuss ] %s[ %d Schuss ] %s[ %d Schuss ] %s[ %d Schuss ]",Waffenname[0],Waffenname[1],Munition[1],Waffenname[2],Munition[2],Waffenname[3],Munition[3],Waffenname[4],Munition[4],Waffenname[5],Munition[5]); SendClientMessage(playerid,FARBE_Gelb,coordsstring); format(coordsstring,sizeof(coordsstring),"Aktuelle Waffen : %s [ %d Schuss ] %s[ %d Schuss ] %s[ %d Schuss ] %s[0] %s[0] %s[0]",Waffenname[6],Munition[6],Waffenname[7],Munition[7],Waffenname[8],Munition[8],Waffenname[9],Waffenname[10],Waffenname[11]); SendClientMessage(playerid, FARBE_Gruen,"|======================================== Waffen ========================================|"); } }






    So, das wars eigentlich schon. Falls es noch Fragen gibt oder Probleme auftreten, dann immer her damit :P

    Einmal editiert, zuletzt von cHaOsFaTz ()

  • Es geht auch besser, das da nicht 10 mal 0 Schuss steht sondern nur falls der Spieler Waffen hat. Sonst ist es doch Sinnlos? :P Aber naja erstes FS der Art zwar nichts großes aber 7/10!

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • Und wie? MUss ich einfach if(PlayerInfo[playerid][pAdmin] in if(PlayerInfo[playerid][pCop] dementsprechend ändern? Und wo finde ich die Auflistungen dazu^^?

  • Du ersetzt einfach

    Code
    if (strcmp(cmd, "/checkwaffe", true) == 0) // befehl { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] >= 1) // Hier das Adminlevel einstellen ab wann man den Befehl ausführen darf


    mit dem hier

    Code
    if (strcmp(cmd, "/checkwaffe", true) == 0) // befehl { if(IsPlayerConnected(playerid)){ if(!IsACop(playerid))