Beiträge von Jeffry

    Die ID wird bei Add Text mitgegeben.
    Beispiel:

    Code
    Gui, Add, Text, x32 y19 w110 h30 vMyText , Test

    Mit dem v gibt man an, dass jetzt die ID "MyText" kommt.


    Dann:


    Code
    GuiControl, Hide, MyText

    Hier die Include pastebin.com/rwRMcwsw

    Zeile 333:
    Das könntest du, um die eine Warnung los zu werden, hierzu ändern:
    stock _progress2_renderBar(playerid, barid)


    Die zweite Warnung (59461) scheint woanders her zu kommen.

    pastebin.com/zdD3b7Nr (Siehe Zeile 37.)

    Ändere die Zeile 37 zu:
    foreach (new playerid : Player)


    Gegebenenfalls steht dort noch irgendwo "new playerid", dann müsste das entfernt werden. Oder du versuchst es hier ohne das new.
    foreach (playerid : Player)

    Hab ich jetzt davor gemacht, greift aber nicht, respawne dann einfach

    Habe es dir etwas angepasst.
    Letztendlich ging es nur um eine Stelle:
    killerteam = gTeam[killerid];


    Code:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    // if(!IsPlayerConnected(playerid)) return 1;
    // if(playerid == INVALID_PLAYER_ID) return 1;
    new name[MAX_PLAYER_NAME];
    new string[256];
    new playercash;
    new victimteam;
    new Float:px,Float:py,Float:pz;
    new killerteam;
    if((AtRegestration[playerid] == 0 && PlayerPaintballing[playerid] == 0) && FirstSpawn[playerid] == 0)
    {
    PlayerInfo[playerid][pTot] = 1;
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    TotenKopf[playerid][0] = CreatePickup(1254,1, pX, pY, pZ);
    PlayerInfo[playerid][pTx] = pX;
    PlayerInfo[playerid][pTy] = pY;
    PlayerInfo[playerid][pTz] = pZ;
    GetPlayerName(playerid, name, sizeof(name));
    SendClientMessage(playerid,COLOR_LIGHTBLUE, "Du wurdest schwer verletzt ins Krankenhaus gebracht!");
    // SendClientMessage(playerid,COLOR_LIGHTBLUE, "Möchtest du einen Arzt?(/needmedic)");
    if(GetPlayerInterior(playerid) == 0)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pMember] == 4 || PlayerInfo[i][pLeader] == 4)
    {
    // SendClientMessage(i,COLOR_LIGHTBLUE,"[Funk:]Eine Person wurde als schwer verletzt gemeldet!");
    // SendClientMessage(i,COLOR_LIGHTBLUE,"Achtung eine Person wurde als schwerverletzt gemeldet!");
    // SendClientMessage(i,COLOR_LIGHTBLUE,"Die Position wurde auf dem HUD markiert!(/rmarker zum löschen)");
    // SetPlayerCheckpoint(i,PlayerInfo[playerid][pTx],PlayerInfo[playerid][pTy],PlayerInfo[playerid][pTz],5.0);
    }
    }
    }
    }

    M_OnPlayerDeath(playerid,killerid,reason);
    InCargo[playerid] = 0; InLevi[playerid] = 0;

    if(FirstSpawn[playerid] == 1)
    {
    FirstSpawn[playerid] = 0;
    }

    victimteam = gTeam[playerid];
    gPlayerSpawned[playerid] = 0;
    GetPlayerName(playerid, name, sizeof(name));
    PlayerInfo[playerid][pLocal] = 255;
    GetPlayerPos(playerid, px, py, pz);
    if(killerid != INVALID_PLAYER_ID)
    {
    killerteam = gTeam[killerid];
    if(reason == 38)
    {
    new kstring[128];
    new kickname[MAX_PLAYER_NAME];
    if(IsPlayerConnected(killerid))
    {
    GetPlayerName(killerid, kickname, sizeof(kickname));
    format(string, 256, "Warnung: [%d]%s hat einen Spieler mit einer Minigun gekillt. ACHTUNG [CheatVerdacht].",killerid,kickname);
    ABroadCast(COLOR_YELLOW,string,1);
    printf("%s", kstring);
    }
    }
    }
    if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
    {
    DisablePlayerCheckpoint(playerid);
    gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
    }
    new caller = Mobile[playerid];
    if(caller != 255)
    {
    if(caller < 255)
    {
    SendClientMessage(caller, COLOR_GRAD2, " Die Verbindung wurde unterbrochen....");
    CellTime[caller] = 0;
    CellTime[playerid] = 0;
    Mobile[caller] = 255;
    }
    Mobile[playerid] = 255;
    CellTime[playerid] = 0;
    }
    ClearCrime(playerid);
    if(PlayerPaintballing[playerid] != 0 && killerid != INVALID_PLAYER_ID)
    {
    PlayerPaintballKills[killerid] ++;
    if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
    {
    new killer[MAX_PLAYER_NAME];
    PaintballWinner = killerid;
    PaintballWinnerKills = PlayerPaintballKills[killerid];
    GetPlayerName(killerid, killer, sizeof(killer));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerPaintballing[i] != 0)
    {
    format(string, sizeof(string), "* %s ist mit %d Kills in Führung.",killer,PaintballWinnerKills);
    SendClientMessage(i, COLOR_WHITE, string);
    }
    }
    }
    }
    return 1;
    }
    if(IsBlacklist[playerid]==1)
    {
    ClearBlack(playerid);
    IsBlacklist[playerid]=0;
    }
    if(GettingCK[playerid] < 999 || OnCK[playerid] < 999)
    {
    if(IsPlayerConnected(killerid))
    {
    if(GettingCK[killerid] < 999 || OnCK[playerid] < 999)
    {
    new killer[MAX_PLAYER_NAME];
    new dier[MAX_PLAYER_NAME];
    GetPlayerName(playerid, dier, sizeof(dier));
    GetPlayerName(killerid, killer, sizeof(killer));
    format(string, sizeof(string), "* %s hat deinen Charakter gesperrt, du kannst nun mit diesem Charakter nicht mehr Spielen.",killer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "** %s hat den Spieler %s erledigt**",killer,dier);
    CKLog(string);
    PlayerInfo[playerid][pCK] = 1;
    if(GettingCK[playerid] < 999)
    {
    GettingCK[playerid] = 999;
    }
    else if(OnCK[playerid] < 999)
    {
    OnCK[playerid] = 999;
    }
    if(GettingCK[killerid] < 999)
    {
    GettingCK[killerid] = 999;
    }
    else if(OnCK[killerid] < 999)
    {
    OnCK[killerid] = 999;
    }
    KickPlayer[playerid] = 1;
    }
    }
    }
    if(PlayerInfo[playerid][pHeadValue] > 0)
    {
    if(IsPlayerConnected(killerid))
    {
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    if(GoChase[killerid] == playerid)
    {
    ConsumingMoney[killerid] = 1;
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
    PlayerInfo[killerid][pMoneys] = PlayerInfo[killerid][pMoneys]+PlayerInfo[killerid][pHeadValue];

    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    PlayerInfo[playerid][pHeadValue] = 0;
    GotHit[playerid] = 0;
    GetChased[playerid] = 999;
    GoChase[killerid] = 999;
    }
    }
    }
    }
    if(victimteam >= 4)
    {
    if(IsPlayerConnected(killerid))
    {
    new slice = 100; //$100
    playercash = GetPlayerMoney(playerid);
    if(gTeam[killerid] != 2 && PlayerInfo[killerid][pMember] != 7)
    {
    WantedLevel[killerid] += 2;
    }
    //+ 2 wanted points
    SetPlayerWantedLevel(playerid,WantedLevel[playerid]);
    if(SafeTime[playerid] <= 0)
    {
    if(gTeam[killerid] != gTeam[playerid])
    {
    if(GetPlayerState(killerid) == 1)
    {
    PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2;
    }
    else
    {
    PlayerInfo[killerid][pKills]++;
    }
    PlayerInfo[playerid][pKills]--;
    }
    }
    if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4))
    {
    slice = 0;
    }
    if (((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid]))//no team kill
    {
    slice = 0;
    }
    if (playercash > 0)
    {
    GivePlayerMoney(playerid, -slice);
    PlayerInfo[playerid][pMoneys] = PlayerInfo[playerid][pMoneys]-slice;
    }
    else
    {
    slice = slice+500;
    }
    GivePlayerMoney(killerid, slice);
    PlayerInfo[killerid][pMoneys] = PlayerInfo[killerid][pMoneys]+slice;
    PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0);
    if (((gTeam[killerid]) == 3) && reason != 49)
    {
    SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
    }
    else if (((gTeam[killerid]) == 3) && reason == 49)
    {
    SetPlayerCriminal(killerid,255, "Fahrerflucht");
    }
    }
    }
    else if (victimteam == 2)
    {
    if(IsPlayerConnected(killerid))
    {
    // Cop kill
    PlayerInfo[playerid][pKills]--;
    if (gTeam[killerid] == 2)//cops kill cop
    {
    PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
    // GivePlayerMoney(killerid, -suecost);
    printf("COP: %s hat %s getoetet!",GetName(killerid),GetName(playerid));
    // GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
    }
    if (gTeam[killerid] >= 3)
    {
    WantedLevel[killerid] += 2; //+ 2 wanted points
    if(reason != 49)
    {
    SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
    }
    else if (reason == 49)
    {
    SetPlayerCriminal(killerid,255, "Fahrerflucht");
    }
    }
    if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0)
    {
    if(GetPlayerState(killerid) == 1)
    {
    PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2;
    }
    else
    {
    PlayerInfo[killerid][pKills]++;
    }
    WantedLevel[killerid]+=2;
    }
    }
    }
    else if (victimteam == 3)
    {
    if(IsPlayerConnected(killerid))
    {
    // Civ kill
    if ((gTeam[killerid]) == 2 || PlayerInfo[killerid][pMember] == 7)//cops kill civ
    {
    if(WantedLevel[playerid] < 1)
    {
    PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
    printf("COP: %s hat Zivilist %s getoetet!(Ohne Wanteds)",GetName(killerid),GetName(playerid));
    //GivePlayerMoney(killerid, -suecost);
    //GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
    }
    }
    else
    {
    WantedLevel[killerid] += 2;
    }
    if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49)
    {
    SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
    }
    else if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49)
    {
    SetPlayerCriminal(killerid,255, "Fahrerflucht");
    }
    }
    }
    else if (victimteam == 1)
    {
    if(IsPlayerConnected(killerid))
    {
    // Civ kill
    if ((gTeam[killerid]) == 2)//cops kill civ
    {
    PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
    printf("COP: %s hat Zivilist %s getoetet!(Ohne Wanteds)",GetName(killerid),GetName(playerid));
    // GivePlayerMoney(killerid, -suecost);
    //GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
    }
    else if ((gTeam[killerid]) == 1)//med kill civ
    {
    printf("Medic: %s hat Zivilist %s getoetet!",GetName(killerid),GetName(playerid));
    // GivePlayerMoney(killerid, -suecost);
    //GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
    }
    if (((gTeam[killerid]) == 4) && reason != 49)
    {
    SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
    }
    else if (((gTeam[killerid]) == 3) && reason == 49)
    {
    SetPlayerCriminal(killerid,255, "Fahrerflucht");
    }
    }
    }
    if (victimteam >= 3 && WantedLevel[playerid] > 0 && killerteam == 2)
    {
    SetPlayerFree(playerid,killerid, "Gekillt");
    }
    // killerid = INVALID_PLAYER_ID;
    SetPlayerColor(playerid,COLOR_GRAD2);
    return 1;
    }

    Beim PayDay:
    new steuer;
    for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++)
    {
    if(!strcmp(GetName(playerid), PrivateVehicle[playerid][vehSlot][vehBesitzer], true))
    {
    if(IsValidVehicle(PrivateVehicle[playerid][vehSlot][vehID]))
    {
    for(new i = 0; i < sizeof(Vehicle Shop), i++)
    {
    if(PrivateVehicle[playerid][vehSlot][modelid] == VehicleShop[i][modelid])
    {
    steuer += VehicleShop[i][KFZSteuer];
    break;
    }
    }
    }
    }
    }
    printf("KFZ Steuer: %d", steuer);


    muss ich das einfach nur durch 100 oder durch 1000?

    Dass aktuell durch 10 ist, müsste es dann durch 1000 sein.

    Genau das macht der Code, den ich dir gegeben habe.


    Du musst lediglich PlayerInfo[playerid][pPayDayTime] beim SpielerSpeichern speichern und beim Login wieder aus der Datenbank/Datei laden, aber das ist ja klar.

    aber die Zeit bis zum PayDay soll einfach gespeichert werden

    Was heißt das?
    Ich kenne die beiden Server nicht, erkläre daher bitte genau, wie du es haben willst.



    Und unterlasse bitte die Vollzitate, es macht keinen Sinn, dass du den Quelltext, den ich postet habe, zitierst.

    Das kannst du wesentlich einfacher machen, indem du einfach einen einzigen Timer bei OnGameModeInit startest, und diesen immer für alle Spieler ausführst:
    public PayDayAbzug()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
    PlayerInfo[i][pPayDayTime]++;
    if(PlayerInfo[i][pPayDayTime] >= 60)
    {
    //PayDayForPlayer(i);
    PlayerInfo[i][pPayDayTime] = 0;
    SendClientMessage(i,-1,"yo-ho hahaha du hast payday yoo");
    }
    else
    {
    SendClientMessage(i,-1,"get schwiftyyy alter du hast eine minute");
    }
    }
    return 1;
    }


    Und bei OnGameModeInit einfach nur:
    SetTimer("PayDayAbzug", 60000, true);

    Vor:
    if((GetMoney(playerid) - VehicleShop[i][Preis]) < 0)


    Das einfügen:
    if(PlayerInfo[playerid][pLevel] < VehicleShop[i][Level])
    {
    SendClientMessage(playerid, COLOR_WHITE, ERROR_LEVEL);
    SetCameraBehindPlayer(playerid);
    UnfreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
    return 1;
    }


    PlayerInfo[playerid][pLevel] und ERROR_LEVEL entsprechend anpassen, wie es bei dir heißt.

    Pastebin.com


    Du kannst es aber auch hier sauber posten (was besser ist).
    Einfach den Code aus der .pwn Datei heraus kopieren und hier nicht den WYSIWYG Editor nutzen, sondern den Code-Editor (ersten Button anklicken).
    Dann den Code zwischen [pwn][/pwn] einfügen, und schon sieht es sauber aus.
    Lediglich bearbeiten solltest du den Post dann nicht mehr, sonst steht alles in einer Zeile.


    Alternativ, nutze den "Code"-Tag (</> Zeichen) und wähle den C-Code, dann geht auch die Bearbeiten Funktion, sowie der WYSIWYG Editor.