taschenraub geht immer?

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
  • hi
    habe 2 problem´e
    1.
    könnte mir mal einer erklären (zeigen)
    wie ich es hin bekomme das man nach einem /taschenraub nicht wieder den selber gegenstand klauen kann!?!?!


    beispiel:
    /traub 1 waffen
    ich klaue der id 1 die waffen , die waffen verliert auch die id 1
    jedoch kann ich direkt dannach wieder
    /traub 1 waffen machen und bekomme wieder 1+ ware (zum verkauf)


    if(strcmp(cmd, "/traub", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pJob] != 22)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Dieb ! ");
    return 1;
    }
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr))
    {
    SendClientMessage(playerid, COLOR_WHITE, "|______________ Klaue von deinem Opfer _______________|");
    SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /traub [itemname] [playerid/PartOfName]");
    SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: handy, waffen");
    SendClientMessage(playerid, COLOR_WHITE, "|___________________________________________________|");
    return 1;
    }
    if(strcmp(x_nr,"handy",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /traub handy [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(3.0, playerid, giveplayerid))
    {
    format(string, sizeof(string), "*Du hast %s's Handy geklaut.", giveplayer);
    SendClientMessage(playerid, COLOR_GREEN, string);
    format(string, sizeof(string), "* %s hat dein handy geklaut.", sendername);
    SendClientMessage(giveplayerid, COLOR_GREEN, string);
    PlayerInfo[giveplayerid][pPnumber] = 0;
    PlayerInfo[playerid][pWaren] += 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht in deiner Nähe!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht da!");
    return 1;
    }
    }
    else if(strcmp(x_nr,"waffen",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /traub waffen [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(3.0, playerid, giveplayerid))
    {
    format(string, sizeof(string), "* Du hast %s's die Waffen geklaut.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s hat dir deine Waffen geklaut.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    ResetPlayerWeapons(giveplayerid);
    PlayerInfo[giveplayerid][pGun1] = 0; PlayerInfo[giveplayerid][pAmmo1] = 0;
    PlayerInfo[giveplayerid][pGun2] = 0; PlayerInfo[giveplayerid][pAmmo2] = 0;
    PlayerInfo[giveplayerid][pGun3] = 0; PlayerInfo[giveplayerid][pAmmo3] = 0;
    PlayerInfo[giveplayerid][pGun4] = 0; PlayerInfo[giveplayerid][pAmmo4] = 0;
    PlayerInfo[playerid][pWaren] += 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht in deiner Nähe!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht da!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Unbekanntes Item!");
    return 1;
    }
    }
    return 1;
    }



    problem 2.


    nach dem ich die waren geklaut habe 10 mal hinter einander
    hatte ich bei /stats 10 waren ,soweit alles richtig


    wenn man eine ware verkauft ,bekomt man 500$
    habe 10 auf einmal verkauft und bekomme auch nur 500$
    wie lässt sich das zusammen addieren beim verkauf ?


    if(strcmp(cmd, "/vware", true) == 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 100.0,-30.8488,-29.0138,1003.5573))
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist nicht in einem 24/7 oder Tankstelle !");
    return 1;
    }
    else if(PlayerInfo[playerid][pWaren] < 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Waren zum Verkaufen !");
    return 1;
    }
    GivePlayerMoney(playerid, 500);
    SendClientMessage(playerid, COLOR_GREEN, " * Du hast 500$ für deine Ware bekommen !");
    PlayerInfo[playerid][pWaren] = 0;
    return 1;
    }


    bzw. ich möchte sowas in der art ,damit rein bauen damit man einen betrag von 500 bis 1500 bekommt
    ohne das meine 2 probleme auftauchen


    new string3[MAX_STRING];
    new Strassengeld;
    Strassengeld = 300 + random(1000);
    GetPlayerName(playerid,name,sizeof(name));
    format(string3,sizeof(string3),"* Danke mein Freund hier ist dein Lohn %d$",Strassengeld);
    ProxDetector(30.0,playerid,string3,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,Strassengeld);


    mfg

  • Letzteres:

    new string[50];
    new Betrag = PlayerInfo[playerid][pWaren]*(500+random(1000));
    GivePlayerMoney(playerid, Betrag);
    format(string,sizeof(string)," * Du hast %d$ für deine Ware bekommen !",Betrag);
    SendClientMessage(playerid, COLOR_GREEN,string);
    PlayerInfo[playerid][pWaren] = 0;

  • moin ich bins wieder xD


    neues kleines prob


    habe es mit ner abfrage gelöst
    jetzt kann man wirklich nur das handy klauen wenn es vorhanden ist


    jedoch weis ich nicht wie ich es mit den waffen machen soll (abfrage)
    wegen Gun1 Gun2 Gun3 Gun Ammo1 usw.
    klingt komisch ist aber so
    befehl:

    if(strcmp(cmd, "/klau", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pJob] != 22)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Dieb ! ");
    return 1;
    }
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr))
    {
    SendClientMessage(playerid, COLOR_WHITE, "|______________ Klaue von deinem Opfer _______________|");
    SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /klau [itemname] [playerid/PartOfName]");
    SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: handy, waffen");
    SendClientMessage(playerid, COLOR_WHITE, "|___________________________________________________|");
    return 1;
    }
    if(strcmp(x_nr,"handy",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /klau handy [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[giveplayerid][pPnumber] == 0)
    return SendClientMessage(playerid, COLOR_GREY, " Dein Opfer besitzt kein Handy !");
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst dir dein Eigenes Handy nicht klauen");
    return 1;
    }
    if (ProxDetectorS(3.0, playerid, giveplayerid))
    {
    format(string, sizeof(string), "*Du hast %s 's Handy geklaut.", giveplayer);
    SendClientMessage(playerid, COLOR_GREEN, string);
    format(string, sizeof(string), "* %s hat dein handy geklaut.", sendername);
    SendClientMessage(giveplayerid, COLOR_GREEN, string);
    PlayerInfo[giveplayerid][pPnumber] = 0;
    //PlayerInfo[playerid][pRaubTime] = 1200;
    PlayerInfo[playerid][pWaren] += 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht in deiner Nähe!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht da!");
    return 1;
    }
    }
    else if(strcmp(x_nr,"waffen",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /klau waffen [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[giveplayerid][pGun1] == 0)//wie mache ich das hier mit Gun1 Gun2 etc. weiter
    return SendClientMessage(playerid, COLOR_GREY, " Dein Opfer trägt keine Waffen beisich !");
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    /*if(giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst dich nicht selber beklauen");
    return 1;
    }*/
    if (ProxDetectorS(3.0, playerid, giveplayerid))
    {
    format(string, sizeof(string), "* Du hast %s 's die Waffen geklaut.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s hat dir deine Waffen geklaut.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    //PlayerInfo[playerid][pRaubTime] = 1200;
    ResetPlayerWeapons(giveplayerid);
    PlayerInfo[giveplayerid][pGun1] = 0; PlayerInfo[giveplayerid][pAmmo1] = 0;
    PlayerInfo[giveplayerid][pGun2] = 0; PlayerInfo[giveplayerid][pAmmo2] = 0;
    PlayerInfo[giveplayerid][pGun3] = 0; PlayerInfo[giveplayerid][pAmmo3] = 0;
    PlayerInfo[giveplayerid][pGun4] = 0; PlayerInfo[giveplayerid][pAmmo4] = 0;
    PlayerInfo[playerid][pWaren] += 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht in deiner Nähe!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht da!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Unbekanntes Item!");
    return 1;
    }
    }
    return 1;
    }

  • das war es was ich gesucht habe
    jedoch hat sich was eingeschlichen xD


    wenn ich /klau [waffen] [id] mache


    kommt immer nur der text


    if(PlayerInfo[giveplayerid][pGun1] == 0 || PlayerInfo[giveplayerid][pGun2] == 0 || PlayerInfo[giveplayerid][pGun3] == 0)
    return SendClientMessage(playerid, COLOR_GREY, " Dein Opfer trägt keine Waffen beisich !");//<<<<<<<< kommt immer auch wenn id waffen bei sich hat


    das mit dem handy haut aber hin


    [edit]
    was dazu geschrieben

  • habe es geändert in


    if(PlayerInfo[giveplayerid][pGun1] == 0 && PlayerInfo[giveplayerid][pGun2] == 0 && PlayerInfo[giveplayerid][pGun3] == 0 && PlayerInfo[giveplayerid][pGun4] == 0 && PlayerInfo[giveplayerid][pAmmo1] == 0 && PlayerInfo[giveplayerid][pAmmo2] == 0 && PlayerInfo[giveplayerid][pAmmo3] == 0 && PlayerInfo[giveplayerid][pAmmo4] == 0)
    return SendClientMessage(playerid, COLOR_GREY, " Dein Opfer trägt keine Waffen bei sich !");


    immernoch das gleiche :thumbup: mein opfer trägt keine waffen bei sich
    ob mit oder ohne


  • if(PlayerInfo[giveplayerid][pGun1] == 0 && PlayerInfo[giveplayerid][pGun2] == 0 && PlayerInfo[giveplayerid][pGun3] == 0 && PlayerInfo[giveplayerid][pGun4] == 0 && PlayerInfo[giveplayerid][pAmmo1] == 0 && PlayerInfo[giveplayerid][pAmmo2] == 0 && PlayerInfo[giveplayerid][pAmmo3] == 0 && PlayerInfo[giveplayerid][pAmmo4] == 0)
    {
    return SendClientMessage(playerid, COLOR_GREY, " Dein Opfer trägt keine Waffen bei sich !");
    }
    else
    {
    return SendClientMessage(playerid, COLOR_GREY, " Dein Opfer trägt Waffen bei sich !");
    }