Suche:/pay

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.
    Suche seit mehrern Tagen ein /pay [ID] [Betrag] System für einen Reallife server(kein GF!!!).
    Vielleicht könnte man ja mal eins als Antwort schreiben?
    Wäre nett xD


    Und: Suche außerdem ein /cuff und /tazer sowie ein /pull (spieler ins auto ziehen) System.


    Hoffe auf schnelle Hilfe ;D


    Mfg_Marcel

    Liebe Grüße


    Marcel

  • if(strcmp(cmd, "/geld", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, WHITE, " /geld [Playerid/Name] [Betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, WHITE, " /geld [Spielerid] [Betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 30000)
    {
    SendClientMessage(playerid,WHITE, "Der Betrag muss zwischen €1 und €30000 sein!");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(5.0, playerid, giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys)
    {
    GivePlayerMoney(playerid, (0 - moneys));
    GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), " Du hast %s €%d gegeben.", giveplayer, moneys);
    SendClientMessage(playerid, WHITE, string);
    format(string, sizeof(string), " Du hast €%d von %s bekommen.", moneys, sendername);
    SendClientMessage(giveplayerid, WHITE, string);
    format(string, sizeof(string), "%s hat €%d dem Spieler %s gegeben.", sendername, moneys, giveplayer);
    }
    }
    else
    {
    SendClientMessage(playerid, WHITE, "Kein Spieler in der nähe!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, WHITE, "Spieler ist nicht Aktiv!);
    }
    }
    return 1;
    }

  • hmm ich habs mir ocmd und sscanf gemacht weils dann einfacher ist :D


    ocmd:pay(playerid,params[])
    {
    new pID, mID;
    if(sscanf(params,"ui",pID,mID))return SendClientMessage(playerid,FARBE,"Benutzung: /pay [Playerid/Name] [Geld]"); //Wenn man nicht /pay [Playerid/Name] [Betrag] eingibt(mit zahlen natürlich) dann kommt die Nachricht wie man es benutzen soll
    if(mID<(1)||mID>1000)return SendClientMessage(playerid,FARBE,"Das Geld muss zwischen 1$ und 1000$ liegen."); //Wenn der betrag kleiner als 1$ oder größe als 1000$ ist, dann kommt die meldung. Ansonsten wird der nächste befehl ausgeführt
    if((GetPlayerMoney(playerid))<=(mID))return SendClientMessage(playerid,FARBE,"So viel Geld hats du nicht."); //Wenn der Spieler nicht genug Geld dabei hat kommt die Nachricht
    if(IsPlayerConnected(pID))
    {
    GivePlayerMoney(pID,mID); //Wenn alles Klappt wird dem Spieler das geld hinzugefügt
    GivePlayerMoney(playerid,-(mID)); // und dem Spieler der das command eingibt abgezogen
    }
    else
    {
    SendClientMessage(playerid,FARBE,"Dieser Spieler ist nicht eingeloggt."); // Falls der Spieler nicht eingeloggt ist kommt diese Nachricht ... Farbe anpassen
    }
    return 1;
    }
    Den ocmd Include musst du halt noch bei die Includes packen (#include ocmd) und den sscanf Code findest du ganz einfach wenn du googlest ... den machst du bei deinem Script ganz unten rein
    das ocmd:pay machst du NICHT bei OnPlayerCommandText rein sondern zwischen die publics ist eigentlich relativ egal wohin


    EDIT: Den include gibts hier und den sscanf code gibts hier

    Einmal editiert, zuletzt von Rey ()

  • Rey, der kann nicht klappen weil es mindestens 1 Error geben würde Undefined Symbol mID


    So wäre es richtig.


    ocmd:pay(playerid,params[])
    {
    new pID, mID1;
    new mID;
    if(sscanf(params,"ui",pID,mID1))return SendClientMessage(playerid,BLAU,"Benutzung: /pay [Playerid/Name] [Geld]"); //Wenn man nicht /pay [Playerid/Name] [Betrag] eingibt(mit zahlen natürlich) dann kommt die Nachricht wie man es benutzen soll
    if(mID<(1)||mID>1000)return SendClientMessage(playerid,BLAU,"Das Geld muss zwischen 1$ und 1000$ liegen."); //Wenn der betrag kleiner als 1$ oder größe als 1000$ ist, dann kommt die meldung. Ansonsten wird der nächste befehl ausgeführt
    if((GetPlayerMoney(playerid))<=(mID))return SendClientMessage(playerid,BLAU,"So viel Geld hats du nicht."); //Wenn der Spieler nicht genug Geld dabei hat kommt die Nachricht
    if(IsPlayerConnected(pID))
    {
    GivePlayerMoney(pID,mID); //Wenn alles Klappt wird dem Spieler das geld hinzugefügt
    GivePlayerMoney(playerid,-(mID)); // und dem Spieler der das command eingibt abgezogen
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Dieser Spieler ist nicht eingeloggt."); // Falls der Spieler nicht eingeloggt ist kommt diese Nachricht ... BLAU anpassen
    }
    return 1;
    }

  • Herzlichen dank an Magnussoft und natürlich an die anderen auch ;D
    Habe genau sowas gebraucht:) compeliert ohne errors, danke <3 (-->Nein,nicht schwul ^^,freu mich nur.)


    Bräuchte nun noch ein /tazer,/cuff und /pull system... vielleicht nimmt sich einer die zeit und mühe und gibt mir eins ? ;D

    Liebe Grüße


    Marcel

  • magnussoft:
    jaaa halt so für LSPD xD
    wär cool wenns geht.


    //nebenbei:
    Bei deinem /pay-system, habe daraus ein /givemoney system für admins gemacht (das der admin dem spieler geld geben kann ohne geld zu verlieren), steht dann da immer: Muss größer als 1 und kleiner als 1000$ sein . halt so ähnlich ;D
    Was tun?

    Liebe Grüße


    Marcel

  • änder deins auf das ab oder andersrum :D
    habe das schond auernd gehabt


    ocmd:givemoney(playerid,params[])
    {
    new pID, mID, string[256], string2[256];
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du hast nich den benötigten Adminrang!");
    if(sscanf(params,"ui",pID,mID))return SendClientMessage(playerid,ROT,"Benutzung: /givemoney [Playerid] [Geld]");
    if(mID<(-100000)||mID>100000)return SendClientMessage(playerid,ROT,"Das Geld muss zwischen -100000$ und 100000$ liegen.");
    if(IsPlayerConnected(pID) && (GetPVarInt(pID,"Loggedin")==1))
    {
    format(string,sizeof(string),"Du hast %s %i$ gegeben.",SpielerName(pID),mID);
    format(string2,sizeof(string2),"%s hat dir %i$ gegeben.",SpielerName(playerid),mID);
    SendClientMessage(playerid,BLAU,string);
    SendClientMessage(pID,BLAU,string2);
    GivePlayerMoney(pID,mID);
    SpielerSpeichern(pID);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht eingeloggt.");
    }
    return 1;
    }









    Hier das kleine Script zum tazern. Du musst nurnoch dein Polizei definieren dabei wie du es gemacht hats mit gteam oder mit fraktid01=polizei über nen switch. aber ich denke das ist selbst erklärend


    EDIT: wenn du noch was wissen willst frag einfach oder falls du probleme hast ^^

    Einmal editiert, zuletzt von Rey ()