Beiträge von cHaOsFaTz

    Moin Moin breadfish,


    ich suche derzeit einen Scripter zur Unterstützung für ein Projekt.


    Dieser Scripter sollte Fortgeschrittene Kenntnisse haben und sich ein wenig mit MYSQL auskennen.


    Folgende Aufgaben würden für den Scripter anfallen.



    • Fehler bei unserem Geldsystem finden
    • Fehler bei unserem Abrechnungssystem finden
    • Beratung und eventuelle Hilfe bei Textdraws die professionelle Funktionen beinhalten
    • verschiedene Chatarten Fehler finden
    • bei unserem Autokaufsystem eine Funktion ändern
    • einen Fehler bei unserem Objektstreamer beheben


    So, was ihr bestimmt noch wissen wollt, wie die Bezahlung aussieht ;)



    Mir ist die Aufgabe des Scripter für vollständige Problemlösung und Fertigstellung aller 6 Punkte 50,00 € Wert.



    Wer Interesse hat, bitte dies unter dem Beitrag schreiben oder mir eine Private Nachricht schreiben.


    Ich werde mich dann mit demjinigen in Verbindung setzen und natürlich ein persöhnliches Gespräch im Teamspeak.



    Grüße [uL]cHaOsFaTz

    Guten Morgen breadfish,


    und zwar habe ich da ein kleines Problem. Es geht um mein Abrechnungssystem, was alle 60 Spielminuten für jeden Spieler einzeln ist.


    Jeder Spieler bekommt dies auch aber jedoch nicht nach 60 Minuten sondern immer unterschiedlich.


    Der eine bekommt es nach 10 Minuten, der andere nach 20 Minuten oder auch jemand nach 60 Minuten.


    Es soll aber so ein, das jeder Spieler nach 60 Minuten Spielzeit seine Abrechnung bekommt.



    Kann da jemand vielleicht helfen ?


    Hier mal der Code



    forward Abrechnung_Ueberpruefung(i);


    // Code aus meinem Loginsystem
    if(mysql_CheckAccount(playerid) == 1)
    {
    new Loginnachricht[200];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(Loginnachricht,sizeof(Loginnachricht),"Willkommen zurueck %s.\n\nDu kannst dich jetzt einloggen.\nGebe nun bitte dein Passwort ein.\n\n",pname);
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"{FF0000}Loginbereich",Loginnachricht,"Einloggen","Abbrechen");
    SetTimerEx("Abrechnung_Ueberpruefung",60000,1,"i",playerid);
    return 1;
    }


    else if(mysql_CheckAccount(playerid) == 0)
    {
    new RegistrationsNachricht[200];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(RegistrationsNachricht,sizeof(RegistrationsNachricht),"Herzlich Willkommen %s.\n\nDu bist neu hier, daher musst du dich erst registrieren.\n\nGebe nun bitte dein gewuenschtes Passwort ein.\n\n",pname);
    ShowPlayerDialog(playerid,DIALOG_Registrieren,DIALOG_STYLE_PASSWORD,"{FF0000}Registrierungsformular",RegistrationsNachricht,"Registrieren", "Abbrechen");
    SetTimerEx("Abrechnung_Ueberpruefung",60000,1,"i",playerid);

    public Abrechnung_Ueberpruefung(i)
    {
    if(Spielerdaten[i][DB_SpielzeitseitAbrechnung] < 60)
    Spielerdaten[i][DB_SpielzeitseitAbrechnung] += 1;

    if(Spielerdaten[i][DB_SpielzeitseitAbrechnung] == 60)
    {
    Spielerdaten[playerid][DB_Abrechnung] = 1;
    TextDrawShowForPlayer(playerid,Abrechnung_Hintergrund[playerid]);
    TextDrawShowForPlayer(playerid,Abrechnung_Schrift[playerid]);
    }
    return 1;
    }



    // und das ist der Befehl für den Spieler dann
    if(strcmp(strget(cmdtext,0), "/abrechnung", true) == 0)
    {
    if(Spielerdaten[playerid][DB_Abrechnung] == 1)
    {
    TextDrawHideForPlayer(playerid,Geldanzeige_Geld_Euro[playerid]);
    TextDrawHideForPlayer(playerid,Geldanzeige_Geld_Dollar[playerid]);


    GehaltdesBerufes(playerid);
    GehaltderFraktion(playerid);


    new a = Spielerdaten[playerid][DB_Fraktionsgehalt];
    new b = Spielerdaten[playerid][DB_Berufgehalt];
    new c;
    new d;
    new e;
    new f; // = Spielerdaten[playerid][DB_Premiumbonus];


    new Abrechnungs_String1[512];
    new Abrechnungs_String2[512];
    new Abrechnungs_Stringgesamt[1024];


    format(Abrechnungs_String1,sizeof(Abrechnungs_String1),"{FF9400}============================== E I N N A H M E N ==============================\n\n{FF9400}Fraktionsgehalt {FFFFFF}%d €\n{FF9400}Berufsgehalt {FFFFFF}%d €\n\n{FF9400}Haus {FFFFFF}%d €\n{FF9400}Business {FFFFFF}%d €\n{FF9400}Firma {FFFFFF}%d €\n",a,b,c,d,e);
    format(Abrechnungs_String2,sizeof(Abrechnungs_String2),"{FF9400}Premiumbonus {FFFFFF}%d €\n\n{FF9400}===========================================================================",f);


    format(Abrechnungs_Stringgesamt,sizeof(Abrechnungs_Stringgesamt),"%s\n%s",Abrechnungs_String1,Abrechnungs_String2);
    ShowPlayerDialog(playerid,DIALOG_Abrechnung_Einnahmen,DIALOG_STYLE_MSGBOX," ",Abrechnungs_Stringgesamt,"Ausgaben","");


    TextDrawShowForPlayer(playerid,Geldanzeige_Geld_Euro[playerid]);
    TextDrawShowForPlayer(playerid,Geldanzeige_Geld_Dollar[playerid]);


    TextDrawHideForPlayer(playerid,Abrechnung_Hintergrund[playerid]);
    TextDrawHideForPlayer(playerid,Abrechnung_Schrift[playerid]);
    Spielerdaten[playerid][DB_SpielzeitseitAbrechnung] = 0;
    Spielerdaten[playerid][DB_Abrechnung] = 0;
    }
    else if(Spielerdaten[playerid][DB_Abrechnung] == 0)
    {
    SendClientMessage(playerid,FARBE_Rot,"Du hast bisher noch keine 60 Minuten gespielt.");
    }
    return 1;
    }

    Funktioniert leider nicht ;(


    Habe nur das Problem das alle die Nachricht bekommen auch die Zivilisten und auch die mit der Fraktionsnummer 2 usw.


    Nur das Problem müsste ich in den Griff bekommen.


    Ansonsten wird alles korrekt angezeigt.

    Hallo,


    und zwar bin ich gerade an einem Fraktionschat dran.


    Es wird zwar richtig zugeordnet also der Rang und die Fraktion jedoch kann es jeder lesen.


    Ich finde einfach nicht den Fehler.


    ocmd:fchat(playerid,params[])
    {
    new Fraktionschat[256];
    if(sscanf(params,"s",Fraktionschat)){return SendClientMessage(playerid,FARBE_Rot,"Benutze: /fchat [Text]");}


    new FraktionschatString[256];
    new FraktionsSpieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid,FraktionsSpieler,sizeof(FraktionsSpieler));


    for(new i = 0;i<MAX_PLAYERS; i++){


    if(Spielerdaten[playerid][DB_Member] == 1 || Spielerdaten[playerid][DB_Leader] == 1){


    if(Spielerdaten[playerid][DB_Fraktionsrang] == 6) { format(FraktionschatString,sizeof(FraktionschatString),"LSPD 6: %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 5) { format(FraktionschatString,sizeof(FraktionschatString),"LSPD 5 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 4) { format(FraktionschatString,sizeof(FraktionschatString),"LSPD 4 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 3) { format(FraktionschatString,sizeof(FraktionschatString),"LSPD 3 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 2) { format(FraktionschatString,sizeof(FraktionschatString),"LSPD 2 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 1) { format(FraktionschatString,sizeof(FraktionschatString),"LSPD 1 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    {SendClientMessage(i,FARBE_Orange,FraktionschatString);}}


    else if(Spielerdaten[playerid][DB_Member] == 2 || Spielerdaten[playerid][DB_Leader] == 2){


    if(Spielerdaten[playerid][DB_Fraktionsrang] == 6) { format(FraktionschatString,sizeof(FraktionschatString),"SFPD 6 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 5) { format(FraktionschatString,sizeof(FraktionschatString),"SFPD 5 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 4) { format(FraktionschatString,sizeof(FraktionschatString),"SFPD 4 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 3) { format(FraktionschatString,sizeof(FraktionschatString),"SFPD 3 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 2) { format(FraktionschatString,sizeof(FraktionschatString),"SFPD 2 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    else if(Spielerdaten[playerid][DB_Fraktionsrang] == 1) { format(FraktionschatString,sizeof(FraktionschatString),"SFPD 1 : %s sagt : %s",FraktionsSpieler,Fraktionschat); }
    {SendClientMessage(i,FARBE_Orange,FraktionschatString);}}

    }
    return 1;
    }

    Wäre dochmal interessant zu wissen ob es sowas gibt oder ob bei der 0.3d wenn die Released wird, die Anzahl von 2000 erhöht wird.


    Weiß da einer was ?

    mysql_SetFloat("spieler", "Bargeld",Spielerdaten[playerid][DB_Bargeld], "Spielername", Spielerdaten[playerid][DB_Spielername]);


    Das ist der Abschnitt.


    Geladen wird es hiermit


    GivePlayerCash(playerid,mysql_GetInt("spieler", "Bargeld", "Spielername", Spielerdaten[playerid][DB_Spielername]));


    Das Geld wird auch geladen.



    Zu beachten ist, das wir folgendes Geldformat haben ( Beispiel : 4.99 € )

    Guten Abend,


    ich habe ein eigenes Geldsystem, was auf MYSQL basiert, jedoch habe ich Probleme dies abzuspeichern.


    Geladen wird das Geld jedoch nicht gespeichert.


    Wäre super wenn mir da jemand helfen könnte, eine kleine Gegenleistung wäre natürlich auch drin.



    Wäre echt super wenn mir jemand helfen könnte.

    Ja du musst das natürlich komplett rausnehmen ;)


    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Das heisst, das strtok doppelt definiert ist.


    Suche nach " strtok(const string[], &index) " in deinem Script und mache es raus.


    Dann sollte die Fehlermeldung weg sein ;)

    Hallo,


    und zwar habe ich mal eine Frage....


    Ich benutze schon etwas länger diese Funktion und es funktioniert alles super.


    Jedoch habe ich schon so einiges entfernt und habe das Problem, das ich mich irgendwie nicht mehr einloggen kann ( Dialoglogin )



    Kann es sein, das es ein Limit gibt für die Funktion " RemoveBuildingForPlayer "



    Hoffe jemand kann mir da weiterhelfen.

    Nabend,


    ich habe ein Problem mit meiner Bildschirmwerbung



    // oben
    new Bildschirmwerbung [][] =
    {
    "Du hast noch kein Premium ? Dann hole ihn dir und profitiere von viele Extras und Funktionen.",
    "Du moechtest in eine Fraktion ? Dann schreibe den Leader an oder bewirb dich bei uns im Forum.",
    "Du moechtest dich mit anderen Spielern unterhalten ? Dann komm zu uns ins Teamspeak.",
    "Du moechtest deine Statistiken ausserhalb einsehen ? Dann gehe ins Controlpanel von uns.",
    "Du hast Fragen zum Spiel oder zur Community ? Dann schreib uns an /report oder im Forum.",
    "Du moechtest Lotto spielen ? Jeden Tag um 19 Uhr findet Lotto statt.",
    "Bei uns bekommst du fuer bestimmte Erfolge oder Erfahrungen eine Auszeichnung.",
    "Du moechtest etwas verkaufen ? Dann mache einfach eine Werbeanzeige /werbung",
    "Jeden Samstagabend findet ein Rennen statt. Informationen dazu findet ihr im Forum.",
    "Dein Auto oder Motorrad ist weg ? Dann wurde es vermutlich abgeschleppt.",
    "Du benoetigst Hilfe oder weisst ein Befehl nicht ? Unter /help findest du alles.",
    "Haltet euch immer an die Regeln, spielt Fair und seit nett zueinander.",
    "Ihr wollt an einem Event teilnehmen ? Jeden Abend um 22 Uhr findet eins statt.",
    "Haltet euch immer an die Strassenverkehrsordnung um Bussgeld oder Fuehrerscheinentzug zu vermeiden."
    };
    forward Bildschirmwerbung();
    // Ongamemodeinit
    SetTimer("Bildschirmwerbung",30000,1);
    // ganz unten
    public Bildschirmwerbung()
    {
    new BildschirmwerbungRandom = random(sizeof(Bildschirmwerbung));
    new BildschirmwerbungString[128];
    format(BildschirmwerbungString, sizeof(BildschirmwerbungString), Bildschirmwerbung[BildschirmwerbungRandom]);
    TextDrawSetString(Bildschirmrand_Werbetext, BildschirmwerbungString);
    return 1;
    }


    Jedoch kommt ein Klammerfehler ( also Pawno schmierrt ab )


    Hat jemand eine Idee ?