Beiträge von Pr0x

    Guten Tag,
    ich habe einen Fehler in meiner Schleife.Nun, wenn ein Spieler sich eingeloggt hat soll an alle die ihn als Freund eingetragen haben, die Nachricht bekommen, das er sich eingeloggt hat.
    Alles gut, klappt auch, nur die Nachricht wird ihm tausend mal gesendet, bis er ein Standbild bekommt und er das Spiel via Taskmanager schließen soll.
    Das Problem was bei mir Auftritt ist dieses, dass wenn ich ein return in die Schleife packe, das es nur dem ersten Spieler gesendet wird.


    Code:
    public OnFreundeListeLoad(playerid)
    {
    new count=0,rows,fields,string[128],query[94],result[MAX_PLAYER_NAME];
    cache_get_data(rows,fields,dbhandle);
    if(rows)
    {
    while(count<rows)
    {
    if(count>=rows){ break; }
    cache_get_field_content(count,"username",result);
    new pID = GetPlayerID(result);
    if(pID != -1)
    {
    format(string,sizeof(string),"Freundeliste:{FAFAFA} %s ist nun {009F00}Online{FAFAFA}.",SpielerName(playerid));
    SendClientMessage(pID,0xFF9C00FF,string);
    }
    }
    format(query,sizeof(query),"UPDATE account_friendlist SET online='1' WHERE freundname='%s'",SpielerName(playerid));
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }
    return 1;
    }


    public OnFreundeListeSave(playerid)
    {
    new count=0,rows,fields,string[128],query[94],result[MAX_PLAYER_NAME];
    cache_get_data(rows,fields,dbhandle);
    if(rows)
    {
    while(count<rows)
    {
    cache_get_field_content(count,"username",result);
    new pID = GetPlayerID(result);
    if(pID != -1)
    {
    format(string,sizeof(string),"Freundeliste:{FAFAFA} %s ist nun {C70A00}Offline{FAFAFA}.",SpielerName(playerid));
    SendClientMessage(pID,0xFF9C00FF,string);
    }
    }
    format(query,sizeof(query),"UPDATE account_friendlist SET online='0' WHERE freundname='%s'",SpielerName(playerid));
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }
    return 1;
    }


    Vielen Dank im Voraus.

    max1907:
    Arbeite wie schon erwähnt mit gettime()


    Beim betreten die Zeitsperre setzen:
    SetPVarInt(playerid,"Var.Sperre",gettime()+4);


    Und über dem Code dann halt abfragen, ob diese Sperre von 4 Sekunden noch aktiv ist:
    if(gettime() < GetPVarInt(playerid,"Var.Sperre"))return SendClientMessage(playerid,-1,"Warte einen Moment bevor du etwas erneut betreten/verlassen kannst.");


    enum{
    DIALOG_LIZENZEN
    }


    if(strcmp(cmd,"/Scheine",true)==0)
    {
    if(!IsPlayerConnected(playerid))return 1;
    ShowLicenses(playerid,playerid);
    return 1;
    }


    stock ShowLicenses(playerid,pID)
    {
    new string[248],text1[20],text3[20],text4[20],text5[20],text6[20],text7[20],text8[20],text9[20];
    if(PlayerInfo[pID][pCarLic]) { text1 = "bestanden"; } else { text1 = "nicht bestanden"; }
    if(PlayerInfo[pID][pFlyLic]) { text3 = "bestanden"; } else { text3 = "nicht bestanden"; }
    if(PlayerInfo[pID][pBoatLic]) { text4 = "bestanden"; } else { text4 = "nicht bestanden"; }
    if(PlayerInfo[pID][pFishLic]) { text5 = "bestanden"; } else { text5 = "nicht bestanden"; }
    if(PlayerInfo[pID][pGunLic]) { text6 = "bestanden"; } else { text6 = "nicht bestanden"; }
    if(PlayerInfo[pID][pMotoLic]) { text7 = "bestanden"; } else { text7 = "nicht bestanden"; }
    if(PlayerInfo[pID][pLKWLic]) { text8 = "bestanden"; } else { text8 = "nicht bestanden"; }
    if(PlayerInfo[pID][pRollerLic]) { text9 = "bestanden"; } else { text9 = "nicht bestanden"; }
    format(string, sizeof(string), "|__________________ Lizenzen __________________|\n");
    format(string, sizeof(string), "%s** Führerschein: %s.\n",string, text1);
    format(string, sizeof(string), "%s** Fluglizenz: %s.\n",string, text3);
    format(string, sizeof(string), "%s** Segelschein: %s.\n",string, text4);
    format(string, sizeof(string), "%s** Angelschein: %s.\n",string, text5);
    format(string, sizeof(string), "%s** Waffenschein: %s.\n",string, text6);
    format(string, sizeof(string), "%s** Motorradschein: %s.\n",string, text7);
    format(string, sizeof(string), "%s** LKW Schein: %s.\n",string, text8);
    format(string, sizeof(string), "%s** Rollerschein: %s.\n",string, text9);
    ShowPlayerDialog(playerid,DIALOG_LIZENZEN,DIALOG_STYLE_MSGBOX,"Lizenzen",string,"Schließen","");
    return 1;
    }

    Du hast MinX,MinY,Maxx,MaxY, versuch es mal so:
    new FightSystem[][fsSyS]={
    /*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/
    {1826.4274,-1927.5583,1956.9500,-1792.3558,1865.4543,-1865.3102,13.5673},//Tanke
    };


    Siehe hier:
    MinX: 1826.4274
    MaxX: 1956.9500
    MinY: -1927.5583
    MaxY: -1792.3558

    Der Fehler liegt hierdrin, da man mit Text: einen TextDraw erstellt.
    Text:fsWinFaction,
    Text:fsLoseFaction,
    Text:fsWinKills,
    Text:fsLoseKills,
    Text:fsTime
    zu:
    fsWinFaction[30],
    fsLoseFaction[30],
    fsWinKills,
    fsLoseKills,
    fsTime

    Kann ja sein aber das Spiel verlangt ja nicht viel MB.


    Zudem habe ich auf Englischen Foren geschaut und sehr viele Leute beschweren sich über sowas.


    Hier habe ich ein Bild gefunden was exakt mein Problem schildert.
    (Bei mir sind es halt 90-120 FPS und bei Smokes runter auf 20-30 FPS)

    Guten Tag,
    ich habe schon nach einiger Zeit bemerkt, dass ich zum beispiel bei SAMP immer FPS drops hatte sobald rauch kam (beispiel man ist im/neben einem Auto und drückte zusammen W und S).
    Nun dachte ich mir nichts dabei, es sein ein Fehler des Spiels. Nun habe ich andere Spiele gespielt (CS:GO) und mir fällt auf das bei den Rauchbomben wieder die FPS drops auftauchen.
    Sobald ich aber in der Rauchbombe drinne bin habe ich wieder Standard FPS Werte (Sobald ich in die Richtung des Rauchs gucke findet der FPS drop stat).



    Meine PC Daten:


    ocmd:opark(playerid,parms[])
    {
    if(SpielerInfo[playerid][pLeader] == 24 || SpielerInfo[playerid][pMember] == 24)
    {
    new trailer = GetVehicleTrailer(GetPlayerVehicleID(playerid));
    if(IsValidVehicle(trailer))
    {
    GetVehiclePos(trailer, VehiclePos[trailer][0], VehiclePos[trailer][1], VehiclePos[trailer][2]);
    GetVehicleZAngle(trailer, VehiclePos[trailer][3]);
    VehicleInterior[trailer] = GetPlayerInterior(playerid);
    VehicleWorld[trailer] = GetPlayerVirtualWorld(playerid);
    SendClientMessage(playerid, COLOR_YELLOW, "Das Userfahrzeug wurde nun hier umgeparkt bitte Infomation an den Besitzer weiter geben!");
    UpdateVehicle(trailer, 1);
    SaveVehicle(trailer);
    return 1;
    }
    return SendClientMessage(playerid, COLOR_RED, "Du hast kein Fahrzeug am harken..");
    }
    return SendClientMessage(playerid,COLOR_RED, "Dazu hast du keine befugnis!");
    }

    Ich würde lieber mich in normales CSS einarbeiten damit man bei Problemen auch selber Fehler beheben kann.
    Sich nur auf ein Framework zu verlassen ist auch nicht das wahre. In dem Fall solltest du aber eventuell zu einem
    greifen den Handybenutzer werden mit deiner Seite eher wenig Spaß haben:



    Darum brauche ich auch Hilfe um das Problem zu lösen, habe bereits nur den Hintergrund geschaft das er beim minimieren der Seite mit läuft und nicht auf der Stelle ist, sondern sich den Browser anpasst.