Beiträge von Keslo

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    @Keslo also kostet der Preis pro Ware 500$?

    Jup, kannst die 500 ja beliebig ändern :)



    //edit:"Wie bestimme ich eine Kapazität z.B das er Max. 300 Kaufen kann?"



    Das machst du so:



    Da du bestimmt mehrmals die Waren brauchst und sie per Spieler festgelegt werden soll:


    ganz oben:
    new PilotWaren[MAX_PLAYERS];


    onplayerconnect:


    PilotWarenn[playerid] = 0;



    ocmd:getwaren(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10.0,1894.9570,-2631.3894,13.5469,1.6058))return SendClientMessage(playerid,RED,"Du bist nicht in der Nähe vom Punkt.");
    new Waren;
    if(sscanf(params, "u", Waren))return SendClientMessage(playerid,GELB,"Tippe /getwaren [Anzahl an Waren]");
    new string [128];
    if(Waren < 0 || Waren > 300) { SendClientMessage(playerid, RED, "* Die Waren dürfen nicht unter 0 und über 300 sein."); return 1; }

    if(Waren && PilotWaren[playerid] > 300)
    {
    SendClientMessage(playerid,RED,"Die Maximale Kapazität beträgt 300.");
    }
    else
    {
    new preis = waren*500;
    format(string,sizeof(string), "Du hast dir %d Waren für %d$ gekauft!",Waren,preis);
    SendClientMessage(playerid,GREEN,string);
    SetPlayerCheckpoint(playerid,-1243.9681,-95.5739,14.1484,48.6373,5.5);
    SendClientMessage(playerid,GELB,"Fliege nun zum SF Airport um deine Waren für hochwertigere Waren umzutauschen um mehr Profit zu erlangen!");
    return 1;
    }
    }


    probiers mal so aus


    ocmd:getwaren(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10.0,1894.9570,-2631.3894,13.5469,1.6058))return SendClientMessage(playerid,RED,"Du bist nicht in der Nähe vom Punkt.");
    new Waren;
    if(sscanf(params, "u", Waren))return SendClientMessage(playerid,GELB,"Tippe /getwaren [Anzahl an Waren]");
    new string [128];
    new preis = waren*500;
    format(string,sizeof(string), "Du hast dir %d Waren für %d$ gekauft!",Waren,preis);
    SendClientMessage(playerid,GREEN,string);
    SetPlayerCheckpoint(playerid,-1243.9681,-95.5739,14.1484,48.6373,5.5);
    SendClientMessage(playerid,GELB,"Fliege nun zum SF Airport um deine Waren für hochwertigere Waren umzutauschen um mehr Profit zu erlangen!");
    return 1;
    }


    There you go :)



    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Suplvl",sSpieler[playerid][Suplvl]);
    dini_IntSet(Spieler,"level",sSpieler[playerid][level]);
    dini_IntSet(Spieler,"Rang",sSpieler[playerid][Rang]);
    dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spieler,"Alter",sSpieler[playerid][Alter]);
    dini_IntSet(Spieler,"Geschlecht",sSpieler[playerid][Geschlecht]);
    dini_IntSet(Spieler,"Skin",sSpieler[playerid][Skin]);
    dini_IntSet(Spieler,"PaydayZeit",sSpieler[playerid][PaydayZeit]);
    dini_IntSet(Spieler,"Gangjailticket",sSpieler[playerid][Gangjailticket]);
    dini_IntSet(Spieler,"Bauerticket",sSpieler[playerid][Bauerticket]);
    dini_IntSet(Spieler,"Bankguthaben",sSpieler[playerid][Bankguthaben]);
    dini_IntSet(Spieler,"Bargeld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"FestgeldTime",sSpieler[playerid][FestgeldTime]);

    }
    return 1;
    }


    So müsste es klappen :)

    Zeig uns doch mal alles, wo du das Geld deklarierst, abspeicherst und laden tust :)

    Hey, ich hätte ein kleines Problem. Und zwar Erscheint während des Tutorials die Einblendung "<< - >> - Spawn" Dies sollte allerdings nicht sein. Wenn man nichts drückt, spawnt man nicht. Wenn man "Spawn" drückt, spawnt der Spieler und das Tutorial ist unterbrochen.


    Über eine hilfreiche Antwort würde ich mich sehr freuen!

    Hey,


    also ich habe es deaktiviert, in dem ich mit TogglePlayerSpectating arbeite.



    Ich setze es bei OnplayerConnect auf 1,



    Sobald der Spieler spawnt, musst du es auf 0 setzen.
    Ebenfalls wenn er spawnt, musst du mit SetSpawnInfo arbeiten. Aber dies nur einmalig


    Also SetSpawnInfo hab ich zb wenn er sich registriert und einloggt...

    Da fehlt meiner Ansicht nach noch ein return 1; am Ende...

    Könnte jemand bei MySQL helfen? :D


    Folgender Error:



    [03:48:45 11/26/16] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = '102'' at line 1 (Query: "UPDATE users SET registriert = '1', skin = '1', level = '5', money = '1000000', adminlevel = '5', fraktion = '2', vteam = '0', rang = '12', wanteds = '0', wantedgrund = '', muted = '0', mutetime = '0', spielzeit = '0', email = '', jailtime = '0', jailed = '0', jailtype = '0',morde = '14', tode = '8', verbrechen = '76', premium = '0', donator = '0', contractgeld = '0', changeteamzeit = '0', carkey = '1', eventmann = '0', ooctog = '1', pntog = '1', killstreaksoundtog = '1', hitsoundtog = '1', connecttog = '1', advertisetog = '1', mitgliedertog = '1', ffcd = '0', lottonr = '0', paydaypoints = '1319',copexp = '0', copmaxexp = '0',ziviexp = '0', zivimaxexp = '0', spawnchange = '3', fishskill = '0', fishexp = '0', bauerskill = '0', bauerexp = '0', anwaltskill = '0', anwaltexp = '0', drugs = '2', safedrugs = '998', WHERE id = '102'")
    [03:48:45 11/26/16] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError



    stock SaveUserStats(playerid)
    {
    /*new all[1300];
    strcat(all,"");
    strcat(all,"");
    strcat(all,"");
    strcat(all,"");
    ShowPlayerDialog(playerid,DIALOG_COPHELP,DIALOG_STYLE_MSGBOX,"{FF6E00}Information",all,"Schließen","");*/
    if(!Spieler[playerid][Eingeloggt]) return 1;
    new query[1000];
    mysql_format(handle, query, sizeof(query), "UPDATE users SET registriert = '%d', skin = '%d', level = '%d', money = '%d', adminlevel = '%d', fraktion = '%d', vteam = '%d', rang = '%d', wanteds = '%d', wantedgrund = '%s', muted = '%d', mutetime = '%d', spielzeit = '%d', email = '%s', jailtime = '%d', jailed = '%d', jailtype = '%d',",
    Spieler[playerid][Registriert],
    Spieler[playerid][Skin],
    Spieler[playerid][Level],
    GetPlayerMoney(playerid),
    Spieler[playerid][Adminlevel],
    Spieler[playerid][Fraktion],
    Spieler[playerid][vTeam],
    Spieler[playerid][Rang],
    Spieler[playerid][Wanteds],
    Spieler[playerid][WantedGrund],
    Spieler[playerid][Muted],
    Spieler[playerid][MuteTime],
    Spieler[playerid][Spielzeit],
    Spieler[playerid][Email],
    Spieler[playerid][JailTime],
    Spieler[playerid][Jailed],
    Spieler[playerid][JailType]);

    mysql_format(handle, query, sizeof(query),"%smorde = '%d', tode = '%d', verbrechen = '%d', premium = '%d', donator = '%d', contractgeld = '%d', changeteamzeit = '%d', carkey = '%d', eventmann = '%d', ooctog = '%d', pntog = '%d', killstreaksoundtog = '%d', hitsoundtog = '%d', connecttog = '%d', advertisetog = '%d', mitgliedertog = '%d', ffcd = '%d', lottonr = '%d', paydaypoints = '%d',",
    query,
    Spieler[playerid][Morde],
    Spieler[playerid][Tode],
    Spieler[playerid][Verbrechen],
    Spieler[playerid][Premium],
    Spieler[playerid][Donator],
    Spieler[playerid][ContractGeld],
    Spieler[playerid][ChangeteamZeit],
    Spieler[playerid][Carkey],
    Spieler[playerid][Eventmann],
    Tog[playerid][OOCTog],
    Tog[playerid][PNTog],
    Tog[playerid][KillstreakSoundTog],
    Tog[playerid][HitsoundTog],
    Tog[playerid][ConnectTog],
    Tog[playerid][Advertise],
    Tog[playerid][Mitglieder],
    Spieler[playerid][FFChangeDone], //ffcd = FirstFrakChangeDone <--- allgemein
    Spieler[playerid][pLottoNr],
    Spieler[playerid][PayPoints]);

    mysql_format(handle, query, sizeof(query),"%scopexp = '%d', copmaxexp = '%d', ziviexp = '%d', zivimaxexp = '%d', spawnchange = '%d', fishskill = '%d', fishexp = '%d', bauerskill = '%d', bauerexp = '%d', anwaltskill = '%d', anwaltexp = '%d', drugs = '%d', safedrugs = '%d', WHERE id = '%d'",
    query,
    Spieler[playerid][CopExp],
    Spieler[playerid][CopMaxExp],
    Spieler[playerid][ZiviExp],
    Spieler[playerid][ZiviMaxExp],
    Spieler[playerid][Spawnchange],
    Spieler[playerid][Fishskill],
    Spieler[playerid][FishExp],
    Spieler[playerid][Bauerskill],
    Spieler[playerid][BauerExp],
    Spieler[playerid][Anwaltskill],
    Spieler[playerid][AnwaltExp],
    Spieler[playerid][Drugs],
    Spieler[playerid][SafeDrugs],
    Spieler[playerid][p_id]);


    mysql_pquery(handle, query);
    return 1;
    }

    Hey,


    Ich wollte /quitjob per befehl machen.


    Wollte folgendes einbaun das man den Job Kündigen kann aber widerrum auch die Kündigung zurückziehen kann wie kann ich das machen?



    CMD:quitjob(playerid)
    {
    if(Spieler[playerid][pJob] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "** Du kannst nicht kündigen, da du keinen Beruf hast!");
    }
    if(Spieler[playerid][pQuitJob] == 0)
    {
    Spieler[playerid][pQuitJob] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung eingereicht.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Bis zum nächsten Zahltag kannst du noch deinen jetzigen Beruf ausführen.");
    }
    else if(Spieler[playerid][pQuitJob] == 1)
    {
    Spieler[playerid][pQuitJob] = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung zurückgezogen.");
    }
    return 1;
    }


    //e So müsste es funktionieren :)
    //e2 kleinen denkfehler behoben

    Hey,


    ich habe verschiedenes vor, die mit dem Player passieren sollen, wenn sie offline sind.



    Beispiel: Logout Pickup, wenn er Offline ist, soll das Pickup beispielsweise nach einer Minute gelöscht werden.
    Aber wie kann es denn gelöscht werden, wenn er offline ist? ich kann doch nicht mehr playerid benutzen, oder? Wie würde man dies denn richtig machen?



    Genauso, wenn ich eine Art "Schutzfunktion" für den Spieler einfüge. Sagen wir, er hat irgendwas gemacht, wenn sich ausloggt/crashed hat er 2min Zeit sich wieder einzuloggen
    ansonsten ist es weg, was er angefangen hat. Jemand dazu eine Idee?




    Gruß
    Kevin