Givegun befehl

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
  • Abend ihr nachaktiven :)


    Kann mir eventuell jemand helfen bei einem Givegun befehl?
    Unzwar soll ja nur der Communityleiter ( Rang 2000 ) diesen befehl nutzen können und wird auch nicht gebannt wenn er ne minigun hat.


    Danke im Voraus für alle die Lust haben zu helfen :)


    MfG

  • Beitrag von FileZilla ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Am besten so ein befehl, nur ebenhalt mit ner Minigun...
    Und ohne flamenwerfer.



    if(strcmp(cmd, "/givegun", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /givegun [playerid] [weaponid(eg. 46 = Parachute)] [ammo]"); return 1; } new playa; new gun; new ammo; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); gun = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /givegun [playerid] [weaponid] [ammo]"); SendClientMessage(playerid, COLOR_GRAD4, "3(Club) 4(knife) 5(bat) 6(Shovel) 7(Cue) 8(Katana) 10-13(Dildo) 14(Flowers) 16(Grenades) 18(Molotovs) 22(Pistol) 23(SPistol)"); SendClientMessage(playerid, COLOR_GRAD3, "24(Eagle) 25(shotgun) 29(MP5) 30(AK47) 31(M4) 33(Rifle) 34(Sniper) 37(Flamethrower) 41(spray) 42(exting) 43(Camera) 46(Parachute)"); return 1; } if(gun < 1||gun > 46||gun==27||gun==1||gun==2||gun==9||gun==17||gun==19||gun==20||gun==21||gun==36||gun==38||gun==39||gun==40||gun==44||gun==45) { SendClientMessage(playerid, COLOR_GRAD1, " wrong WeaponID!"); return 1; } tmp = strtok(cmdtext, idx); ammo = strval(tmp); if(ammo <1||ammo > 999) { SendClientMessage(playerid, COLOR_GRAD1, " dont go below 1 or above 999 bullets!"); return 1; } if (PlayerInfo[playerid][pAdmin] >= 6) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GivePlayerWeapon(playa, gun, ammo); } } } else { SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!"); } } return 1; }



    Mfg

  • Wir brauchen aber auch dein Anti-Cheat... Das juckt es nämlich nicht welchen Rang dein User hat solange du es nicht einfügst ^^
    Oh und ob du vlt ocmd etc. verwendest ^^


    Außerdem, hast du doch ee einen Befehl... Den musst du doch einfach auf dich umschreiben..
    Ich spekuliere mal, dass du keine Ahnung vom Scripten hast. In dem Falle solltest du dir ein paar Tutorials ansehen, ein paar Scripts durchsehen wie das so alles aufgebaut ist.
    Und statt dem OnPlayerCommandText, würde ich dir ocmd/zcmd empfehlen ^^ je nachdem was dir besser gefällt, bei mir ist es ocmd.


    Denn ein /givegun Befehl ist eine Sache von 2-5 Minuten wenn man Scripten kann... Also lern erstmal zu scripten, ansonsten vergiss die Idee von einem Server sofort wieder ^^


    (Wenn was ganze nur ein Spaß Projekt für ein paar Freunde werden soll nehme ich alles wieder zurück ;))

    Einmal editiert, zuletzt von [MVS]Simon ()

  • ocmd:giveweapon(playerid,params[]){ if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Admin Rang 5"); { new pID,waffe,munition,waffenname[64],string[100],string1[100],string2[100]; if(sscanf(params,"uii",pID,waffe,munition))return SendClientMessage(playerid,COLOR_DARKRED,"/waffegeben [waffenid] [munition]"); GivePlayerWeapon(pID,waffe,munition); GetWeaponName(waffe,waffenname,sizeof(waffenname)); format(string1,sizeof(string1),"Du hast %s %s mit %i schuss gegeben",SpielerName(pID),waffenname,munition); SendClientMessage(playerid,COLOR_YELLOW,string1); format(string2,sizeof(string2),"%s hat dir %s mit %i schuss gegeben",SpielerName(playerid),waffenname,munition); SendClientMessage(pID,COLOR_YELLOW,string2); for(new i=0; i<GetMaxPlayers(); i++) { if(IsPlayerConnected(i)) { if(isPlayerAnAdmin(i,GetPVarInt(playerid,"Adminlevel"))) { format(string,sizeof(string),"Admin: %s hat %s %s mit %i schuss gegeben",SpielerName(playerid),SpielerName(pID),waffenname,munition); SendClientMessage(i,COLOR_YELLOW,string); } } } } return 1;}


    Die Admin abfrage musst du noch nach dein Server anpassen.

  • ocmd:giveweapon(playerid,params[]){ if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Admin Rang 5"); { new pID,waffe,munition,waffenname[64],string[100],string1[100],string2[100]; if(sscanf(params,"uii",pID,waffe,munition))return SendClientMessage(playerid,COLOR_DARKRED,"/waffegeben [waffenid] [munition]"); GivePlayerWeapon(pID,waffe,munition); GetWeaponName(waffe,waffenname,sizeof(waffenname)); format(string1,sizeof(string1),"Du hast %s %s mit %i schuss gegeben",SpielerName(pID),waffenname,munition); SendClientMessage(playerid,COLOR_YELLOW,string1); format(string2,sizeof(string2),"%s hat dir %s mit %i schuss gegeben",SpielerName(playerid),waffenname,munition); SendClientMessage(pID,COLOR_YELLOW,string2); for(new i=0; i<GetMaxPlayers(); i++) { if(IsPlayerConnected(i)) { if(isPlayerAnAdmin(i,GetPVarInt(playerid,"Adminlevel"))) { format(string,sizeof(string),"Admin: %s hat %s %s mit %i schuss gegeben",SpielerName(playerid),SpielerName(pID),waffenname,munition); SendClientMessage(i,COLOR_YELLOW,string); } } } } return 1;}


    Die Admin abfrage musst du noch nach dein Server anpassen.


    Unnötig, deine ganzen Strings...
    Nutze einen String, das reicht vollkommen...