Beiträge von Tirus

    damit : AddVehicleComponent(GetPlayerVehicleID(playerid),1010)
    __________________________________________________________________________


    Problem mit Dynamischen Payday
    Mein PAyday sollte eigentlich für jeden einzeln geben und zwar immer nach einer Stunde spielzeit das hab ich soweit auch hingekriegt allerdings habe ich ein Problem mit dem Timer
    das ist der Timer:


    public pimer(playerid)
    {
    SendClientMessage(playerid,COLOR_WHITE,"tick tack");//<<<<<<<<< Zur veranschaulichung
    PlayerInfo[playerid][pPlaytime] = PlayerInfo[playerid][pPlaytime]+1 ;


    if(PlayerInfo[playerid][pSincePayday] >= 60)
    {
    PlayerInfo[playerid][pSincePayday] = 0;
    PayDay(playerid);

    }
    else
    {
    PlayerInfo[playerid][pSincePayday] = PlayerInfo[playerid][pSincePayday]+1;
    }
    return 1;
    }


    und ingame habe ich jetzt das Problem hier: mit Tick TAck wird der ganze Chat (bis obenhin vllt. mehr) zugespammt


    gestartet wird der Timer unter Onplayerlogin


    pimerday[playerid] = SetTimerEx("pimer",6000,1,"i",playerid);


    gekillt unter onplayerdisconnect
    public OnPlayerDisconnect(playerid)
    {
    KillTimer(pimerday[playerid]);
    ........


    forward pimer(playerid);
    new pimerday[MAX_PLAYERS];

    Da es hier im Forum erst ein Tutorial gibt zum Wantedspeichern und dieses Fehlerhaft ist und bei den Meisten nicht funktioniert habe ich ein Neues gemacht


    Als erstes suchen wir nach :


    enum pInfo


    und fügen dort über
    pCrimes,
    Wantedlvl,
    ein dann sollte alles so aussehen


    enum pInfo
    {
    pKey[128],
    pLevel,
    pAdmin,
    pDonateRank,
    gPupgrade,
    pConnectTime,
    pReg,
    pSex,
    pAge,
    pOrigin,
    pCK,
    pMuted,
    pExp,
    pCash,
    pAccount,
    Wantedlvl,//<<<<<<<<<<<<<<<<<<<<
    pCrimes,
    pKills,
    pDeaths,
    pArrested,
    pWantedDeaths,
    pPhoneBook,
    pLottoNr,
    pFishes,
    pBiggestFish,
    pJob,
    pPayCheck,
    pHeadValue,
    pJailed,
    .........



    DAnn unter


    public OnPlayerConnect(playerid)



    ...............
    PlayerInfo[playerid][pAge] = 0;
    PlayerInfo[playerid][pOrigin] = 0;
    PlayerInfo[playerid][pExp] = 0;
    PlayerInfo[playerid][pAccount] = 0;
    PlayerInfo[playerid][Wantedlvl] = 0;//<<<<<<<<<<<<<<<<< einfügen über pCrimes
    PlayerInfo[playerid][pCrimes] = 0;
    PlayerInfo[playerid][pDeaths] = 0;
    PlayerInfo[playerid][pArrested] = 0;
    PlayerInfo[playerid][pWantedDeaths] = 0;
    ...................


    Unter:


    public OnPlayerRegister



    .....................
    format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
    format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
    format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pAccount]);fwrite(hFile, var);
    format(var, 32, "Wanteds=%d\n",PlayerInfo[playerid][Wantedlvl]);fwrite(hFile, var);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    format(var, 32, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    ..................


    unter:


    public OnPlayerUpdate



    ...............
    format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
    format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pAccount]);fwrite(hFile, var);
    format(var, 32, "Wanteds=%d\n",PlayerInfo[playerid][Wantedlvl]);fwrite(hFile, var);//<<<<<<<<<<<<<<<<<<<
    format(var, 32, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
    ..............


    Unter:
    public OnPlayerLogin



    if( strcmp( key , "Respect" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pExp] = strval( val ); }
    if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
    if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAccount] = strval( val ); }
    if( strcmp( key , "Wanteds" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][Wantedlvl] = strval( val ); }//<<<<<<<<<<<<<<<<<<<<<<
    SetPlayerWantedLevel(playerid,PlayerInfo[playerid][Wantedlvl]);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    if( strcmp( key , "Crimes" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCrimes] = strval( val ); }
    if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }


    Das wars mit dem Speichern kommen wir nun zu dem /wanted und /Su Befehl


    /suspect (Erfordert DCMD und Sscanf Grundkenntnisse)



    dcmd_su(playerid,params[]) {
    new
    sGrund[128],
    pID;
    if(sscanf(params, "us",pID,sGrund)) {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /su [playerid] [grund]");
    }
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    if(!IsACop (playerid))
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein COP");
    }
    if(IsACop (pID))
    {
    // return SendClientMessage(playerid,COLOR_RED,"Du kannst keine Cops anzeigen");
    }

    new
    ThePlayer[MAX_PLAYER_NAME],
    admin[MAX_PLAYER_NAME],
    sumsg1[128],
    sumsg2[128];


    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID)+1);

    format(sumsg1,sizeof(sumsg1),"%s wurde von %s wegen %s angezeigt.",ThePlayer,admin,sGrund);
    format(sumsg2,sizeof(sumsg2),"%s hat dich wegen %s angezeigt",admin,sGrund);
    SendClientMessage(pID,COLOR_RED,sumsg2);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsACop (i))
    {
    SendClientMessage(i,COLOR_YELLOW,sumsg1); // Sendet SUmsg1 an alle die unter IsACop definiert wurden
    }
    }
    if(PlayerInfo[pID][Wantedlvl] == 0)
    {
    PlayerInfo[pID][Wantedlvl] = 1; //setzt das Wantedlvl aus dem Enum oben auf 1 wenn man davor 0 hatte Also 1 Wantedlvl beim Wiedereinloggen das ist sehr wichtig fürs speichern
    }
    else if(PlayerInfo[pID][Wantedlvl] == 1)
    {
    PlayerInfo[pID][Wantedlvl] = 2;
    }
    else if(PlayerInfo[pID][Wantedlvl] == 2)
    {
    PlayerInfo[pID][Wantedlvl] = 3;
    }
    else if(PlayerInfo[pID][Wantedlvl] == 3)
    {
    PlayerInfo[pID][Wantedlvl] = 4;
    }
    else if(PlayerInfo[pID][Wantedlvl] == 4)
    {
    PlayerInfo[pID][Wantedlvl] = 5;
    }
    else if(PlayerInfo[pID][Wantedlvl] == 5)
    {
    PlayerInfo[pID][Wantedlvl] = 6;
    }
    else if(PlayerInfo[pID][Wantedlvl] == 6)
    {
    PlayerInfo[pID][Wantedlvl] = 6;
    }


    return 1;
    }


    /wanted




    if(strcmp(cmd, "/wanted", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid))
    {
    new x;
    SendClientMessage(playerid, COLOR_GREEN, "Momentan Gesuchte:");
    for(new i=0; i < MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerWantedLevel(i) >= 1)
    {
    GetPlayerName(i, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "%s%s: %d Wanteds", string,giveplayer,GetPlayerWantedLevel(i));
    x++;
    if(x > 3) {
    SendClientMessage(playerid, COLOR_YELLOW, string);
    x = 0;
    format(string, sizeof(string), "");
    } else {
    format(string, sizeof(string), "%s, ", string);
    }
    }
    }
    }
    if(x <= 3 && x > 0) {
    string[strlen(string)-2] = '.';
    SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI / National Guard !");
    }
    }//not connected
    return 1;
    }



    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    habe den Befehl so wie beschrieben gemacht allerdings gewinnt man immer


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/zufall", true) == 0)//Befehl beginnt
    {
    new geld = random(100);
    new zufall = random(2);//zufall wird erstellt und wird 1 oder 2 ausspucken
    if(zufall == 1)//Wenn zufall 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Du hast gewonnen!");//Befehl der sagt das man gewonnen hat
    GivePlayerMoney(playerid,geld);//Halt der Gewinn. Hier 1$
    return 1;//Befehl Ende
    }
    else if(zufall == 2)//aber wenn zufall 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast verloren!");//Nachricht das man verloren hat
    GivePlayerMoney(playerid,-geld);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    return 1;
    }
    return 0;
    }


    new rand(3);


    switch(rand)
    case 0: { // Route 1 }
    case 1: { // Route 2 }
    case 2: { // Route 3 }
    case 3: { // Route 4 }


    so gehts doch auch das Defien ist überflüßig außer du benutzt MAX_ROUTEs noc hwo anders

    omg ihr idioten anstatt ihm zu helfen hackt ihr auf der Rechtschreibung rum -.-
    wenn du es korrigieren kannst, konntest du es auch lesen...


    zu 1. Suche in deinem Script nach dieser ZEile
    DisableInteriorEnterExits();


    und entferne die dann sind alle eingänge da


    Zu dem Wetter vllt. kannst du es ja machen mit


    SetplayerWeather
    und
    GetPlayerVirtualworld
    und nem
    Timer

    vielen dank meiens geht nun und ich weiß dass wiki wieder on ist.


    aber egal was man macht man wird gebannt im Klassenauswahlmenü.


    public antiwaffen(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new waffen = GetPlayerWeapon(i);
    if(waffen == 9 || waffen == 10 || waffen == 11 || waffen == 12 || waffen == 13 || waffen == 14 || waffen == 15 || waffen == 17 || waffen == 18 || waffen == 26 || waffen == 27 || waffen == 28 || waffen == 32 || waffen == 34 || waffen == 37 || waffen == 38 || waffen == 39 || waffen == 40 || waffen == 41 || waffen == 42 || waffen == 43 || waffen == 44 || waffen == 45 && !IsPlayerAdmin(playerid))
    {
    new pname[MAX_PLAYER_NAME];
    new string[100];

    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "-=[A.B.U.K.S.]=- %s wurde wegen WaffenHack gekickt!", pname);
    SendClientMessageToAll(COLOR_RED, string);
    Kick(i);
    }

    new Float:lebenleben,
    Float:rustungleben;


    new leben = GetPlayerHealth(i,lebenleben);
    new rustung = GetPlayerArmour(i,rustungleben);
    else if(leben >= 101 || rustung >= 101 && !IsPlayerAdmin(playerid))
    {


    new name[MAX_PLAYER_NAME];
    new string2[100];


    GetPlayerName(playerid, name, sizeof(name));
    format(string2, sizeof(string2), "-=[A.B.U.K.S.]=- %s wurde wegen Lebenhack gekickt!", name);
    SendClientMessageToAll(COLOR_RED, string2);
    Kick(i);
    }
    new RPG = GetPlayerWeapon(i);

    else if(RPG == 36 && gTeam[playerid] == TEAM_Rusia || gTeam[playerid] == TEAM_Romania || gTeam[playerid] == TEAM_USA || gTeam[playerid] == TEAM_Germany )
    {
    new name1[MAX_PLAYER_NAME];
    new string1[100];


    GetPlayerName(playerid, name1, sizeof(name1));
    format(string1, sizeof(string1), "-=[A.B.U.K.S.]=- %s wurde wegen WaffenHack gekickt!", name1);
    SendClientMessageToAll(COLOR_RED, string1);
    Kick(i);
    }
    else{}
    }
    return 1;
    }