Beiträge von James.Spader

    Guten Tag / Abend oder was auch immer, liebe Community, ;)


    Ich habe das Problem, es wird InGame erst ca. ab 22 Uhr so richtig dunkel, aber ich würde es gern so haben, das es schon um 21 / 20 Uhr so richtig dunkel ist, und es erst um 6 / 7 Uhr heller wird.
    Ich weiß leider nicht wie ich dies mache, vielleicht könnt ihr ja helfen.


    Die Zeilen:

    #include <a_samp>
    #include <JunkBuster>
    #define FILTERSCRIPT


    new Text:Time, Text:Date;


    forward settime(playerid);


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Uhrzeit-System by ***");
    print("--------------------------------------\n");


    SetTimer("settime",1000,true);


    Date = TextDrawCreate(547.000000,11.000000,"--");


    TextDrawFont(Date,3);
    TextDrawLetterSize(Date,0.399999,1.600000);
    TextDrawColor(Date,0xffffffff);


    Time = TextDrawCreate(547.000000,28.000000,"--");


    TextDrawFont(Time,3);
    TextDrawLetterSize(Time,0.399999,1.600000);
    TextDrawColor(Time,0xffffffff);
    return 1;
    }


    public OnFilterScriptExit()
    {
    print("\n--------------------------------------");
    print(" Uhrzeit-System by ***");
    print("--------------------------------------\n");
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    TextDrawShowForPlayer(playerid, Time), TextDrawShowForPlayer(playerid, Date);



    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    TextDrawHideForPlayer(playerid, Time), TextDrawHideForPlayer(playerid, Date);
    return 1;
    }


    public settime(playerid)
    {
    new string[256],year,month,day,hours,minutes,seconds;
    getdate(year, month, day), gettime(hours, minutes, seconds);
    format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
    TextDrawSetString(Date, string);
    format(string, sizeof string, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds);
    TextDrawSetString(Time, string);
    }


    Ich hoffe ihr könnt helfen.





    MfG,
    James.

    Liebe Community,
    Ich habe das Problem, wenn ich in ein Haus rein gehe, und wieder raus will spawne ich nicht vor dem Haus wo ich rein gegangen bin.
    Hier sind ein paar Scriptings, vielleicht können diese weiterhelfen.



    new HouseInfo[35][hInfo];



    enum hInfo
    {
    Float:hEntrancex,
    Float:hEntrancey,
    Float:hEntrancez,
    Float:hExitx,
    Float:hExity,
    Float:hExitz,
    hHealthx,
    hHealthy,
    hHealthz,
    hArmourx,
    hArmoury,
    hArmourz,
    hOwner[MAX_PLAYER_NAME],
    hDiscription[MAX_PLAYER_NAME],
    hValue,
    hHel,
    hArm,
    hInt,
    hLock,
    hOwned,
    hRooms,
    hRent,
    hRentabil,
    hTakings,
    hVec,
    hVcol1,
    hVcol2,
    hDate,
    hLevel,
    Text3D:Text,
    };


    Unter SetPlayerSpawn

    if(house !=255)
    {
    if(SpawnChange[playerid]) //If 1, then you get to your house, else spawn somewhere else
    {
    SetPlayerColor(playerid, COLOR_ZIVI);
    SetPlayerInterior(playerid,HouseInfo[house][hInt]);
    SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity],HouseInfo[house][hExitz]); // Warp the player
    PlayerInfo[playerid][pLocal] = house;
    PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
    return 1;
    }
    }



    public LoadProperty()
    {
    new arrCoords[29][64];
    new strFromFile2[256];
    new File: file = fopen("property.cfg", io_read);
    if (file)
    {
    new idx;
    while (idx < sizeof(HouseInfo))
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, ',');
    HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
    HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
    HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
    HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
    HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
    HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
    HouseInfo[idx][hHealthx] = strval(arrCoords[6]);
    HouseInfo[idx][hHealthy] = strval(arrCoords[7]);
    HouseInfo[idx][hHealthz] = strval(arrCoords[8]);
    HouseInfo[idx][hArmourx] = strval(arrCoords[9]);
    HouseInfo[idx][hArmoury] = strval(arrCoords[10]);
    HouseInfo[idx][hArmourz] = strval(arrCoords[11]);
    //printf("HouseInfo hEntrancez %f",HouseInfo[idx][hEntrancez]);
    strmid(HouseInfo[idx][hOwner], arrCoords[12], 0, strlen(arrCoords[12]), 255);
    strmid(HouseInfo[idx][hDiscription], arrCoords[13], 0, strlen(arrCoords[13]), 255);
    HouseInfo[idx][hValue] = strval(arrCoords[14]);
    HouseInfo[idx][hHel] = strval(arrCoords[15]);
    HouseInfo[idx][hArm] = strval(arrCoords[16]);
    HouseInfo[idx][hInt] = strval(arrCoords[17]);
    HouseInfo[idx][hLock] = strval(arrCoords[18]);
    HouseInfo[idx][hOwned] = strval(arrCoords[19]);
    HouseInfo[idx][hRooms] = strval(arrCoords[20]);
    HouseInfo[idx][hRent] = strval(arrCoords[21]);
    HouseInfo[idx][hRentabil] = strval(arrCoords[22]);
    HouseInfo[idx][hTakings] = strval(arrCoords[23]);
    HouseInfo[idx][hVec] = strval(arrCoords[24]);
    if(HouseInfo[idx][hVec] == 457)
    {
    HouseInfo[idx][hVec] = 411;
    }
    HouseInfo[idx][hVcol1] = strval(arrCoords[25]);
    HouseInfo[idx][hVcol2] = strval(arrCoords[26]);
    HouseInfo[idx][hDate] = strval(arrCoords[27]);
    HouseInfo[idx][hLevel] = strval(arrCoords[28]);
    printf("HouseInfo:%d Owner:%s hTakings %d hVec %d",idx,HouseInfo[idx][hOwner],HouseInfo[idx][hTakings],HouseInfo[idx][hVec]);
    idx++;
    }
    fclose(file);
    }
    return 1;
    }


    Unter OnGameModeInit

    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    new string2[128];
    if(HouseInfo[h][hOwned] == 0)
    {
    format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[h][hDiscription],HouseInfo[h][hValue],HouseInfo[h][hLevel]);
    HouseInfo[h][Text] = Create3DTextLabel(string2,COLOR_GRAD1,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+1,15.0,0);
    AddStaticPickup(1273, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 0);
    pickups++;
    }
    if(HouseInfo[h][hOwned] == 1 && HouseInfo[h][hRentabil] == 0)
    {
    format(string2, sizeof(string2), "[Haus]\nBesitzer: %s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    HouseInfo[h][Text] = Create3DTextLabel(string2,COLOR_GRAD1,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+1,15.0,0);
    AddStaticPickup(1239, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 0);
    pickups++;
    }
    if(HouseInfo[h][hOwned] == 1 && HouseInfo[h][hRentabil] >= 1)
    {
    format(string2, sizeof(string2), "[Haus]\nBesitzer: %s\nLevel: %d\nMiete: $%d\nEinmieten mit /rentroom",HouseInfo[h][hOwner],HouseInfo[h][hLevel],HouseInfo[h][hRent]);
    HouseInfo[h][Text] = Create3DTextLabel(string2,COLOR_GRAD1,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+1,15.0,0);
    AddStaticPickup(1239, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 0);
    pickups++;
    }


    }



    public DateProp(playerid)
    {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    new curdate = getdate();
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if (strcmp(playername, HouseInfo[h][hOwner], true) == 0)
    {
    HouseInfo[h][hDate] = curdate;
    OnPropUpdate();
    }
    }
    return 1;
    }



    public Checkprop()
    {
    new olddate;
    new string[256];
    new curdate = getdate();
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(HouseInfo[h][hOwned] == 1 && HouseInfo[h][hDate] > 9)
    {
    olddate = HouseInfo[h][hDate];
    if(curdate-olddate >= 5)
    {
    HouseInfo[h][hHel] = 0;
    HouseInfo[h][hArm] = 0;
    HouseInfo[h][hHealthx] = 0;
    HouseInfo[h][hHealthy] = 0;
    HouseInfo[h][hHealthz] = 0;
    HouseInfo[h][hArmourx] = 0;
    HouseInfo[h][hArmoury] = 0;
    HouseInfo[h][hArmourz] = 0;
    HouseInfo[h][hLock] = 1;
    HouseInfo[h][hOwned] = 0;
    //HouseInfo[h][hVec] = 418;
    HouseInfo[h][hVcol1] = -1;
    HouseInfo[h][hVcol2] = -1;
    strmid(HouseInfo[h][hOwner], "Der Staat", 0, strlen("Der Staat"), 255);
    format(string, sizeof(string), "REAL ESTATE: Ein Haus ist verfügbar: $%d",HouseInfo[h][hValue]);
    SendClientMessageToAll(TEAM_BALLAS_COLOR, string);
    OnPropUpdate();
    }
    }
    }
    return 1;
    }



    public OnPropUpdate()
    {
    new idx;
    new File: file2;
    while (idx < sizeof(HouseInfo))
    {
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
    HouseInfo[idx][hEntrancex],
    HouseInfo[idx][hEntrancey],
    HouseInfo[idx][hEntrancez],
    HouseInfo[idx][hExitx],
    HouseInfo[idx][hExity],
    HouseInfo[idx][hExitz],
    HouseInfo[idx][hHealthx],
    HouseInfo[idx][hHealthy],
    HouseInfo[idx][hHealthz],
    HouseInfo[idx][hArmourx],
    HouseInfo[idx][hArmoury],
    HouseInfo[idx][hArmourz],
    HouseInfo[idx][hOwner],
    HouseInfo[idx][hDiscription],
    HouseInfo[idx][hValue],
    HouseInfo[idx][hHel],
    HouseInfo[idx][hArm],
    HouseInfo[idx][hInt],
    HouseInfo[idx][hLock],
    HouseInfo[idx][hOwned],
    HouseInfo[idx][hRooms],
    HouseInfo[idx][hRent],
    HouseInfo[idx][hRentabil],
    HouseInfo[idx][hTakings],
    HouseInfo[idx][hVec],
    HouseInfo[idx][hVcol1],
    HouseInfo[idx][hVcol2],
    HouseInfo[idx][hDate],
    HouseInfo[idx][hLevel]);
    if(idx == 0)
    {
    file2 = fopen("property.cfg", io_write);
    }
    else
    {
    file2 = fopen("property.cfg", io_append);
    }
    fwrite(file2, coordsstring);
    idx++;
    fclose(file2);
    }
    idx = 0;
    while (idx < sizeof(BizzInfo))
    {
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%d|%s|%s|%s|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
    BizzInfo[idx][bOwned],
    BizzInfo[idx][bOwner],
    BizzInfo[idx][bMessage],
    BizzInfo[idx][bExtortion],
    BizzInfo[idx][bEntranceX],
    BizzInfo[idx][bEntranceY],
    BizzInfo[idx][bEntranceZ],
    BizzInfo[idx][bExitX],
    BizzInfo[idx][bExitY],
    BizzInfo[idx][bExitZ],
    BizzInfo[idx][bLevelNeeded],
    BizzInfo[idx][bBuyPrice],
    BizzInfo[idx][bEntranceCost],
    BizzInfo[idx][bTill],
    BizzInfo[idx][bLocked],
    BizzInfo[idx][bInterior],
    BizzInfo[idx][bProducts],
    BizzInfo[idx][bMaxProducts],
    BizzInfo[idx][bPriceProd]);
    if(idx == 0)
    {
    file2 = fopen("bizz.cfg", io_write);
    }
    else
    {
    file2 = fopen("bizz.cfg", io_append);
    }
    fwrite(file2, coordsstring);
    idx++;
    fclose(file2);
    }
    idx = 0;
    while (idx < sizeof(SBizzInfo))
    {
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%d|%s|%s|%s|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
    SBizzInfo[idx][sbOwned],
    SBizzInfo[idx][sbOwner],
    SBizzInfo[idx][sbMessage],
    SBizzInfo[idx][sbExtortion],
    SBizzInfo[idx][sbEntranceX],
    SBizzInfo[idx][sbEntranceY],
    SBizzInfo[idx][sbEntranceZ],
    SBizzInfo[idx][sbLevelNeeded],
    SBizzInfo[idx][sbBuyPrice],
    SBizzInfo[idx][sbEntranceCost],
    SBizzInfo[idx][sbTill],
    SBizzInfo[idx][sbLocked],
    SBizzInfo[idx][sbInterior],
    SBizzInfo[idx][sbProducts],
    SBizzInfo[idx][sbMaxProducts],
    SBizzInfo[idx][sbPriceProd]);
    if(idx == 0)
    {
    file2 = fopen("sbizz.cfg", io_write);
    }
    else
    {
    file2 = fopen("sbizz.cfg", io_append);
    }
    fwrite(file2, coordsstring);
    idx++;
    fclose(file2);
    }
    return 1;
    }



    if(strcmp(cmd, "/buyhouse", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
    {
    if(PlayerInfo[playerid][pOwnPerso] == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du benötigst einen Personalausweis !");
    return 1;
    }
    if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
    {
    format(string, sizeof(string), " Du must mindestens Level %d um es zu kaufen !", HouseInfo[h][hLevel]);
    SendClientMessage(playerid, COLOR_GRAD5, string);
    return 1;
    }
    if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Dir gehört bereits ein Haus, gib /hc ein und verkaufe es!");
    return 1;
    }
    if(GetPlayerMoney(playerid) > HouseInfo[h][hValue])
    {
    PlayerInfo[playerid][pPhousekey] = h;
    HouseInfo[h][hOwned] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
    new string2[128];
    format(string2, sizeof(string2), "[Haus]\nBesitzer: %s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    Update3DTextLabelText(HouseInfo[h][Text],COLOR_GRAD1,string2);
    HouseInfo[h][hRentabil] = 0;
    GivePlayerMoney(playerid,-HouseInfo[h][hValue]);
    PlayerPlayMusic(playerid);
    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
    SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen zu Hause~n~Du kannst das Haus an deiner Haustür mit der Enter-Taste verlassen.", 5000, 3);
    PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
    PlayerInfo[playerid][pLocal] = h;
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation zu deinem neuen Haus !");
    SendClientMessage(playerid, COLOR_WHITE, "Gib /help um Hilfe zu bekommen !");
    DateProp(playerid);
    OnPropUpdate();
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genug Geld!");
    return 1;
    }
    }
    }
    }
    return 1;
    }



    if(strcmp(cmd, "/rentroom", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 1 && HouseInfo[h][hRentabil] == 1)
    {
    if(PlayerInfo[playerid][pOwnPerso] == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du benötigst einen Personalausweis");
    return 1;
    }
    if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, " Die gehört bereits ein Haus, gib /hc ein und verkaufe es!");
    return 1;
    }
    if(GetPlayerMoney(playerid) > HouseInfo[h][hRent])
    {
    PlayerInfo[playerid][pPhousekey] = h;
    GivePlayerMoney(playerid,-HouseInfo[h][hRent]);
    HouseInfo[h][hTakings] = HouseInfo[h][hTakings]+HouseInfo[h][hRent];
    PlayerPlayMusic(playerid);
    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
    SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen Zuhause~n~Du kannst dsa Haus mit /exit verlassen.", 5000, 3);
    PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
    PlayerInfo[playerid][pLocal] = h;
    SendClientMessage(playerid, COLOR_WHITE, "Herzlichen Glückwunsch mit deinem Haus!");
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /help um die neuen Befehle zu sehen!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, " Du hast nicht genug Geld !");
    return 1;
    }
    }
    }
    }





    Ich hoffe, ich habe das wichtigste eingefügt, was auch vlt. nützlich sein könnte.
    Ich habe leider keine Ahnung wodran es liegt, ich hoffe ihr könnt helfen. :)





    Mit freundlichen Grüßen,
    James.

    Liebe Community,
    Ich bin bisher sehr weit am Script fortgeschritten, dank euch, für die viele und ausführliche Hilfe, Vielen Dank.


    So nun zu mein Problem,
    Ich habe das Problem wenn ich aus einem Haus raus gehe dann spawne ich bei einen anderen draußen (z.B. vor Nachbarhaus), aber ich gehe in das richtig Haus rein, komme aber halt nicht vor dem selben Haus wieder raus, sondern vor einen anderen.


    Wodran liegt das?
    Ich bitte mal wieder um heute gute Hilfe, nochmals vielen Dank! c:





    MfG
    James.

    Liebe Community,
    Ich habe das Problem wenn ich /wanteds (für gesuchte Spieler (Büger)) eingebe kommt das ich nicht gesucht werde also dort steht nicht meine Name und die Wanteds zahl die ich in der .ini datei eingetragen habe, aber als Wanted wird die gezählt InGame.


    Der Code

    if(strcmp(cmd, "/wanteds", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7 || PlayerInfo[playerid][pAdmin] == 2000)
    {
    new x;
    SendClientMessage(playerid, COLOR_WHITE, "{8A0808}|========== |{FFFF00}Gesuchte Bürger{8A0808}| ==========|");
    for(new i=0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(WantedLevel[i] > 0)
    {
    GetPlayerName(i, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "%s%s[ID:%d]: %d", string,giveplayer,i,WantedLevel[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_GRAD1, "Du hast keine Berechtigung.");
    }
    }//not connected
    return 1;
    }



    MfG
    James.

    Ich gehe mal davon aus das du Dini meinst.
    Ich persönlich habe leider da nur Erfahrung mit MySQL zur Zeit gemacht.
    Aber... Es sollte theorethisch gesehen schon möglich sein. Vielleicht versuchst du einfach den Ansatz und wir (bzw. andere die in Dini viel Erahrung gesammelt haben, da ich als purer Anfänger damals nur so gespeichert habe) unterstützen dich dabei, sodass du es dir teils selber beibringst. Kannst dir ja andere Scripts auch zur Hilfe nehmen.
    Aber... Wenn du so einen Code in den Ar*ch geschoben bekommst, lernst du ja letzendlich auch nichts draus, oder? Oder willst du lieber nix lernen dabei?


    LG


    Jop ich nehme und meinte Dini ^^, naja trotzdem danke für deine antworten :)

    Liebe Community,
    Ich habe eine Frage und dies ist auch gleichzeitig das Problem, ich wollte mal Fragen wie man ein Fahrzeug mit /oparken das Fahrzeug dort parken kann (z.b. in der Oamtbase), was aber kein Privat Fahrzeug ist. Also ich meine das man alle Fahrzeuge parken kann egal ab Privat oder nicht, zudem habe ich dazu das Problem, bei dem Autohaus Filterscript, dort ist ja /flock usw. auch drin, jedoch auch /parken und ich weiß leider dann nicht wie es mit /oparken nur für Ordnungsamt funktionieren soll, es sollte eben auch die Fahrzeug vom AH (Autohaus) FS geparkt werden per /oparken. (Es sollten auch Fraktionsfahrzeuge abschleppbar sein).


    Ich hoffe Ihr könnt mir helfen. | Ich habe leider kein plan wie das geht :(







    Mit freundlichen Grüßen,
    James.

    Liebe Community,
    Ich wollte mal Fragen wie ich die Wanteds die gespeichert worden sind wieder als Wanted aufzurufen, die dann als Wanteds auch im Spiel dann gelten.


    Ich habe es so gespeichert:


    pInfo

    pWanteds,


    OnPlayerConnect

    PlayerInfo[playerid][pWanteds] = 0;


    OnPlayerRegister

    format(var, 32, "Wanteds=%d\n",PlayerInfo[playerid][pWanteds]);fwrite(hFile, var);


    OnPlayerLogin

    PlayerInfo[playerid][pWanteds] = dini_Int(string2, "Wanteds");


    SavePlayer

    format(var, 32, "Wanteds=%d\n",PlayerInfo[playerid][pWanteds]);fwrite(hFile, var);


    Dies steht bei dem Befehl /su

    if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pGangJailed] == 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Wanteds erstellen, weil du im Gangjail bist.");
    return 1;
    }
    if(PlayerInfo[playerid][pMauled] == 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir wurde dein Mund zugeklebt, du kannst nichts sagen.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /su [PlayerID] [Wanted-Anzahl] [Verbrechen]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /su [PlayerID] [Wanted-Anzahl] [Verbrechen]");
    return 1;
    }
    new WantedAnzahl;
    WantedAnzahl = strval(tmp);
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pAdmin] == 2000)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pJailed] > 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Spieler ist im Gefängnis!");
    return 1;
    }
    if(WantedLevel[giveplayerid] >= 101)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Spieler hat bereits 100 oder mehr Wanteds!");
    return 1;
    }
    if (gTeam[giveplayerid] != 2 && !IsACop(giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /su [PlayerID] [Wanted-Anzahl] [Verbrechen]");
    return 1;
    }
    WantedLevel[giveplayerid] += WantedAnzahl;
    PlayerInfo[playerid][pWanteds] = WantedAnzahl; //<----------------------------------------------------------
    format(string, sizeof(string), "{4C66FF}Du hast ein Verbrechen begangen, {FF0000}%s{4C66FF}. Zeuge: {FF0000}%s{4C66FF}.",result,sendername);
    SendClientMessage(giveplayerid, COLOR_IWANTED, string);
    format(string, sizeof(string), "{4C66FF}Vergebene Wanteds: {FF0000}%d{4C66FF}, Neues Wantedlevel: {FF0000}%d{4C66FF}.", WantedAnzahl, WantedLevel[giveplayerid]);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsACop(i))
    {
    format(string, sizeof(string), "{4C66FF}[ZENTRALE]: Alle Einheiten, Reporter: {FF0000}%s{4C66FF}, Vergebene Wanteds: {FF0000}%d{4C66FF}",sendername, WantedAnzahl);
    SendClientMessage(i, COLOR_IWANTED, string);
    format(string, sizeof(string), "{4C66FF}[ZENTRALE]: Verbrechen: {FF0000}%s{4C66FF}, Gesuchter: {FF0000}%s{4C66FF}, Aktuelle Wanteds: {FF0000}%d{4C66FF}",result,giveplayer, WantedLevel[giveplayerid]);
    SendClientMessage(i, COLOR_IWANTED, string);
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen Officer anklagen!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung.");
    }
    }
    return 1;
    }



    Ich hoffe ihr könnt mir helfen. :)



    MfG
    James.

    Liebe Community,
    Mitspieler von meinen Server sind Tod nachdem Sie das erstemal Connected sind (beim Registrieren und beim Login), warum?


    Ich habe dies alle eingefügt:


    OnPlayerConnect:

    SetPlayerHealth(playerid, 100);
    pIstTot[playerid] = 0;
    PlayerInfo[playerid][pTod] = 0;


    SetPlayerSpawn:

    if(PlayerInfo[playerid][pTod] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Durch deine schweren Verletzungen liegst du im Koma.");
    TogglePlayerControllable(playerid, 0);
    ResetPlayerWeapons(playerid);
    SetPlayerSkin(playerid,GetPVarInt(playerid,"tot_Skin"));
    SetPlayerPos(playerid,941.7925,1734.3978,21.1277);
    SetPlayerCameraPos(playerid, 993.5776,1653.3435,10.3279);
    SetPlayerCameraLookAt(playerid, 949.7623,1748.0996,26.2525);
    SetPlayerInterior(playerid, 0);
    return 1;
    }


    OnPlayerDeath

    PlayerInfo[playerid][pTod] = 1;


    OnPlayerSpawn:

    if(PlayerInfo[playerid][pTod] == 1)
    {
    SetPVarInt(playerid,"tot_Skin",GetPlayerSkin(playerid));
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_YELLOW, "|________ | Krankenhaus | ________|");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Durch deine schweren Verletzungen liegst du im Koma!");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Sie sind für 2 bis 3 Minuten im Krankenhaus.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "In 2 bis 3 Minuten kommen Sie wieder raus, da Sie gerade behandelt werden.");
    SetPlayerPos(playerid,941.7925,1734.3978,21.1277);
    SetPlayerCameraPos(playerid, 993.5776,1653.3435,10.3279);
    SetPlayerCameraLookAt(playerid, 949.7623,1748.0996,26.2525);
    TogglePlayerControllable(playerid,0);
    SetPlayerColor(playerid, COLOR_ZIVI);
    ResetPlayerWeapons(playerid);
    return 1;
    }


    OnPlayerLogin:

    pIstTot[playerid] = 0;
    PlayerInfo[playerid][pTod] = 0;


    TOTTimer

    public TOTTimer()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pTod] == 1)
    {
    pIstTot[i] += 1;
    }
    if(PlayerInfo[i][pTod] == 1 && pIstTot[i] == 3)//die 8 ändern in die anzahl der minuten die ihr im KH sein wollt
    {
    PlayerInfo[i][pTod] = 0;
    pIstTot[i] = 0;
    SetPlayerVirtualWorld(i,0);
    SetPlayerSpawn(i);
    SpawnPlayer(i);
    SendClientMessage(i, COLOR_LIGHTGREEN, "Du bist nun aus dem Krankenhaus entlassen!");
    SetPlayerPos(i,957.6639,1733.9774,9.0391);
    SetPlayerSkin(i,GetPVarInt(i,"tot_Skin"));
    TogglePlayerControllable(i,1);
    DestroyPickup(TotenKopf[i]);
    }
    }
    }
    }


    Muss ich dies was bei OnPlayerLogin steht auch bei OnPlayerRegister einfügen?




    Ich hoffe ihr könnt helfen :/



    MfG
    James.

    Möchtest du abfragen ob der Spieler also du admin ist oder der andere der ins Prison soll?


    Ich möchte es so, das ein z.b. Mod keinen höherrangigen Admin in prison stecken kann, aber das man normale spieler in den prison stecken kann. Zudem, steht da immer du hast keine berechtigung.

    Speicher es sobald diese Nachricht kommt.


    Alos muss ich dies auch hier hinmachen:



    if (strcmp(cmd, "/wiederbeleben", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /wiederbeleben [PlayerID]");
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pTod] == 1 && PlayerToPoint(5.0,playerid,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]))
    {
    new pname[256];
    GetPlayerName(i, pname, 256);
    format(string, 256, "» Du hast %s, wiederbelebt!",pname);
    SendClientMessage(playerid, COLOR_WRED, string);
    GetPlayerName(playerid, pname, 256);
    format(string, 256, "» Paramedic %s hat dich wiederbelebt!",pname);
    SendClientMessage(i, COLOR_WRED, string);
    PlayerInfo[i][pTod] = 0;
    pIstTot[i] = 0;
    SetPlayerPos(i,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]);
    SetCameraBehindPlayer(i);
    DestroyPickup(TotenKopf[i]);
    TogglePlayerControllable(i, 1);
    PlayerInfo[i][pTx] = 0.0;
    PlayerInfo[i][pTy] = 0.0;
    PlayerInfo[i][pTz] = 0.0;
    new Float:tempheal;
    GetPlayerHealth(i,tempheal);
    SetPlayerHealth(i,15.0);
    SetPlayerColor(i, COLOR_ZIVI);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung.");
    }
    }
    return 1;
    }

    Liebe Community,
    Ich habe das Problem wenn ich jemanden ins Prison stecken will kommt, Du hast keine Berechtigung. Wie kann ich das fixen?


    Die Zeilen:

    if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    new time_p = strval(tmp);
    if(time_p < 0 ) return 1;
    new lenght = strlen(cmdtext);
    while ((idx < lenght) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < lenght) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    SetPlayerInterior(giveplayerid, 1);
    PlayerInfo[giveplayerid][pJailed] = 1;
    PlayerInfo[giveplayerid][pJailTime] = time_p;
    ResetPlayerWeapons(giveplayerid);
    PlayerInfo[giveplayerid][pInt] = 1;
    format(string, sizeof(string), "%s hat %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), Name(giveplayerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessageToAll(COLOR_IRED, string);
    SetPlayerInterior(giveplayerid, 1);
    SetPlayerPos(giveplayerid, 2144.3108,1635.9301,993.5761);
    SpawnPlayer(giveplayerid);
    new jstr[500];
    format(jstr, sizeof(jstr), "Du wurdest von %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessage(playerid, COLOR_IRED, string);
    return 1;
    }
    }
    }
    }
    return 1;
    }



    Dazu weiß ich leider nicht, wie man das schreibt das man einen höherrangigen Admin nicht einsperren kann.




    MFG
    James.

    SetPVarInt(playerid,"tot_Skin",GetPlayerSkin(playerid);


    Wo müsste ich dies einfügen?


    Hier?

    if(PlayerInfo[playerid][pTod] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_YELLOW, "|________ | Krankenhaus | ________|");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Durch deine schweren Verletzungen liegst du im Koma!");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Sie sind für 2 bis 3 Minuten im Krankenhaus.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "In 2 bis 3 Minuten kommen Sie wieder raus, da Sie gearde behandelt werden.");
    SetPlayerPos(playerid,957.6639,1733.9774,9.0391);
    TogglePlayerControllable(playerid,0);
    SetPlayerColor(playerid, COLOR_ZIVI);
    ResetPlayerWeapons(playerid);
    return 1;
    }


    Hier?

    if (strcmp(cmd, "/wiederbeleben", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /wiederbeleben [PlayerID]");
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pTod] == 1 && PlayerToPoint(5.0,playerid,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]))
    {
    new pname[256];
    GetPlayerName(i, pname, 256);
    format(string, 256, "» Du hast %s, wiederbelebt!",pname);
    SendClientMessage(playerid, COLOR_WRED, string);
    GetPlayerName(playerid, pname, 256);
    format(string, 256, "» Paramedic %s hat dich wiederbelebt!",pname);
    SendClientMessage(i, COLOR_WRED, string);
    PlayerInfo[i][pTod] = 0;
    pIstTot[i] = 0;
    SetPlayerPos(i,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]);
    SetCameraBehindPlayer(i);
    DestroyPickup(TotenKopf[i]);
    TogglePlayerControllable(i, 1);
    PlayerInfo[i][pTx] = 0.0;
    PlayerInfo[i][pTy] = 0.0;
    PlayerInfo[i][pTz] = 0.0;
    new Float:tempheal;
    GetPlayerHealth(i,tempheal);
    SetPlayerHealth(i,15.0);
    SetPlayerColor(i, COLOR_ZIVI);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung.");
    }
    }
    return 1;
    }


    und dies habe ich schon bei TOTTimer eingefügt,



    public TOTTimer()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pTod] == 1)
    {
    pIstTot[i] += 1;
    }
    if(PlayerInfo[i][pTod] == 1 && pIstTot[i] == 3)//die 8 ändern in die anzahl der minuten die ihr im KH sein wollt
    {
    new model = PlayerInfo[i][pChar];
    PlayerInfo[i][pTod] = 0;
    pIstTot[i] = 0;
    SetPlayerVirtualWorld(i,0);
    SetPlayerSpawn(i);
    SpawnPlayer(i);
    SendClientMessage(i, COLOR_LIGHTGREEN, "Du bist nun aus dem Krankenhaus entlassen!");
    SetPlayerPos(i,957.6639,1733.9774,9.0391);
    SetPlayerSkin(playerid,GetPVarInt(playerid,"tot_Skin"); // <---
    TogglePlayerControllable(i,1);
    DestroyPickup(TotenKopf[i]);
    }
    }
    }
    }