Beiträge von Beavis

    Das chrashdetekt Plugin sagt mir nix wenn es vorkommt
    An Recorcen habe ich auch so sparsam wie Moeglich gehalten
    Die Amy ist nur ziemlich Gros da ich max_vehicles verwendet habe
    Und ich hab's auch mal Grunderneuert aber geholfen hat es auch nicht wirklich

    Bei den Häusern etc alles Ohne Probleme nur bei Spielern ist es so


    //e
    Nach mehreren Versuchen es auch mit dern Funktionen von Maddin zu machen, tritt das Problem auch auf

    wenn ich es einzeln speicher kommt es auch vor
    Ich frag mich nur wiso er die werte ingame verschiebt
    es ist ja kein Fehler vorhanden und ich war nicht der einzigste der es nachgeprüft hat

    Resetten lass ich die bei den Connect
    bei einen savegame passiert es mal das die werte sich vertauschen und auch wenn einer neu ist,
    hatte ich mal das Problem gehabt das er komplette Adminrechte hatte
    Ich habe einfach keine ahnung mehr woran das liegen kann
    Die werte verrutschen schlagartig das is schwer zu sagen wann er verrutscht

    Nabend zusammen


    Da ich ein Problem seit längeren habe, und da ich auch Sniper um Rat gebeten habe es mal nachzuschauen,
    Fanden wir keinerlei lösungen zu den Problem was ich habe.


    Bei mir ist das Problem, das sich die Werte von Spielern bei mehreren Spielern verschieben.
    Das kann unterschiedlich sein ich mach mal ein paar beispiele
    Spieler a komm 100 Minuten in den Knast Funktioniert
    Spieler B Connectet und bekommt den Knastwert von Spieler A als Geld (nur als Beispiel)
    Dann kommt es vor, das sich beim Speichern einfach mal die Werte um eine Spalte nach vorne Rücken
    Sprich aus knastzeit wird dan Premium und so weiter.
    Dies Problem tritt aber nur auf, wenn mehrere Spieler online sind und auch meist nach einen Savegame.
    Ich geb euch mal die 3 Funktionen
    Laden:
    stock LoadPlayer(playerid,Key[])
    {
    new Data[1024],query[256];
    format(query, 256, "SELECT * FROM `player` WHERE `Name` = '%s' AND `Passwort` = '%s'", PlayerInfo[playerid][Name],MD5_Hash(Key));
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    if(mysql_num_rows(SQL)!=0)
    {
    mysql_free_result(SQL);
    format(query, sizeof(query),"SELECT * FROM `player` WHERE `Name` = '%s'",PlayerInfo[playerid][Name]);
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    while(mysql_fetch_row(Data, "|", SQL))
    {
    sscanf(Data, "p<|>ds[64]s[128]dddddddddddds[128]s[128]s[16]ddddddd",
    PlayerInfo[playerid][Userid],PlayerInfo[playerid][Name],PlayerInfo[playerid][Passwort],PlayerInfo[playerid][Admin],PlayerInfo[playerid][Job],PlayerInfo[playerid][Team],PlayerInfo[playerid][Geld],PlayerInfo[playerid][Skin],
    PlayerInfo[playerid][Level],PlayerInfo[playerid][Respekt],PlayerInfo[playerid][PayDay],PlayerInfo[playerid][PayDayTog],PlayerInfo[playerid][Rank],PlayerInfo[playerid][Leader],PlayerInfo[playerid][Banned],PlayerInfo[playerid][BanGrund],
    PlayerInfo[playerid][BanAdmin],PlayerInfo[playerid][IP],PlayerInfo[playerid][Nummer],PlayerInfo[playerid][Safeban],PlayerInfo[playerid][Helm],PlayerInfo[playerid][Jobvertrag],PlayerInfo[playerid][Star],PlayerInfo[playerid][Igvip],
    PlayerInfo[playerid][Jailtime]);
    }
    GivePlayerMoney(playerid,PlayerInfo[playerid][Geld]);
    SetPlayerScore(playerid,PlayerInfo[playerid][Nummer]);
    if(PlayerInfo[playerid][Safeban]!=0 && IsPlayerSafe(playerid)==0)
    {
    PlayerSafeJoin(playerid);
    SendClientMessage(playerid,cRed,"Du wurdest von "AC_BOT_NAME" gekickt, da du Safe Gebannt bist und den Louncher nicht eingeschaltet hast.");
    SendClientMessage(playerid,cRed,"Solltest du den Louncher bereits eingeschaltet haben, so starte den bitte neu und versuch dann wieder zu connecten.");
    Kick(playerid);
    }
    if(IsPlayerSafe(playerid)==0)
    {
    format(query, sizeof(query), "{006100}[Join] %s hat den Server betreten.", PlayerInfo[playerid][Name]);
    SendClientMessageToAll(cGreen, query);
    }
    else
    {
    format(query, sizeof(query), "{006100}[{FF8000}Safe{006100}-Join] %s hat den Server betreten.", PlayerInfo[playerid][Name]);
    SendClientMessageToAll(cGreen, query);
    PlayerSafeJoin(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid,"played",1);
    SpawnPlayer(playerid);
    mysql_free_result(SQL);
    return 1;
    }
    else
    {
    mysql_free_result(SQL);
    format(query, 128, "{FFFFFF}Fehler{FF6E00} %s {FFFFFF}Das Passwort war Falsch", PlayerInfo[playerid][Name]);
    ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_PASSWORD,"GTA "Servername"",query,"Login","");
    return 1;
    }
    }
    Speichern:
    stock SavePlayer(playerid)
    {
    new query[1024];
    format(query, 1024, "UPDATE `player` SET `Admin` = '%d', `Job` = '%d', `Team` = '%d', `Cash` = '%d', `Skin` = '%d', `Level` = '%d', `Respekt` = '%d', `PayDay` = '%d', `PayDayTog` = '%d', `Rank` = '%d', `Leader` = '%d', `Nummer` = '%d', \
    `Ban` = '%d', `BanGrund` = '%s', `BanAdmin` = '%s', `IP` = '%s', `SaveBan` = '%d', `Helm` = '%d', `Jobvertrag` = '%d', `Star` = '%d', `VIP` = '%d', `Jailtime` = '%d' WHERE `Name` = '%s' AND `id` = '%d'",
    PlayerInfo[playerid][Admin],PlayerInfo[playerid][Job],PlayerInfo[playerid][Team],GetPlayerMoney(playerid)/*PlayerInfo[playerid][Geld]*/,PlayerInfo[playerid][Skin],PlayerInfo[playerid][Level],PlayerInfo[playerid][Respekt],PlayerInfo[playerid][PayDay],PlayerInfo[playerid][PayDayTog],PlayerInfo[playerid][Rank],
    PlayerInfo[playerid][Leader],PlayerInfo[playerid][Nummer],PlayerInfo[playerid][Banned],PlayerInfo[playerid][BanGrund],PlayerInfo[playerid][BanAdmin],PlayerInfo[playerid][IP],PlayerInfo[playerid][Safeban],PlayerInfo[playerid][Helm],
    PlayerInfo[playerid][Jobvertrag],PlayerInfo[playerid][Star],PlayerInfo[playerid][Igvip],PlayerInfo[playerid][Jailtime],PlayerInfo[playerid][Name],PlayerInfo[playerid][Userid]);
    mysql_query(query, (-1), (0), SQL);
    return 1;
    }
    Savegame:
    DT_Public SaveGame()
    {
    new t1,t2,stunde,minute,sekunde,query[512];
    gettime(stunde,minute,sekunde);
    t1 = sekunde;
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"loggedin")==1)
    {
    SavePlayer(i);
    }
    }
    format(query, sizeof(query), "UPDATE `Server` SET `Kasse` = '%d',`Benzin` = '%d',`Kies` = '%d',`Container` = '%d', `Waren` = '%d' WHERE `Name` = 'Server'",Server[ServerKasse],Server[ServerBenzin],Server[ServerKies],Server[Servercontainer],Server[ServerLemis]);
    mysql_query(query, (-1), (0), SQL);
    format(query, sizeof(query), "UPDATE `JobWaren` SET `Supermarkt1` = '%d' WHERE `Name` = 'Server'",Supermarktware);
    mysql_query(query, (-1), (0), SQL);
    for(new i;i<MBI;i++)
    {
    if(strlen(biz2[i][bOwner]))
    {
    format(query,sizeof query,"UPDATE `Bizz` SET `Besitzer`= '%s', `Bizname`= '%s', `Offen`= '%d', `Enter`= '%d', `Prods`= '%d', `PP`= '%d', `Kasse`= '%d', `Payentry`= '%d' WHERE `BizID`='%d'",
    biz2[i][bOwner],biz2[i][bName],biz2[i][bOpen],biz2[i][bEnter],biz2[i][bProds],biz2[i][bPP],biz2[i][bKasse],biz2[i][bPayentry],i);
    mysql_query(query, (-1), (0), SQL);
    }
    }
    for(new i;i!=MAX_HAUESER;i++)
    {
    if(strlen(Haus[i][Besitzer]))
    {
    format(query,sizeof query,"UPDATE `Haus` SET `Besitzer`= '%s',`Gekauft`= '%d',`Abgeschlossen`= '%d',`aX`= '%f',`aY`= '%f',`aZ`= '%f',`iX`= '%f',`iY`= '%f',`iZ`= '%f',`Interior`= '%d',`VW`= '%d',`Preis`= '%d' WHERE `id`='%d'",
    Haus[i][Besitzer],Haus[i][Gekauft],Haus[i][Abgeschlossen],Haus[i][Pos][0],Haus[i][Pos][1],Haus[i][Pos][2],Haus[i][Pos][3],Haus[i][Pos][4],Haus[i][Pos][5],Haus[i][Int],Haus[i][VirtualWorld],Haus[i][Preis],i);
    mysql_query(query, (-1), (0), SQL);
    }
    }
    gettime(stunde,minute,sekunde);
    t2 = sekunde;
    format(query,128,"Spiel in %d Sekunden gespeichert.",t2 - t1);
    AdminMessage(AC_BOT_NAME,query);
    print(query);
    }
    Ich bin wirklich ratlos und [DT]Sniper. ist es auch daher hoffe ich mal, das einer von euch eine idee dazu hat

    Crackdeath oder so hieß die oder die koface
    das sind beides diese animationen
    (ich schreib nur die namen suchen darfst du :P )

    verwendest du dann einfach folgendes:


    TimestampToDate(Timestamp, &year, &month, &day, &hour, &minute, &second, HourGMT, MinuteGMT = 0)


    Wie stell ich das jetzt am Dümmsten da an?
    ((Sorry da steht nix bzw will nicht das ganze durchsuchen))

    Du speicherst einfach den jetzigen Timestap rechnest da drauf wielange er gesperrt ist und gibst dann via timec einfach die Zeit vom Timestap+sperre aus.


    Ich will aber nicht das haben, das es da in Tagen steht sondern nach Datum und Zeit das kann die Funktion eben nicht


    Warum möchtest du einen da einen Timestamp verwenden?


    Mir ist zwar klar, dass das einfacher wäre, aber da dies so
    in SA-MP nicht existiert, wärst du doch besser dran, einfach
    nur das Datum zu speichern und anzeigen zu lassen oder nicht?

    Da ich dies in bezug auf WBB nutzen möchte daher nutz ich das
    mit den command war es nur ein beispiel

    hab ich gerade gemacht aber so ganz ist es nicht das was ich wollte
    er Zeigt mir ja an in Minuten/Monate/Jahre das an
    Ich habe eigendlich vor, das es angezeigt wird wie z.B. so


    Timestamp+xxxx


    wenn er den cmd hat dann sowas in der art


    Du hast bis zum 02.02.2013 18:35 Uhr eine Sperre
    das geht mit der Funktion aus den tut da nicht

    Ich nutz die Funktion ja gerne in Pawn aber sage ich jetzt mal, das ich jetzt den Command XX eingebe, und dann die Timestamp speicher.
    Wenn ich den dann erneut ausführen, dann soll er den Timestamp aufrufen und z.B. das sagen:
    Der command ist bis zum xx.xx.xxxx yy,yy,yy Uhr gesperrt
    halt sowas soll da kommen aber wie ich das umrechne weiß ich nicht

    Nabend zusammen


    Ich habe eine kleine Frage wie kann ich die
    UNIX_TIMESTAMP
    so verwende, das ich die Zeit rausbekomme?


    Ich habe vor, ein system zu machen, wo man eine Sperre bekommt und dafür würde ich die UNIX_TIMESTAMP funktion nutzen.


    Ich hoffe, das einer eine idee dazu hat


    warum so?
    die geldabfrage reicht soa us und ist 1ne Zeile nur
    if(GetPlayerMoney(playerid) <50)return SendClientMessage(playerid,HBLAU,"Du hast zu wenig Geld");