/startbonus einmalig .

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 Breadfish Community,


    Ich suche einen /startbonus Befehl den der Spieler sich selbst geben kann jedoch nur 1 Mal. Habe in der SuFu nichts gefunden was gepasst hätte. Kann einer so einen Schreiben für mich.?

    Mit freundlichen Grüßen

    Hozzn


    Aktuell:


    -> Verkaufe Woltlab Suite 5.0.25 <- Klick



    "die besten Momente fangen mit den Worten "..halt mal kurz mein Bier" an"

  • if(strcmp(cmd, "/Startbonus", true) == 0) {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, " /Starterbonus [Playerid/Name]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[playa][pLevel] = 5;
    GivePlayerMoney(playa,30000);
    format(string, sizeof(string), "* ADMIN %s hat dir ein Starterpaket gegeben.",sendername);
    SendClientMessage(playa, COLOR_BLUE, string);
    format(string, sizeof(string), "* Du hast %s ein Starterpaket gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    }
    }
    }
    return 1; }

    Scripts die ich besitze :


    BDC
    YSL/SoL
    LARP 3.1 toll editiert.
    Your second reallife editiert
    Fusion
    Loh 0.4
    Selfmade Stunt [nur zum verkauf]
    Dark Triagond
    German Fun Reallife
    Real German Roleplay
    German Roleplay 3.6 [habe ich vom RGR script aufgebaut nur besser ;D]
    LoH 0.7
    LoH 1.0
    Dark Traigond Selfmade

  • Machst halt einfach in deiner Userdatei oder Datenbank, je nachdem was du benutzt, einen Wert reinspeichern. Beim Befehl fragst du einfach ob, ob dieser Wert 0 ist, wenn ja, kriegt er seinen Start-Bonus und der Wert wird auf 1 gesetzt. Wenn er dann auf 1 ist, kann der Spieler ihn nicht mehr benutzen. Ganz simpel. ;)

  • Kannst es so machen.



    new Startbonus[MAX_PLAYERS];


    dann bei OnPlayerConnect, wenn eine Userdatei existiert setzt du Startbonus auf 1 wenn sie nicht Existiert setzt du sie auf 0 das heisst wenn er zum ersten mal connectet kann er mit dem Befehl den du dann dafür machen könntest den befehl /startbonus eingibt. Geht dann halt nur beim ersten mal wenn er Connected und seinen Account neu erstellen muss.

  • hast du denn dann schonmal gescriptet?^^ Weils ehrlich gesagt sehr einfach ist. :P


    ganz oben zu den news


    new Startbonus[MAX_PLAYERS];



    Dann wie gesagt wenn Account existiert oder nicht jeweils auf 0 oder 1 Setzen dann der befehl


    if(strcmp(cmd, "/startbonus", true) == 0)
    {
    if(Startbonus[playerid] == 0)
    {
    if(Startbonus[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Du schummler");
    GivePlayerMoney(playerid, 1000000);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deinen STartbonus bekommen.");
    }
    return 1;
    }


    Ist jetzt n bisschen schlampig geschrieben aber so sollte es gehen



    EDIT: Paar verschönerungen


  • aber er kann es dann beim nächsten login wieder machen.. heißt die Variable sollte besser gespeichert werden ;)
    Aber grob ist es natürlich richtig.
    mfg :)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Da bist du hier im Bread genau richtig , hab auch alles was ich bisher kann hier gelernt, und irgendwann bist an einem Punkt angekommen da kannst du dir logische zusammenhänge zusammenreimen, und du hast die PAWN Sprache sogut wie verstanden^^, also immer schön tuts lesen davon gibts hier eigentlich zu allen was :P


    Am besten fängst mit nem selfmade an hab ich auch gemacht.

  • dann müsste es normal


    PlayerInfo[playerid][pLevel] += 2;


    sollte er nicht automatisch den score bei dir mitzählen mach es so


    PlayerInfo[playerid][pLevel] += 2;
    new playerlevel = PlayerInfo[playerid][pLevel]
    SetPlayerScore(playerid, playerlevel);

  • Jetzt habe ich folgende Errors:



    C:\Users\Daniel\Desktop\SAMP4YOU\gamemodes\BigCityReallife.pwn(834) : error 010: invalid function or declaration
    C:\Users\Daniel\Desktop\SAMP4YOU\gamemodes\BigCityReallife.pwn(836) : error 010: invalid function or declaration
    C:\Users\Daniel\Desktop\SAMP4YOU\gamemodes\BigCityReallife.pwn(838) : error 010: invalid function or declaration
    C:\Users\Daniel\Desktop\SAMP4YOU\gamemodes\BigCityReallife.pwn(840) : error 021: symbol already defined: "JBC_GivePlayerMoney"
    C:\Users\Daniel\Desktop\SAMP4YOU\gamemodes\BigCityReallife.pwn(843) : error 010: invalid function or declaration
    C:\Users\Daniel\Desktop\SAMP4YOU\gamemodes\BigCityReallife.pwn(43394) : warning 203: symbol is never used: "Startbonus"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.



    if(strcmp(cmd, "/starter", true) == 0){if(Startbonus[playerid] == 0)
    {
    if(Startbonus[playerid] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Du kannst diesen Befehl nur einmal benutzen!");
    PlayerInfo[playerid][pLevel] += 2;
    GivePlayerMoney(playerid, 100000);
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast deinen Startbonus von Admin %s bekommen!");
    }
    return 1;
    }

    Mit freundlichen Grüßen

    Hozzn


    Aktuell:


    -> Verkaufe Woltlab Suite 5.0.25 <- Klick



    "die besten Momente fangen mit den Worten "..halt mal kurz mein Bier" an"

  • Ich habe es so gemacht:
    (Hier muss ein Admin dem user den Startbonus geben)


    if(strcmp(cmd, "/gebebonus", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gebebonus [playerid/PartOfName]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if (PlayerInfo[playerid][pAdmin] >= 4)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    // ConsumingMoney[playa] = 1;
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "AdmCmd: %s hat %s den Startbonus gegeben. (50k + Level 2)",sendername, giveplayer);
    ABroadCast(COLOR_LIGHTRED,string,1); //Die nachricht geht an alle Admins
    PlayerInfo[playa][pLevel] = 2;
    GivePlayerMoney(playa, 50000);
    SendClientMessage(playa, 0x009BFFFF, "Ein Administrator hat dir den Startbonus gegeben. (Level 2 + 50k)");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Das darfst du nicht tun!");
    }
    }
    return 1;
    }
    Sobald der User Level 2 Besitzt weis man auch das er schon den Startbonus hat