/sellguncn

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 leute,


    mir platz gleich der kragen erlich gesagt -.- seit 3 verdammten stunden probiere ich was zu machen, was aber NIEklappt und zwar:


    if(strcmp(cmd,"/sellguncn",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] != 5)
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist kein Cosa Nostra Mitglied !");
    return 1;
    }
    new x_weapon[256],weapon[MAX_PLAYERS],ammo[MAX_PLAYERS],price[MAX_PLAYERS];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /sellgun [playerid/PartOfName] [weaponname]");
    SendClientMessage(playerid, COLOR_GREY, "Weapons: flowers(25) sdpistol(100) eagle(150) mp5(200) shotgun(200)");
    SendClientMessage(playerid, COLOR_GREY, "Weapons: ak47(600) m4(600) rifle (600)");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    x_weapon = strtok(cmdtext, idx);
    if(!strlen(x_weapon))
    {
    SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
    SendClientMessage(playerid, COLOR_WHITE, "*** Sell Guns ***");
    SendClientMessage(playerid, COLOR_GREY, "USAGE: /sellgun [playerid/PartOfName] [weaponname]");
    SendClientMessage(playerid, COLOR_GREY, "Weapons: flowers(25) sdpistol(100) eagle(200) mp5(200) shotgun(200)");
    SendClientMessage(playerid, COLOR_GREY, "Weapons: ak47(600) m4(600) rifle(600)");
    SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
    return 1;
    }
    }
    //if(strcmp(x_weapon,"knife",true) == 0) { if(PlayerInfo[playerid][pMats] > 99) { weapon[playerid] = 4; price[playerid] = 100; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 4; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    if(strcmp(x_weapon,"sdpistol",true) == 0) { if(PlayerInfo[playerid][pMats] > 99) { weapon[playerid] = 23; price[playerid] = 100; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 23; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"flowers",true) == 0) { if(PlayerInfo[playerid][pMats] > 24) { weapon[playerid] = 14; price[playerid] = 25; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 14; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"eagle",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 24; price[playerid] = 150; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 24; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"mp5",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 29; price[playerid] = 200; ammo[playerid] = 200; PlayerInfo[giveplayerid][pGun2] = 29; PlayerInfo[giveplayerid][pAmmo2] = 200; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"shotgun",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 25; price[playerid] = 200; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 25; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    //else if(strcmp(x_weapon,"spas12",true) == 0) { if(PlayerInfo[playerid][pMats] > 599) { weapon[playerid] = 27; price[playerid] = 600; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 27; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"ak47",true) == 0) { if(PlayerInfo[playerid][pMats] > 599) { weapon[playerid] = 30; price[playerid] = 600; ammo[playerid] = 250; PlayerInfo[giveplayerid][pGun2] = 30; PlayerInfo[giveplayerid][pAmmo2] = 250; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"m4",true) == 0) { if(PlayerInfo[playerid][pMats] > 599) { weapon[playerid] = 31; price[playerid] = 600; ammo[playerid] = 250; PlayerInfo[giveplayerid][pGun2] = 31; PlayerInfo[giveplayerid][pAmmo2] = 250; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else if(strcmp(x_weapon,"rifle",true) == 0) { if(PlayerInfo[playerid][pMats] > 599) { weapon[playerid] = 33; price[playerid] = 600; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 33; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!"); return 1; } }
    else { SendClientMessage(playerid,COLOR_GREY," Invalid Weapon name!"); return 1; }
    if (ProxDetectorS(5.0, playerid, giveplayerid))
    {
    if(PlayerInfo[playerid][pMiserPerk] > 0)
    {
    new skill = 2 * PlayerInfo[playerid][pMiserPerk];
    new mats = price[playerid] / 100;
    price[playerid] -= (mats)*(skill);
    }
    ConsumingMoney[playerid] = 1;
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), " You have given %s, a %s with %d ammo, for %d Materials.", giveplayer,x_weapon, ammo[playerid], price[playerid]);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), " You have recieved a %s with %d ammo from %s.", x_weapon, ammo[playerid], sendername);
    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "* %s created a Gun from Materials, and hands it to %s.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]);
    PlayerInfo[playerid][pMats] -= price[playerid];
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Your too far away.");
    return 1;
    }
    }
    else
    {
    format(string, sizeof(string), " %d is not an active player.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }



    Also der Befehl klappt, dass weiß ich daher, weil der Cosa Nostra (Fraktions ID 5) Leader /sellguncn machen kann sonst KEINER nichtmal der member -.- ich habe schon alles probiert bitte hilft mir, ich möchte das diesen Befehl NUR der Leader und halt die Member der Fraktion 5 nutzen können

  • if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] != 5)


    zu


    if(!(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5))

  • Ist das GF?


    Ich denke:
    if (PlayerInfo[playerid][pMember] != 5 && PlayerInfo[playerid][pLeader] != 5)


    //Edit: Haste ja schon .. >:<

    Ich biete mich als Admin und evtl. als Mapper/Scripter an. Ich kann nicht viel, aber ich helfe wo ich kann :) .

    Erfahrungen:

    -Durch eigenen Server / Habe auch Teamspeak gehostet.
    -1337 Admin
    -1337 Befehle
    -Pawn
    -Linux
    -Php/Html/WBB
    -Mappen
    -Vieles mehr, was man dazu halt braucht ;) ICQ:426963598

  • Ist das GF?


    Ich denke:
    if (PlayerInfo[playerid][pMember] != 5 && PlayerInfo[playerid][pLeader] != 5)


    Ja das geht auch aber 2 minuten zu spät wa?

  • Schau mal,
    anscheind hast du was übersehen.
    if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] != 5)
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist kein Cosa Nostra Mitglied !");
    return 1;
    }

    Was ergibt das?
    Wenn der Spieler Mitglied der Fraktion 5 ist kriegt er diese Nachricht.
    Wenn der Spieler Leader eine Fraktion außer 5 ist kriegt er diese Nachricht.
    Und wo ist nun der Unterschied?
    Du musst das erste == zu != machen.Da du ja denjenigen das schicken willst, die nicht in der Fraktion sind.


    mfg Kavkus

  • Ja Opa, aber guck dir doch mal sein "ding" an! IF! Dann -
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist kein Cosa Nostra Mitglied !");
    return 1;
    }


    Is doch logisch das immer die Meldung kommt?!

    Ich biete mich als Admin und evtl. als Mapper/Scripter an. Ich kann nicht viel, aber ich helfe wo ich kann :) .

    Erfahrungen:

    -Durch eigenen Server / Habe auch Teamspeak gehostet.
    -1337 Admin
    -1337 Befehle
    -Pawn
    -Linux
    -Php/Html/WBB
    -Mappen
    -Vieles mehr, was man dazu halt braucht ;) ICQ:426963598

  • if(PlayerInfo[playerid][pMember] != 5 || PlayerInfo[playerid][pLeader] != 5)


    wolltest du.
    aber, wenn ein spieler nun member ist, also pMember auf 5 ist und pLeader auf 0, was passiert dann?
    dann kommt die meldung halt auch, und das ist nicht gewollt.
    okay?
    mfg.


    /edit knuffix was meinst du????
    /edit ich geh pennen

  • Als allererstes überprüft er ob der Spieler in der Fraktion 5 ist, ist das nicht der Fall überprüft er ob der Spieler Leader der Fraktion 5 ist.
    Wenn er beides nicht ist bekommt er den Text.
    Und ich garantiere dir das meins richtig ist. Denn Falsch kann es nicht sein da ich ein paar solcher abfragen in meinem Script habe die alle Funktionieren.


    mfg Kavkus

  • Haste eig. recht. Versteh ich auch nicht wieso das auf einmal Funktionieren sollte.. Naja ok hauptsache dein problem ist gelöst !

    Ich biete mich als Admin und evtl. als Mapper/Scripter an. Ich kann nicht viel, aber ich helfe wo ich kann :) .

    Erfahrungen:

    -Durch eigenen Server / Habe auch Teamspeak gehostet.
    -1337 Admin
    -1337 Befehle
    -Pawn
    -Linux
    -Php/Html/WBB
    -Mappen
    -Vieles mehr, was man dazu halt braucht ;) ICQ:426963598

  • habs so gemacht:



    if(strcmp(cmd,"/sellguncn",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5))
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist kein Cosa Nostra Mitglied !");
    return 1;
    }



    und es funzt xD der Member der fraktion 5 kann es machen und der leader der fraktion 5 sonst keiner :)


    *edit


    genau so solls sein :D