Beiträge von heyhooo

    Nun , vielleicht wäre jemand bereit es kostenlos zu machen


    Wenn du etwas kostenlos willst, musst dich schon ein wenig mehr anstrengen.
    Eine komplette Vorstellung über dich wäre schön. Mit grafischer Gestaltung usw.
    Jeder kann einfach schreiben, dass er jemanden sucht.


    L.G. :thumbup:

    Wen du schon so auf Professor machst kannst du doch sicherlich helfen ?


    Hmm der Professor sagt dir nur, dass du richtig gucken sollst.
    Das Thema ist fett oben angepinnt und für jeden zugänglich.
    Außerdem war meine Formulierung nicht angreifend oder sonst irgendetwas.


    Du solltest vielleicht mal in Betracht ziehen, dein System zu ändern.
    sql sollte nicht so genutzt werden.
    Deine Funktion sendet jedes mal einen Query an die Datenbank. Für jeden einzelnen Wert.
    Nehmen wir an du speicherst 1 Spieler ab. (~23 Querys)
    Gleichzeitig werden noch 3 andere abgespeichert.
    4*23 = 92
    Der Server wird kurz massiv laggen, wenn nicht sogar "zusammenbrechen".
    [ SCRIPTING ] Mysql - Ressourcenschonendes Login/Register System + Automatic Table|| R5 BlueG
    Solltest du dir angucken ;)


    L.G.

    Vielleicht solltest du mal die Positionen manuell überprüfen.
    Ansonsten bin ich leider zu faul das alles durchzulesen ...
    Du könntest uns ja mal entgegen kommen und den Teil zeigen, von dem du denkst, er ist relevant. ;)


    L.G.
    P.S.: Das Include sieht nicht gerade effizient aus...

    Youtube ist kein direkter Stream.
    Das ist genauso, wie wenn ich bei directupload mein Bild als Seite angebe
    und nicht als direkten Link zum Bild.
    Sofern du die Rechte am Lied besitzt oder es keine Rechte gibt, kannst du es dir hier runterladen
    und auf z.B. soundcloud hochladen.


    L.G.

    Mit const kannst du Variablen einen festen Wert zuteilen, der nicht mehr vom 'Code' geändert werden kann.
    Ist effizienter, wenn du weißt, dass du es nicht ändern willst.

    Also Prinzipiell ist static für eine Zwischenspeicherung seines alten Wertes da ?


    Du kannst es als normale Variable verwenden.
    Der eigentliche Sinn ist eigentlich anders gedacht.
    Stell dir vor du willst zählen, wie oft das Command '/test' eingegeben wird.
    //OnPlayerCommandText:
    if(strcmp("/test",cmdtext,true))
    {
    static j;
    j++;
    printf("Das Command wurde nun %d mal eingegeben", j);
    }


    Diesen "Effekt" könntest du sonst nur mit einer globalen local erreichen.
    L.G.


    /e: Der Fall entscheidet, welche Variable besser geeignet ist.

    Googeln hilft..

    Spoiler anzeigen
    ReturnUser(text[], playerid = INVALID_PLAYER_ID)
    {
    new pos = 0;
    while (text[pos] < 0x21)
    {
    if (text[pos] == 0) return INVALID_PLAYER_ID;
    pos++;
    }

    Spoiler anzeigen
    new userid = INVALID_PLAYER_ID;
    if (IsNumeric(text[pos]))
    {
    userid = strval(text[pos]);
    if (userid >=0 && userid < MAX_PLAYERS)
    {
    if(!IsPlayerConnected(userid))
    userid = INVALID_PLAYER_ID;
    else return userid;
    }
    }

    Spoiler anzeigen
    new len = strlen(text[pos]);
    new count = 0;
    new pname[MAX_PLAYER_NAME];

    Spoiler anzeigen
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if (IsPlayerConnected(i))
    {
    GetPlayerName(i, pname, sizeof (pname));
    if (strcmp(pname, text[pos], true, len) == 0)
    {
    if (len == strlen(pname)) return i;
    else
    {
    count++;
    userid = i;
    }
    }
    }
    }

    if (count != 1)
    {
    if (playerid != INVALID_PLAYER_ID)
    {
    if (count) SendClientMessage(playerid, COLOR_WHITE, "Enter the full name of the user.");
    else SendClientMessage(playerid, COLOR_GREY, "No results found for the specified phrase.");
    }
    userid = INVALID_PLAYER_ID;
    }
    return userid;
    }


    Guck mal hier vorbei: Tipps: Scripting-Probleme richtig erklären


    L.G.

    Fangen wir zunächst einmal an:
    Wir brauchen: SetTimerEx, ein Callback, eine Array und Verständnis...
    //Globale Deklaration:
    new dpid[MAX_PLAYERS];
    //OnPlayerDeath:
    new ppos[3];
    GetPlayerPos(playerid,ppos[0],ppos[1],ppos[2]);
    dpid[playerid] = CreatePickup(1240,0,ppos[0],ppos[1],ppos[2],-1);
    SetTimerEx("DPickup",30000,false,"i",playerid);
    forward DPickup(playerid);
    public DPickup(playerid) return DestroyPickup(dpid[playerid]);


    Gerade so hier geschrieben.
    Müsste funktionieren ;)


    L.G.

    GiveWanteds(playerid, gwanteds, const reporter[], const reason[])
    {
    Spieler[playerid][wanteds] += gwanteds;
    SetPlayerWantedLevel(playerid,Spieler[playerid][wanteds]);
    format(s, sizeof(s), "Du hast ein Verbrechen begangen: %s Zeuge: %s", reason, reporter);
    SCM(playerid, C_DCHAT, s);
    format(s, sizeof(s), "Dein Aktuelles Wanted Level: %d",Spieler[playerid][wanteds]);
    SCM(playerid, C_YELLOW, s);
    new s1[60];
    format(s, sizeof(s), "HQ: Neues Verbrechen: %s", reason);
    format(s1, sizeof(s1), "HQ: Verdächtiger: %s Wantedlevel: %d", GetName(playerid), n_w);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !IsCop(i)) continue;
    SCM(i, 0x5B7AFFFF, s);
    SCM(i, 0x5B7AFFFF, s1);
    }
    return 1;
    }
    ocmd@2:su,suspect(playerid, params[])
    {
    if(!IsPlayerConnected(pID)) return Offline(playerid);
    if(!IsCop(playerid)) return SCM(playerid, C_DRED, "Du bist kein Polizist");
    new pID, g_wanteds, reason[64];
    if(sscanf(params, "uis", pID, g_wanteds, reason)) return Using(playerid, "su(spect) [ID] [Wanteds] [Grund]");
    if(IsCop(pID) && !IsAdmin(playerid, 5)) return SCM(playerid, C_DRED, "Du kannst einem Cop keine Wanteds geben");
    if(g_wanteds < 1) return SCM(playerid, C_DRED, "Du musst mindestens 1 Wanted vergeben");
    GiveWanteds(pID, g_wanteds, GetName(playerid), reason);
    return 1;
    }


    Du hattest die Variable 'g_wanteds' nicht besetzt.