/giveweapon

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
  • ich habe gerade einen /givegun befehl gescriptet und jetze gibt er keine waffe ???
    ocmd:givegun(playerid,params[])
    {
    new pID, weapon, ammunation;
    if(sscanf(params,"udd",pID))return SendClientMessage(playerid,ROT,"Benutze /givegun[playerid] [waffen ID] [munition]");
    if(weapon < 0 || weapon > 54)return SendClientMessage(playerid,ROT, "Error: Bitte gib eine gültige Waffen-ID an (0-54)!");
    GivePlayerWeapon(pID, weapon, ammunation);
    return 1;
    }

  • Kann es dir leider nicht im Befehl machen, dazu habe ich gerade weniger die Lust und mir fehlt ein guter Editor in dem ich das ganze machen kann mit einem gescheiten Zeilenumbruch. Jedenfalls brauchst du kein neuen Befehl. ^^


    naja hab erstmal ein Neuen befehl gemacht beschäftige mich damit später :)

  • Sorry nicht getestet wenn dort was falsch ist selber Korrigieren :)


    Ganz unten im script:


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    und dann zu deine ocmd commands


    ocmd:giveweapon(playerid,params[])
    {
    new pID,waffe,muni;
    if(sscanf(params,"uii",pID,waffe,muni))return SendClientMessage(playerid,-1," INFO: /giveweapon[playerid/name][waffe][munition]");
    if(waffe <1||waffe >54)return SendClientMessage(playerid,-1," Info: Waffe darf nicht unter 1 sein und nicht über 54");
    if(waffe <1||waffe >500)return SendClientMessage(playerid,-1," Info: Munitione darf nicht unter 1 sein und nicht über 500");
    GivePlayerWeapon(pID,waffe,muni);
    new string[128];
    format(string,128,"* %s hat dir die WaffenID(%d) mit (%d) Munition.",SpielerName(playerid),waffe,muni);
    SendClientMessage(pID,-1,string);
    format(string,128,"* Du hast %s die WaffenID(%d) mit (%d) Munition.",SpielerName(pID),waffe,muni);
    SendClientMessage(playerid,-1,string);
    return 1;
    }


    Viel Spaß


    Mit freundelichen grüßen
    Pascal 8)

    Einmal editiert, zuletzt von Pascal1998 ()

  • Beitrag von xSnake ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • ich habe gerade den Befehl ein bisschen Verbessert jetze kommt das raus
    [13:56:54] Du hast [RGR]Snake eine gegeben mit 50 Muni
    [13:56:54] Du hast von [RGR]Snake eine bekommen mit 50 Muni


    if(!isAdmin(playerid,3)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
    new pID, weapon, ammunation;
    if(sscanf(params,"udd",pID, weapon, ammunation))return SendClientMessage(playerid,ROT,"Benutze /givegun [playerid] [waffen ID] [munition]");
    if(weapon < 0 || weapon > 54)return SendClientMessage(playerid,ROT, "Error: Bitte gib eine gültige Waffen-ID an (0-54)!");
    GivePlayerWeapon(pID, weapon, ammunation);
    new string[128];
    format(string, sizeof(string),"Du hast %s eine %s gegeben mit %i Muni",getPlayerName(pID), weapon, ammunation);
    SendClientMessage(playerid, ROT, string);
    format(string, sizeof(string),"Du hast von %s eine %s bekommen mit %i Muni",getPlayerName(playerid), weapon, ammunation);
    SendClientMessage(pID, ROT, string);
    return 1;


  • Und was genau klappt da nicht?

  • Das Problem ist:


    format(string, sizeof(string),"Du hast %s eine %s gegeben mit %i Muni",getPlayerName(pID), weapon, ammunation);
    SendClientMessage(playerid, ROT, string);


    format(string, sizeof(string),"Du hast von %s eine %s bekommen mit %i Muni",getPlayerName(playerid), weapon, ammunation);
    SendClientMessage(pID, ROT, string);


    Wenn du das so machst und dann bei pID nach getPlayerName(playerid) fragst, dann frägst du ja praktisch nach seinem eigenen Namen.
    Du brauchst also eine globale Variable, habe gerade das selbe Problem noch nie gemacht :P

  • Hey,
    versuche es mal so:
    if(!isAdmin(playerid,3)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
    new pID, weapon, ammunation;
    if(sscanf(params,"udd",pID, weapon, ammunation))return SendClientMessage(playerid,ROT,"Benutze /givegun [playerid] [waffen ID] [munition]");
    if(weapon < 0 || weapon > 54)return SendClientMessage(playerid,ROT, "Error: Bitte gib eine gültige Waffen-ID an (0-54)!");
    GivePlayerWeapon(pID, weapon, ammunation);
    new string[128],gunname[32];
    GetWeaponName(weapon,gunname,sizeof(gunname)); //Waffenname auslesen
    format(string, sizeof(string),"Du hast %s eine %s gegeben mit %i Muni",getPlayerName(pID), gunname, ammunation);
    SendClientMessage(playerid, ROT, string);
    format(string, sizeof(string),"Du hast von %s eine %s bekommen mit %i Muni",getPlayerName(playerid), gunname, ammunation);
    return SendClientMessage(pID, ROT, string);


    Du hast einen Integer als String ausgegeben.. -> Deswegen stand dort nichts.
    Außerdem musst du den Waffennamen auslesen!


  • danke funktioniert