Beiträge von Kaliber

    Schreib es so:


    public ServerMinute()//Dieser Public wird jede Minute aufgerufen
    {
    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
    PlayerInfo[i][pPayDayZeit]++;
    if(PlayerInfo[i][pPayDayZeit] == 60) PayDay(i),PlayerInfo[i][pPayDayZeit] = 0;
    }
    return 1;
    }


    mfg. :thumbup:

    Ich hab gerade mal einen Code geschrieben um einen String zu verschlüsseln und dann wieder zu entschlüsseln.


    Im Prinzip nichts großartiges, doch wenn man in einer Datei z.B. etwas speichern will, was nicht jeder lesen soll und aber trotzdem wieder im Klartext haben will, ist es ganz praktisch:


    static stock const c_v[] = { 0xFBCAE, 0xDFC, 0xA8D, 0xAFECB };


    stock Crypt(string[]) {
    for(new i,l=strlen(string),tmp[2]; i<l; i++) {
    format(tmp,sizeof tmp,"%c",string[i]+c_v[0]+(c_v[1]*c_v[2])+c_v[3]+(l*i));
    string[i] = tmp[0];
    }
    return 1;
    }


    stock DeCrypt(string[]) {
    for(new i,l=strlen(string),tmp[2]; i<l; i++) {
    format(tmp,sizeof tmp,"%c",string[i]-c_v[0]-(c_v[1]*c_v[2])-c_v[3]-(l*i));
    string[i] = tmp[0];
    }
    return 1;
    }


    Hier ein Beispiel:


    new string[] = "Hallo Welt";
    Crypt(string);
    print(string);
    DeCrypt(string);
    print(string);


    Das sieht dann so aus:



    //Edit:
    Hier nochmal ein paar mehr Beispiele:




    Also, viel Spaß damit :)


    //Edit²: Rechtschreibfehler


    mfg. :thumbup:

    Könnte mir jemand helfen die fehler zu beheben?


    Nun, anscheinend nutzt du folgende Funktion:


    mysql_store_result


    Aber er kann sie nicht richtig ausführen, weil entweder dein Query irgendwas total verrücktes ist oder du einen Crazy Wert dem Connection-Handle gegeben hast ^^


    Evtl postest du mal deinen Code :)


    (Wenn du nicht weißt, welchen Code er da abruft, arbeite mit print-Debugs um das zu ermitteln)


    mfg. :thumbup:

    so kannst du ihm wenigstens den trick mit der schleife posten


    Hab den Thread gar nicht gelesen gehabt...ups ^^


    Die Schleife, kannst du so schöner schreiben, da musst du nur 1x auf den TAG achten:


    for(new SpielerDaten:i; i != SpielerDaten; ++i) SpielerInfo[playerid][i] = 0;


    mfg. :thumbup:

    format(SpielerInfo[playerid][pHerkunft], 32, "");


    Nur kurz nebenbei, dass ist keine schöne Art einen String zu clearen.


    In Pawn, kann man das sehr gut mit dem NULL Byte einfach machen:


    SpielerInfo[playerid][pHerkunft][0] = '\0';


    So und nun wäre dein String leer :)


    mfg. :thumbup:

    Schreib mal bei OnPlayerRequestClass ganz oben hin:


    //Unter OnPlayerRequestClass
    if(IsPlayerNPC(playerid)) return SetSpawnInfo(playerid,0,253,0,0,3,0,0,0,0,0,0,0),SpawnPlayer(playerid);


    und bei dem Code, schreib mal ein return 1 dahin:


    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "DERDRIFTER", true))
    {
    SetPlayerSkin(playerid,253);
    PutPlayerInVehicle(playerid, AdCVehicle, 0);
    }
    return 1; //Das ist wichtig :D
    }


    mfg. :thumbup:

    Kann uns jemand helfen?


    Der Crash kommt dann, sobald ein bestimmter Dialog angezeigt bzw abgesendet wird.


    Du solltest ziemlich einfach herausfinden, welcher Dialog das ist und dann mal den Code posten, den du so verwendest :)


    mfg. :thumbup:

    Einfach sowas:


    mfg. :thumbup:

    Okay, schön jetzt haben wir den ganzen Code...aber man findet nicht in 600 Zeilen Code sofort den Fehler...deshalb wäre die Fehlermeldung ja ganz praktisch :whistling:


    Drück mal F12 -> Console...und poste dann mal, was da steht :)


    mfg. :thumbup:

    Hier mal eine Beispiel Funktion:



    stock RespawnAllEmptyVehicles()
    {
    new bool:list[MAX_VEHICLES char],i,v;
    for(; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    v = GetPlayerVehicleID(i);
    list{v} = (v) ? true : false;
    }
    for(v=0; v<MAX_VEHICLES; v++) if(!list{v}) SetVehicleToRespawn(v);
    return 1;
    }


    mfg. :thumbup:

    Aufgerufen wird es. Dennoch wird es nicht angezeigt. -.-


    Wo hast du den print eingefügt?


    Ich hoffe doch hier:


    forward BleedOut(playerid);
    public BleedOut(playerid)
    {
    if(!BeingRezzed[playerid])
    {
    BleedOutPoints[playerid]--;
    new string3D[3],
    stringGT[65];
    format(string3D, sizeof(string3D), "%d", BleedOutPoints[playerid]);
    UpdateDynamic3DTextLabelText(RezzLabel[playerid], C_RED, string3D);
    printf(...); //<hier!