Beiträge von Goldkiller

    Überleg doch mal einen Schritt weiter,was bringt uns nur ein Teil deines Codes ?
    Du müsstest zumindest noch die Funktion hack() posten,denn:
    SetTimerEx("hack",45000,false,"i",playerid); // Ich nehme an,hier soll entsperrt werden
    Bist du sicher,dass die Funktion hack() überhaupt aufgerufen wird ? Füg ein print() in die Funktion ein und lern Debuggen.

    Dann versuch dich doch mal an der Kunst des Debuggens und interpretier das Ergebnis:
    [ SCRIPTING ] Debugnachrichten


    stock CFC(model,Float:fx,Float:fy,Float:fz,Float:fa,farbe1,farbe2,frak)
    {
    new SDatei[64];
    for(new carid=1;carid<MAX_VEHICLES;carid++)
    {
    format(SDatei,50,"/fraccar/%d.txt",carid);
    if(!fexist(SDatei))
    {
    dini_Create(SDatei);
    dini_IntSet(SDatei,"Model",model);
    dini_FloatSet(SDatei,"X",fx);
    dini_FloatSet(SDatei,"Y",fy);
    dini_FloatSet(SDatei,"Z",fz);
    dini_FloatSet(SDatei,"A",fa);
    dini_IntSet(SDatei,"Farbe1",ffarben[0][frak]);
    dini_IntSet(SDatei,"Farbe2",ffarben[1][frak]);
    dini_IntSet(SDatei,"Fraktion",frak);
    Frakcar[carid] = CreateVehicle(model,fx,fy,fz,fa,ffarben[0][frak],ffarben[1][frak],-1);
    Gas[Frakcar[carid]] = GetGasMax(GetVehicleModel(Frakcar[carid]));
    fkennzeichen(carid);
    FCInfo[carid][fmodelid] = dini_Int(SDatei,"Model");
    FCInfo[carid][fcx] = dini_Float(SDatei,"X");
    FCInfo[carid][fcy] = dini_Float(SDatei,"Y");
    FCInfo[carid][fcz] = dini_Float(SDatei,"Z");
    FCInfo[carid][fca] = dini_Float(SDatei,"A");
    FCInfo[carid][Frakid] = dini_Int(SDatei,"Fraktion");
    FCInfo[carid][fcc1] = dini_Int(SDatei,"Farbe1");
    FCInfo[carid][fcc2] = dini_Int(SDatei,"Farbe2");
    return 1;
    }
    }
    return 1;
    }
    Der Fehler ist aber auch ohne debuggen zu sehen. Lass dir doch mal frak ausgeben und prüf mal im Kopf nach,ob es so überhaupt möglich ist ( Array Zugriff :(
    dini_IntSet(SDatei,"Farbe1",ffarben[0][frak]);

    if(strcmp(CarInfo[car][c_Owner],"RaceCrew",true))
    Du benutzt strcmp nicht richtig.
    http://wiki.sa-mp.com/wiki/Strcmp

    Zitat

    Returns -1 if string1 comes before string2
    1 if string1 comes after string2
    0 if the strings are the same (for the matched length).


    Ob da noch mehr nicht richtig ist,hab ich nicht überprüft. Man kennt ja deine Verwendung der Variablen usw nicht.

    Super,nur bist du hier im völlig falschen Forenbereich.

    Zitat


    Fehler / Vorschläge / Kritik / Lob zum Forum


    Foreneigenes, Vorschläge, Wünsche oder Anfragen

    Kannst schon größere Arrays als 2048 anlegen. Würde dann aber auch auf packed-Strings umsteigen,dann sparst 75% .
    Gibts denn überhaupt einen guten Grund,den Spielernamen + ID in Variablen zu speichern ? Du könntest doch auch einfach immer neu die Datei durchgehen und dann nach dem jeweiligen User + die ID suchen.
    Mit DINI wird es auch nicht besser, sofern du die Daten unbedingt aktuell brauchst und somit ablegt in Variablen. Das gilt dann auch für eine SQL Variante.
    Hab also auch nicht wirklich verstanden,was es denn genau bezwecken soll. Sollen nur die aktuellen User aufgelistet werden die Online sind oder soll es eine Art Inhaltsverzeichnis werden,für alle Spielerprofile ?
    Es heisst übrigens auch standard ;).

    Wieso sollte das nicht gehen ?
    Hast wohl nicht ganz verstanden wie ein Array / String funktioniert,sonst würdest sowas nicht schreiben.
    new passwort[] = "WasAuchImmErHieRStehenMag2844";
    passwort[0] = tolower( passwort[0] );
    Du meinst also das geht nicht :-O? Definitiv würde jetzt aus dem 'W' ein 'w' werden.

    Gibt doch die Funktion tolower().Die wandelt aber nur den Einzelnen Buchstaben um,nicht den ganzen String.Musst halt mit einer Schleife machen.
    new kleines_b = tolower('B');

    Liegt ja auch an deiner Parameterreihenfolge.
    Woher soll denn SSCANF wissen,dass der String ( s -> aktion) zu Ende ist und ein neuer für beginnt ( d -> menge ) ?
    Du müsstest es mit p<> dazu zwingen,bei jedem Leerzeichen den nächsten Parameter automatisch zu suchen.
    sscanf(params,"p< >usD(1)",pID,aktion,menge)
    So klappte es früher jedenfalls. Nach hunderten von Änderungen bei SSCANF ist es vllt nicht mehr so.

    Hat denn noch keiner von euch gemerkt,dass preis ein Array ist ? Das ist nämlich völliger Quatsch.Dann brauch man auch kein strval mehr,wozu denn auch.

    format(string,sizeof(string),"PAYDAY: Du haste %i Geld erhalten",lohn);
    SendClientMessage(playerid,ORANGE,string);
    Sicher das es klappt ? Der Platzhalter %i funktioniert nur bei Zahlen,lohn ist bei dir aber ein String / Text der nur eine Zahl enthält.
    10 ist nicht "10".
    Hättest es besser so gemacht:



    new string[128];
    new lohn;
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 0: lohn=1800;
    case 1: lohn=2500;
    case 2: lohn=3500;
    case 3: lohn=5000;
    case 4: lohn=6250;
    case 5: lohn=7500;
    case 6: lohn=25000;
    }
    GivePlayerMoney(playerid,lohn);
    format(string,sizeof(string),"PAYDAY: Du haste %i Geld erhalten",lohn);
    SendClientMessage(playerid,ORANGE,string);

    Zitat

    wir lassen dich dein User Control Panel für SA:MP auf MySQL-Basis (bald auch auf DINI-Basis) selbst bauen


    Ohje,was macht ihr denn mit denjenigen die SII o.Ä ( nur nicht DINI ) benutzen :-O?
    Ihr solltet das mal ausbessern,ihr meint Sicherlich "Datei/File-Basis".