Beiträge von [DT]Sniper

    Probier es mla so:
    public IncreasePlayerMinutes()
    {
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerInfo[i][pPlayMinutes]++;
    PlayerInfo[i][pGesamtMinutes]++;
    PlayerInfo[i][pMinutesSinceLogin]++;
    PlayerInfo[i][pMinutesSinceAn]++;
    if(PlayerInfo[i][pPlayMinutes] >= 60)
    {
    PayDay(i);
    PlayerInfo[i][pPlayMinutes] = 0;
    }
    if(KnastTime[i] > 0)
    {
    KnastTime[i]--;
    }
    if(KnastTime[i] == 0 && Knast[i] > 0)
    {
    Knast[i] = 0;
    KnastTime[i] = 0;
    SpawnPlayer(i);
    SendClientMessage(i,COLOR_YELLOW," Benimm dich ab jetzt, oder ein Admin wird dich wieder einsperren!");
    }


    }
    }
    return 1;
    }
    public PayDay(i)
    {
    new string[128];
    new account,interest;
    new rent = 0;
    if(IsPlayerConnected(i) && PlayerInfo[i][pPlayMinutes] >= 60)
    {
    PlayerInfo[i][pPlayMinutes] = 0;
    SetPlayerGehalt(i);
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 255)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > PlayerMoney[i])
    {
    PlayerInfo[i][pPhousekey] = 255;
    SendClientMessage(i, COLOR_WHITE, "Du konntest deine Miete nicht bezahlen, und wurdest rausgeschmissen");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+4; }
    else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
    else { tmpintrate = 1; }
    }
    Tax += TaxValue;//Should work for every player online
    PlayerInfo[i][pAccount] -= TaxValue;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    }
    new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
    ConsumingMoney[i] = 1;
    // Geld abziehen ^.^
    // PlayerInfo[i][pAccount] += Gehalt[i];
    // PlayerInfo[i][pAccount] -= Tax;
    account += Gehalt[i];
    account -= Tax;


    // Geld abziehen ^.^
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
    }
    else
    {
    ebill = 0;
    }
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_GREEN, "|___ PAYDAY/ZAHLTAG ___|");
    format(string, sizeof(string), " Gehalt: $%d Steuern: -$%d", Gehalt[i], Tax);
    SendClientMessage(i, COLOR_WHITE, string);
    if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
    {
    format(string, sizeof(string), " Stromkosten: -$%d", ebill);
    SendClientMessage(i, COLOR_WHITE, string);
    }
    format(string, sizeof(string), " Kontostand: $%d", account);
    SendClientMessage(i, COLOR_WHITE, string);
    format(string, sizeof(string), " Zinssrate: 0.%d Prozent",tmpintrate);
    SendClientMessage(i, COLOR_WHITE, string);
    format(string, sizeof(string), " Zinsen erhalten: $%d", interest);
    SendClientMessage(i, COLOR_WHITE, string);
    format(string, sizeof(string), " Miete: -$%d", rent);
    SendClientMessage(i, COLOR_WHITE, string);
    format(string, sizeof(string), " Respektpunkte erhalten: 1");
    SendClientMessage(i, COLOR_WHITE, string);
    SendClientMessage(i, COLOR_WHITE, "|--------------------------------------|");
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_WHITE, string);
    format(string, sizeof(string), "~y~Zahltag");
    GameTextForPlayer(i, string, 5000, 1);
    rent = 0;
    PlayerInfo[i][pPayDay] = 0;
    PlayerInfo[i][pLoginZeit] = 1;
    PlayerInfo[i][pConnectTime] -= 3600;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pPayDayHad] = 0;
    }
    }
    }
    // Checkprop();
    return 1;
    }


    public SyncTime()
    {
    new string[64];
    new tmphour;
    new tmpminute;
    new tmpsecond;
    gettime(tmphour, tmpminute, tmpsecond);
    FixHour(tmphour);
    tmphour = shifthour;
    if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
    {
    format(string, sizeof(string), "Deine Uhr: Es ist %d:00 Uhr",tmphour+1);
    BroadCast(COLOR_WHITE,string);
    ghour = tmphour;
    //PayDay();
    if (realtime)
    {
    SetWorldTime(tmphour+1);
    }
    //SendClientMessageToAll(COLOR_ORANGE,"Anstehende Geburtstage:");
    //SendClientMessageToAll(COLOR_ORANGE," 25.6.09: [FoD]GomeZ");
    }
    }

    jo jetzt such noch nach: OnPlayerExitVehicle(playerid, vehicleid, ispassenger)
    und: OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    und poste es hier rein.


    Noch ne Frage was kommt den wenn man Enterdrückt ne Nachricht oder was passiert genau.

    warte teste ich schnell und schreibe per edit die änderung.


    edit: jo habe mich wewundert was du hast geht doch alles...
    Naja verändere einfach auf grund der sauberkeit folgendes: echo $text[$zufall ]; -> echo $text[$zufall];
    Es muss kein Leerzeichen da sein also spart mann sich es.


    edit2: warum habe ich Lesezeichen anstatt Leerzeichen geschrieben? naja verbessert.

    Noir ist das Selbe was ich geschrieben habe bisauf dass dein Array nun bei 1 anfängt zu zählen, ich rate davon ab, da dies Leute die euch iwie helfen wollen verunsichern kann. Zudem muss jeder Scripter/Programmierer oder ähnliches wissen: Ein Computer fängt bei 0 zu zählen an. Gewöhne dir an wie ein Computer zu zählen und bringe nicht den Computer bei wie du zu zählen, dies kann nacher zu Problemen führen.

    nirgends, aber wenn dein Script beim einsteigen im Auto abgrborchen wird, muss iwie eins von diesen Callbacks sein, diese brauchen wir zum helfen, also musst du sie suchen und samt inhalt posten.

    1. benutz ein array. 2. benutzt du rand falsch.

    PHP
    $text = array("lol","xD","Dustin","Muhaha");
    $zufall = rand(0, 3);//zahlen die ausgegeben werden: 0,1,2,3
    echo $text[$zufall];


    genauere Berschreibungen gibt es bei den Links.


    edit: leerzeichen inerhalb des codes entfernt.

    1. edit regel beachten sonst kann es zu ärger kommen.
    2. nach 3. maligen durchlesen habe ich es halbwehcs verstanden. Nur fehlt für deine Aussage beim Script OnPlayerKeyStateChange(playerid, newkeys, oldkeys) oder etwas ähnlichen wie OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)

    wenn du in der If abfrage if(newstate = PLAYER_STATE_PASSENGER && GetPlayerVehicleID(playerid) == 21)//die 21 mit deiner ID festlegen) anstatt GetPlayerVehicleID(playerid) == 21 dies hier benutzt: GetVehicleModel(GetPlayerVehicleID(playerid) ) == 427 benutzt geht es bei allen Police Enforcern, nur muss auch drauf geachtet werde, dass es zu abstürzen/exen kommen kann, wenn die Vehicleid dass limit der Virtuallworlds überschreitet.


    mfg [DT]Sniper


    edit: Klammerfehler in der If-Abfrage beseitigt, da ich nen Fehler beim kopieren gemacht habe xD
    edit2: Ruhm geht an RFT, ich habe ihn nur auf mögliche Fehler hingewiesen die Auftretten hätten können.

    irgendwo steht in den Forenregeln das mann Kontacktdaten via pm austauschen soll. Genau so sind auch Sachen wie "du hast ne pm" oder "kom mal icq/skype etc. online" verboten.


    edit: habe auf die schnelle dies gefunden:
    Forenregeln
    edit2: Fehler ausgebesert