Waffen ID's in Namen umwandeln & nur bestimmte Waffen bei /givegun

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
  • Moin Leute,


    mein /givegun Befehl sieht derzeit so aus


    ocmd:givegun(playerid,params[])
    {
    new pID,weapon,ammo;
    if(sscanf(params,"weapon",pID,weapon,ammo)){
    return SendClientMessage(playerid,hellblau,"Benutze: /givegun[SpielerID][WaffenID][Munition]");
    }
    if(!IsPlayerConnected(pID)){
    return SendClientMessage(playerid,Rot,"Der Spieler ist nicht online!");
    }
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    GivePlayerWeapon(pID,weapon,ammo);
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast %s eine Waffe mit der ID:%d und mit %d Schuss gegeben!",name,weapon,ammo);
    format(string2,sizeof(string2),"%s hat dir eine Waffe mit der ID:%d und mit %d Schuss gegeben",aname,weapon,ammo);
    SendClientMessage(playerid,Gruen,string);
    SendClientMessage(pID,grau,string2);
    return 1;
    }



    Ich möchte aber das er mir nicht die ID von den Waffen bei


    format(string,sizeof(string),"Du hast %s eine Waffe mit der ID:%d und mit %d Schuss gegeben!",name,weapon,ammo);
    format(string2,sizeof(string2),"%s hat dir eine Waffe mit der ID:%d und mit %d Schuss gegeben",aname,weapon,ammo);


    anzeigt, sondern den Namen der Waffe und wenn es geht sollte der Spieler auch nur bestimmte Waffen geben können.


    Ich hoffe Ihr könnt mir helfen :S

  • Jetzt hab ich es so aber er zeigt mit immernoch die ID an



    ocmd:givegun(playerid,params[])
    {
    new pID,weapon,ammo,gunname;
    if(sscanf(params,"weapon",pID,gunname,ammo)){
    return SendClientMessage(playerid,hellblau,"Benutze: /givegun[SpielerID][Waffe][Munition]");
    }
    if(!IsPlayerConnected(pID)){
    return SendClientMessage(playerid,Rot,"Der Spieler ist nicht online!");
    }
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    GetWeaponName(gunname,string2,sizeof(gunname));
    GivePlayerWeapon(pID,weapon,ammo);
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast %s eine Waffe mit der ID:%d und mit %d Schuss gegeben!",name,gunname,ammo);
    format(string2,sizeof(string2),"%s hat dir eine Waffe mit der ID:%d und mit %d Schuss gegeben",aname,gunname,ammo);
    SendClientMessage(pID,Gruen,string);
    SendClientMessage(pID,grau,string2);
    return 1;
    }

  • if(sscanf(params,"weapon",pID,gunname,ammo))


    WTF?
    statt weapon sollte da "uii" stehen ;)

    GetWeaponName(gunname,string2,sizeof(gunname));


    sizeof gunname? ich glaub eher nicht. da muss string2 drin stehen^^

    format(string,sizeof(string),"Du hast %s eine Waffe mit der ID:%d(%s) und mit %d Schuss gegeben!",name,gunname,string2,ammo);


    Du musst auch den Namen anzeigen lassen -.-"

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wie peinlich ;(:D


    jetzt sieht es so aus.
    Was muss ich jetzt noch machen damit er mir den Name dort ausgibt?
    Im Moment lässt er das Feld einfach leer.



    ocmd:givegun(playerid,params[])
    {
    new pID,weapon,ammo,gunname;
    if(sscanf(params,"uii",pID,gunname,ammo)){
    return SendClientMessage(playerid,hellblau,"Benutze: /givegun[SpielerID][Waffe][Munition]");
    }
    if(!IsPlayerConnected(pID)){
    return SendClientMessage(playerid,Rot,"Der Spieler ist nicht online!");
    }
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    GivePlayerWeapon(pID,weapon,ammo);
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    GetWeaponName(gunname,string2,sizeof(string2));
    format(string,sizeof(string),"Du hast %s eine %s und mit %d Schuss gegeben!",name,gunname,ammo);
    format(string2,sizeof(string2),"%s hat dir eine %s mit %d Schuss gegeben",aname,gunname,ammo);
    SendClientMessage(playerid,Gruen,string);
    SendClientMessage(pID,grau,string2);
    return 1;
    }

  • statt gunname einfach string2 eintragen.
    Keine sorge Strings sind mehrfach nutzbar ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ocmd:givegun(playerid,params[])
    {
    new pID,weapon,ammo,gunname;
    if(sscanf(params,"uii",pID,gunname,ammo))
    {
    return SendClientMessage(playerid,hellblau,"Benutze: /givegun[SpielerID][Waffe][Munition]");
    }
    if(!IsPlayerConnected(pID)){
    return SendClientMessage(playerid,Rot,"Der Spieler ist nicht online!");
    }
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    GivePlayerWeapon(pID,weapon,ammo);
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    GetWeaponName(gunname,string2,sizeof(string2));
    format(string,sizeof(string),"Du hast %s eine %s und mit %d Schuss gegeben!",name,string2,ammo);
    format(string2,sizeof(string2),"%s hat dir eine %s mit %d Schuss gegeben",aname,string2,ammo);
    SendClientMessage(playerid,Gruen,string);
    SendClientMessage(pID,grau,string2);
    return 1;
    }


    Jetzt zeigt er mir den Name an aber er gibt mir keine Waffe mehr xDD


    //edit:cmd verändert
    //edit2: satz hinzugefügt