Waffenbefehl

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
  • Hallo...
    Ich habe mir ein Befehl (/givegun) gemacht mit Nachricht aber Ingame kommen nur Leerzeichen wo eigentlich was stehen soll.
    Es kommen keine Errors und keine Warnings.
    Mal das Script:

    ocmd:givegun(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,4))
    {
    new string[128],string2[128],string3[128],string4[128],string5[128],string6[128],string7[128],string8[128],pID,WaffenID,Munition;
    if(sscanf(params,"uii",pID,WaffenID,Munition))
    {
    SendClientMessage(playerid,GRAU,"Benutzung: /givegun [SpielerID] [WaffenID] [Munition]");
    SendClientMessage(playerid,GRAU,"Zusatz: Bei WaffenID 1 - 15 muss bei Munition 1 angegeben werden!");
    }
    else
    {
    if(WaffenID<1||WaffenID>46)return SendClientMessage(playerid,ROT,"Ungültige WaffenID!");
    if(Munition<1||Munition>500)return SendClientMessage(playerid,ROT,"Munitionsbetrag ist Ungültig!");
    new Waffentext[55];
    if(WaffenID<1||WaffenID>15)
    {
    if(WaffenID == 1) {Waffentext = "Schlagring";}
    else if(WaffenID == 2) {Waffentext = "Golf Schläger";}
    else if(WaffenID == 3) {Waffentext = "Schlagstock";}
    else if(WaffenID == 4) {Waffentext = "Messer";}
    else if(WaffenID == 5) {Waffentext = "Baseball Schläger";}
    else if(WaffenID == 6) {Waffentext = "Schaufel";}
    else if(WaffenID == 7) {Waffentext = "Koe";}
    else if(WaffenID == 8) {Waffentext = "Katana";}
    else if(WaffenID == 9) {Waffentext = "Kettensäge";}
    else if(WaffenID == 10) {Waffentext = "Dildo1";}
    else if(WaffenID == 11) {Waffentext = "Dildo2";}
    else if(WaffenID == 12) {Waffentext = "Vibrator";}
    else if(WaffenID == 13) {Waffentext = "Vibrator2";}
    else if(WaffenID == 14) {Waffentext = "Blumen";}
    else if(WaffenID == 15) {Waffentext = "Geh Stock";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string,sizeof(string),"AdmCmd: Du hast %s ein/e %s gegeben",SpielerName(pID),Waffentext);
    format(string2,sizeof(string2),"AdmCmd: Du hast ein/e %s von %s bekommen.",Waffentext,SpielerName(playerid));
    SendClientMessage(playerid,ROT,string);
    SendClientMessage(pID,ROT,string2);
    }
    else if(WaffenID<16||WaffenID>18)
    {
    if(WaffenID == 16) {Waffentext = "Granaten";}
    else if(WaffenID == 17) {Waffentext = "Rauchgranaten";}
    else if(WaffenID == 18) {Waffentext = "Molotov Cocktails";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string3,sizeof(string3),"AdmCmd: Du hast %s %s %s gegeben!",SpielerName(pID),Munition,Waffentext);
    format(string4,sizeof(string4),"AdmCmd: Du hast %s %s von %s bekommen!",Munition,Waffentext,SpielerName(playerid));
    SendClientMessage(playerid,ROT,string3);
    SendClientMessage(pID,ROT,string4);
    }
    else if(WaffenID<22||WaffenID>38)
    {
    if(WaffenID == 22) {Waffentext = "9mm";}
    else if(WaffenID == 22) {Waffentext = "Schallgedämpfte";}
    else if(WaffenID == 24) {Waffentext = "Deagle";}
    else if(WaffenID == 25) {Waffentext = "Schrotflinte";}
    else if(WaffenID == 26) {Waffentext = "Abgesägte Schrotflinte";}
    else if(WaffenID == 27) {Waffentext = "Automatische Schrotflinte";}
    else if(WaffenID == 28) {Waffentext = "Micro SMG";}
    else if(WaffenID == 29) {Waffentext = "MP5";}
    else if(WaffenID == 30) {Waffentext = "AK-47";}
    else if(WaffenID == 31) {Waffentext = "M4";}
    else if(WaffenID == 32) {Waffentext = "Tec-9";}
    else if(WaffenID == 33) {Waffentext = "Rifle";}
    else if(WaffenID == 34) {Waffentext = "Sniper";}
    else if(WaffenID == 35) {Waffentext = "Raketenwerfer";}
    else if(WaffenID == 36) {Waffentext = "Automatischer Raketenwerfer";}
    else if(WaffenID == 37) {Waffentext = "Flammenwerfer";}
    else if(WaffenID == 38) {Waffentext = "Minigun";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string3,sizeof(string3),"AdmCmd: Du hast %s eine %s mit %s Schuss gegeben!",SpielerName(pID),Munition,Waffentext);
    format(string4,sizeof(string4),"AdmCmd: Du hast eine %s mit %s Schuss von %s bekommen",Munition,Waffentext,SpielerName(playerid));
    SendClientMessage(playerid,ROT,string5);
    SendClientMessage(pID,ROT,string6);
    }
    else if(WaffenID<39||WaffenID>46)
    {
    if(WaffenID == 39) {Waffentext = "9mm";}
    else if(WaffenID == 40) {Waffentext = "Schallgedämpfte";}
    else if(WaffenID == 41) {Waffentext = "Deagle";}
    else if(WaffenID == 42) {Waffentext = "Schrotflinte";}
    else if(WaffenID == 43) {Waffentext = "Abgesägte Schrotflinte";}
    else if(WaffenID == 44) {Waffentext = "Automatische Schrotflinte";}
    else if(WaffenID == 45) {Waffentext = "Micro SMG";}
    else if(WaffenID == 46) {Waffentext = "MP5";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string3,sizeof(string3),"AdmCmd: Du hast %s %s gegeben. (Anzahl: %s)",SpielerName(pID),Waffentext,Munition);
    format(string4,sizeof(string4),"AdmCmd: Du hast %s von %s bekommen. (Anzahl: %s)",Waffentext,SpielerName(playerid),Munition);
    SendClientMessage(playerid,ROT,string7);
    SendClientMessage(pID,ROT,string8);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Admin oder dein Adminrang reicht nicht aus!");
    }
    return 1;
    }


    Ich hoffe Ihr könnt mir helfen

  • Versuch:
    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] >= 1338)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GivePlayerWeapon(playa, gun, ammo);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!");
    }
    }
    return 1;
    }

  • Ich möchte es aber so haben.
    Ich habe mir nicht umsonst diese Arbeit gemacht und das da alles schön geschrieben.
    Dazu möchte ich meine Befehle verstehen. Und dort verstehe ich fast nichts weil ich gerade anfänger bin.
    Wie gesagt sonst kann ich auch alles viel kürzer machen.

  • Ich habe es nun gemacht und jetzt tauschen Errors Warnings auf:


    C:\Grand Theft Auto San Andreas\gamemodes\Test.pwn(652) : error 029: invalid expression, assumed zero
    C:\Grand Theft Auto San Andreas\gamemodes\Test.pwn(652) : warning 215: expression has no effect
    C:\Grand Theft Auto San Andreas\gamemodes\Test.pwn(652) : error 001: expected token: ";", but found "if"


    Zeile 652 ist in dem fall else if(WaffenID<1||WaffenID>15)


    Nochmal das Script:


    Script

    ocmd:givegun(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,4))
    {
    new string[128],string2[128],string3[128],string4[128],string5[128],string6[128],string7[128],string8[128],pID,WaffenID,Munition;
    if(sscanf(params,"uii",pID,WaffenID,Munition))
    {
    SendClientMessage(playerid,GRAU,"Benutzung: /givegun [SpielerID] [WaffenID] [Munition]");
    SendClientMessage(playerid,GRAU,"Zusatz: Bei WaffenID 1 - 15 muss bei Munition 1 angegeben werden!");
    }
    else
    {
    if(WaffenID<1||WaffenID>46)return SendClientMessage(playerid,ROT,"Ungültige WaffenID!");
    if(Munition<1||Munition>500)return SendClientMessage(playerid,ROT,"Munitionsbetrag ist Ungültig!");
    new Waffentext[55];
    else if(WaffenID<1||WaffenID>15)
    {
    if(WaffenID == 1) {Waffentext = "Schlagring";}
    else if(WaffenID == 2) {Waffentext = "Golf Schläger";}
    else if(WaffenID == 3) {Waffentext = "Schlagstock";}
    else if(WaffenID == 4) {Waffentext = "Messer";}
    else if(WaffenID == 5) {Waffentext = "Baseball Schläger";}
    else if(WaffenID == 6) {Waffentext = "Schaufel";}
    else if(WaffenID == 7) {Waffentext = "Koe";}
    else if(WaffenID == 8) {Waffentext = "Katana";}
    else if(WaffenID == 9) {Waffentext = "Kettensäge";}
    else if(WaffenID == 10) {Waffentext = "Dildo1";}
    else if(WaffenID == 11) {Waffentext = "Dildo2";}
    else if(WaffenID == 12) {Waffentext = "Vibrator";}
    else if(WaffenID == 13) {Waffentext = "Vibrator2";}
    else if(WaffenID == 14) {Waffentext = "Blumen";}
    else if(WaffenID == 15) {Waffentext = "Geh Stock";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string,sizeof(string),"AdmCmd: Du hast %s ein/e %s gegeben",SpielerName(pID),Waffentext);
    format(string2,sizeof(string2),"AdmCmd: Du hast ein/e %s von %s bekommen.",Waffentext,SpielerName(playerid));
    SendClientMessage(playerid,ROT,string);
    SendClientMessage(pID,ROT,string2);
    }
    else if(WaffenID<16||WaffenID>18)
    {
    if(WaffenID == 16) {Waffentext = "Granaten";}
    else if(WaffenID == 17) {Waffentext = "Rauchgranaten";}
    else if(WaffenID == 18) {Waffentext = "Molotov Cocktails";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string3,sizeof(string3),"AdmCmd: Du hast %s %i %s gegeben!",SpielerName(pID),Munition,Waffentext);
    format(string4,sizeof(string4),"AdmCmd: Du hast %i %s von %s bekommen!",Munition,Waffentext,SpielerName(playerid));
    SendClientMessage(playerid,ROT,string3);
    SendClientMessage(pID,ROT,string4);
    }
    else if(WaffenID<22||WaffenID>38)
    {
    if(WaffenID == 22) {Waffentext = "9mm";}
    else if(WaffenID == 22) {Waffentext = "Schallgedämpfte";}
    else if(WaffenID == 24) {Waffentext = "Deagle";}
    else if(WaffenID == 25) {Waffentext = "Schrotflinte";}
    else if(WaffenID == 26) {Waffentext = "Abgesägte Schrotflinte";}
    else if(WaffenID == 27) {Waffentext = "Automatische Schrotflinte";}
    else if(WaffenID == 28) {Waffentext = "Micro SMG";}
    else if(WaffenID == 29) {Waffentext = "MP5";}
    else if(WaffenID == 30) {Waffentext = "AK-47";}
    else if(WaffenID == 31) {Waffentext = "M4";}
    else if(WaffenID == 32) {Waffentext = "Tec-9";}
    else if(WaffenID == 33) {Waffentext = "Rifle";}
    else if(WaffenID == 34) {Waffentext = "Sniper";}
    else if(WaffenID == 35) {Waffentext = "Raketenwerfer";}
    else if(WaffenID == 36) {Waffentext = "Automatischer Raketenwerfer";}
    else if(WaffenID == 37) {Waffentext = "Flammenwerfer";}
    else if(WaffenID == 38) {Waffentext = "Minigun";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string3,sizeof(string3),"AdmCmd: Du hast %s eine %i mit %s Schuss gegeben!",SpielerName(pID),Munition,Waffentext);
    format(string4,sizeof(string4),"AdmCmd: Du hast eine %i mit %s Schuss von %s bekommen",Munition,Waffentext,SpielerName(playerid));
    SendClientMessage(playerid,ROT,string5);
    SendClientMessage(pID,ROT,string6);
    }
    else if(WaffenID<39||WaffenID>46)
    {
    if(WaffenID == 39) {Waffentext = "9mm";}
    else if(WaffenID == 40) {Waffentext = "Schallgedämpfte";}
    else if(WaffenID == 41) {Waffentext = "Deagle";}
    else if(WaffenID == 42) {Waffentext = "Schrotflinte";}
    else if(WaffenID == 43) {Waffentext = "Abgesägte Schrotflinte";}
    else if(WaffenID == 44) {Waffentext = "Automatische Schrotflinte";}
    else if(WaffenID == 45) {Waffentext = "Micro SMG";}
    else if(WaffenID == 46) {Waffentext = "MP5";}
    GivePlayerWeapon(pID,WaffenID,Munition);
    format(string3,sizeof(string3),"AdmCmd: Du hast %s %s gegeben. (Anzahl: %i)",SpielerName(pID),Waffentext,Munition);
    format(string4,sizeof(string4),"AdmCmd: Du hast %s von %s bekommen. (Anzahl: %i)",Waffentext,SpielerName(playerid),Munition);
    SendClientMessage(playerid,ROT,string7);
    SendClientMessage(pID,ROT,string8);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Admin oder dein Adminrang reicht nicht aus!");
    }
    return 1;
    }