Beiträge von J0a9

    Zeig uns mal


    fPrice
    und
    FactionCars[fc]


    FractionsCars habe ich so deffiniert:
    new FactionCars[MAX_FACTION_CARS][fCar];


    Und das hier ist auch fPrice, wenn man es gekauft hat:
    forward FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
    public FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    if(dialogid == DIALOG_FACTION_CAR_BUY){
    if(response){
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllable(playerid,true);
    }
    if(!response){
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
    if(GetFactioncarsOfFaction(GetPlayerLeader(playerid)) < MAX_BUY){
    new Carid1 = GetPlayerVehicleID(playerid);
    for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
    if(Carid1 == FactionBuylist[fbl][fbCarid]){
    new fraktion = 0;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    if(FraktionsKasse[fraktion] >= FactionBuylist[fbl][fbPrice]){
    //if(GetPlayerMoney(playerid) >= FactionBuylist[fbl][fbPrice]){
    //if(CallRemoteFunction("Script_GetPlayerMoney","i",playerid) >= FactionBuylist[fbl][fbPrice]){
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
    FactionCars[fc][fVehid] = FactionBuylist[fbl][fbVehid];
    FactionCars[fc][fPos][0] = FactionBuySpawn[0];
    FactionCars[fc][fPos][1] = FactionBuySpawn[1];
    FactionCars[fc][fPos][2] = FactionBuySpawn[2];
    FactionCars[fc][fPos][3] = FactionBuySpawn[3];
    new Color[2];
    GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
    FactionCars[fc][fCol][0] = Color[0];
    FactionCars[fc][fCol][1] = Color[1];


    FactionCars[fc][fPrice] = FactionBuylist[fbl][fbPrice];
    for(new slot;slot<14;slot++)
    FactionCars[fc][fTuning][slot] = 0;
    FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
    print(">>> Nach dem Autoerstellen!");
    #if defined FACTION_CARS_LOCKABLE
    fLockCar(FactionCars[fc][fCarid]);
    FactionCars[fc][fLock] = true;
    #endif
    for(new f;f<5;f++)
    {
    FactionCars[fc][fFaction][f] = -255;
    }
    FactionCars[fc][fFaction][0] = GetPlayerLeader(playerid);
    PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);
    // GivePlayerMoney(playerid, -FactionBuylist[fbl][fbPrice]);
    FraktionsKasse[fraktion] -= FactionBuylist[fbl][fbPrice];
    SaveFraktionsKassen();
    //CallRemoteFunction("Script_SetPlayerMoney","id",playerid,(CallRemoteFunction("Script_GetPlayerMoney","i",playerid)-FactionBuylist[fbl][fbPrice]));
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Glückwunsch zum neuen Fahrzeug.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Bitte vergesse nicht das Fahrzeug mit: '/fpark' umzuparken.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Das Fahrzeug steht am Ausgabepunkt bereit!");
    return 1;
    }
    }SendClientMessage(playerid,FACTION_COL_GREY,"Die maximale Anzahl von Fraktionsfahrzeugen ist bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du hast nicht genügend Geld auf der Fraktionskasse!");
    break;
    }
    }
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion hat das Limit von Fahrzeugen bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllable(playerid,true);
    }
    }return 1;
    }return 0;
    }


    Lg
    J0a9

    Hallo,
    sry falscherbefehl :D


    Dieses soltle es sein:



    if(strcmp(cmdtext,"/fcarsell",true)==0){
    if(GetPlayerLeader(playerid)){
    if(IsAllowedFactionToBuy(GetPlayerFaction(playerid))){
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    new Carid1 = GetPlayerVehicleID(playerid);
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
    if(Carid1 == FactionCars[fc][fCarid]){
    if(FactionCars[fc][fFaction][0] == GetPlayerLeader(playerid)){
    FactionCars[fc][fVehid] = -255;
    if(DestroyVehicle(FactionCars[fc][fCarid]))
    FactionCars[fc][fCarid] = -255;
    new fText[178];
    format(fText,sizeof(fText),"Du hast das Fraktionsfahrzeug erfolgreich für $%d(50%% vom Kaufpreis) verkauft.",(FactionCars[fc][fPrice]/2));
    SendClientMessage(playerid,FACTION_COL_YELLOW,fText);
    GivePlayerMoney(playerid,(FactionCars[fc][fPrice]/2));
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht der besitzer dieses Fahrzeuges.");
    return true;
    }
    }
    }SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du musst der Fahrer eines Fahrzeuges sein.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion ist dazu nicht berechtigt.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
    return true;
    }

    Hallo Breadfish-Communty,


    ich habe ein folgendes Problem und zwar hatte ich vor einen Fraktionsautohaus zu scripten und ich habe dabei ein folgendes Problem, das wenn ich es verkaufen (mit /fcarsell) verschwindet das Auto es ist auch in der Datenbank dann gespeichert man bekommt aber nicht die Hälfte des Preises...


    Der Befehl lautet:
    if(strcmp(cmdtext,"/lfa",true)==0){
    if(GetPlayerAdminLevel(playerid) >= NEEDED_ADMINLEVEL){
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
    new Float:fX,Float:fY,Float:fZ;
    GetVehiclePos(FactionCars[fc][fCarid],fX,fY,fZ);
    if(IsPlayerInRangeOfPoint(playerid,4.0,fX,fY,fZ)){
    FactionCars[fc][fVehid] = -255;
    if(DestroyVehicle(FactionCars[fc][fCarid])){
    FactionCars[fc][fCarid] = -255;
    }return SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug entfernt.");
    }
    }
    }
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
    return true;
    }


    das dazugehöriges Enum:


    enum fCar
    {
    fCarid,
    fVehid,
    Float:fPos[4],
    fCol[2],
    fFaction[5],
    fTuning[14],
    fPrice,
    fCarArrest,
    #if defined FACTION_CARS_LOCKABLE
    bool:fLock
    #endif
    };


    Forwards zum Abspeichern:


    forward LoadFactionCars();
    forward SaveFactionCars(bool:destroy);
    forward LockFactionCarDoors();
    forward DestroyAndCreateFactionCar(fc);


    Hier die Speicherfunktion:
    public LoadFactionCars(){
    if(!fexist(FACTION_CAR_FILE)){
    new File:tfFile=fopen(FACTION_CAR_FILE,io_write);
    fclose(tfFile);
    }
    new File:fFile=fopen(FACTION_CAR_FILE,io_read),Content[1024],fc;
    while(fread(fFile,Content) && fc<sizeof(FactionCars)){
    StripNewLine(Content);
    sscanf(Content,"dffffdddddddddddddddddddddd",
    FactionCars[fc][fVehid],
    FactionCars[fc][fPos][0],
    FactionCars[fc][fPos][1],
    FactionCars[fc][fPos][2],
    FactionCars[fc][fPos][3],
    FactionCars[fc][fCol][0],
    FactionCars[fc][fCol][1],
    FactionCars[fc][fFaction][0],
    FactionCars[fc][fFaction][1],
    FactionCars[fc][fFaction][2],
    FactionCars[fc][fFaction][3],
    FactionCars[fc][fFaction][4],
    FactionCars[fc][fTuning][0],
    FactionCars[fc][fTuning][1],
    FactionCars[fc][fTuning][2],
    FactionCars[fc][fTuning][3],
    FactionCars[fc][fTuning][4],
    FactionCars[fc][fTuning][5],
    FactionCars[fc][fTuning][6],
    FactionCars[fc][fTuning][7],
    FactionCars[fc][fTuning][8],
    FactionCars[fc][fTuning][9],
    FactionCars[fc][fTuning][10],
    FactionCars[fc][fTuning][11],
    FactionCars[fc][fTuning][12],
    FactionCars[fc][fTuning][13],
    FactionCars[fc][fPrice]);
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
    FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
    #if defined FACTION_CARS_LOCKABLE
    fLockCar(FactionCars[fc][fCarid]);
    FactionCars[fc][fLock] = true;
    #endif
    #if defined FACTION_CARS_TUNEABLE
    if(IsAllowedFactionToTune(FactionCars[fc][fFaction][0])){
    if(FactionCars[fc][fTuning][0] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][0]); }
    if(FactionCars[fc][fTuning][1] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][1]); }
    if(FactionCars[fc][fTuning][2] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][2]); }
    if(FactionCars[fc][fTuning][3] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][3]); }
    if(FactionCars[fc][fTuning][4] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][4]); }
    if(FactionCars[fc][fTuning][5] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][5]); }
    if(FactionCars[fc][fTuning][6] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][6]); }
    if(FactionCars[fc][fTuning][7] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][7]); }
    if(FactionCars[fc][fTuning][8] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][8]); }
    if(FactionCars[fc][fTuning][9] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][9]); }
    if(FactionCars[fc][fTuning][10] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][10]); }
    if(FactionCars[fc][fTuning][11] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][11]); }
    if(FactionCars[fc][fTuning][12] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][12]); }
    if(FactionCars[fc][fTuning][13] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][13]); }
    }
    #endif
    fc++;
    }
    }fclose(fFile);
    return printf(" '%d' Fraktionsfahrzeuge wurden geladen & erstellt.",fc);
    }
    public SaveFactionCars(bool:destroy){
    if(fexist(FACTION_CAR_FILE)) fremove(FACTION_CAR_FILE);
    new File:fFile=fopen(FACTION_CAR_FILE,io_append),Content[1024];
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
    format(Content,sizeof(Content),"%d %.3f %.3f %.3f %.3f %03d %03d %02d %02d %02d %02d %02d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\r\n",
    FactionCars[fc][fVehid],
    FactionCars[fc][fPos][0],
    FactionCars[fc][fPos][1],
    FactionCars[fc][fPos][2],
    FactionCars[fc][fPos][3],
    FactionCars[fc][fCol][0],
    FactionCars[fc][fCol][1],
    FactionCars[fc][fFaction][0],
    FactionCars[fc][fFaction][1],
    FactionCars[fc][fFaction][2],
    FactionCars[fc][fFaction][3],
    FactionCars[fc][fFaction][4],
    FactionCars[fc][fTuning][0],
    FactionCars[fc][fTuning][1],
    FactionCars[fc][fTuning][2],
    FactionCars[fc][fTuning][3],
    FactionCars[fc][fTuning][4],
    FactionCars[fc][fTuning][5],
    FactionCars[fc][fTuning][6],
    FactionCars[fc][fTuning][7],
    FactionCars[fc][fTuning][8],
    FactionCars[fc][fTuning][9],
    FactionCars[fc][fTuning][10],
    FactionCars[fc][fTuning][11],
    FactionCars[fc][fTuning][12],
    FactionCars[fc][fTuning][13],
    FactionCars[fc][fPrice]);
    fwrite(fFile,Content);
    if(destroy == true){
    if(DestroyVehicle(FactionCars[fc][fCarid]))
    FactionCars[fc][fCarid] = -255;
    }
    }
    }fclose(fFile);
    return true;
    }#


    Ich bitte um Hilfe, wiegesagt ich möchte nur einstellen das man die hälfte zurückbekommt :)


    Vielen Dank vorraus :D

    Hallo Breadfish-Community,


    ich wollte euch fragen ob es möglich ist den Streamer (Version 2.7.4) etwas umzustellen?
    Also von der Distanz her und von der Anzahl der geladenen Objecte?


    Weil ich hab das erneute Problem das die Objecte total langsam laden...


    Könnt ihr mir weiterhelfen?


    Lg
    J0a9

    Haste mal versucht deine Plugins zu Updaten?
    und/oder auf deinem serverlog jenachdem ob du Windows(mit.dll)/Linux(.so) Server hast einzustellen?


    Lg
    J0a9

    Hallo SniperShot,


    ich hab hier mal ein kleines Startbonus Befehl wie du es eventuell haben möchtest also das man es nur einmal verwenden kann/darf:


    Das setzt du da wo du deine Befehle eingibst sprich OnPlayerComandText:
    //Startbonus
    if(strcmp(cmd, "/startbonus", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,X,Y,Z)) //Da wo man es eingeben kann
    {
    if(PlayerInfo[playerid][pStartbonus] == 1) //Falls in seinem Account eine 1 steht darf er es verwenden
    {
    format(string, sizeof(string), "* Du hast den {14A6C3}Startbonus{FFFFFF} bekommen. (Geld: +$3.000).");
    SendClientMessage(playerid, COLOR_WHITE, string);
    format(string, sizeof(string), "* Wir wünschen dir weiterhin viel Spaß beim Spielen auf {14A6C3}DEIN SERVERNAME{FFFFFF}!",sendername);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, 3000); /// Geld was der Spieler bekommt
    PlayerInfo[playerid][pStartbonus] = 0; //Wird auf 0 gesetzt es heißt er darf das nicht mehr nutzen
    //PlayerInfo[playerid][pLevel] = 3; // Level was der Spieler bekommt
    }
    else {
    SendClientMessage(playerid, COLOR_RED, "** Du bist kein Anfänger (Level 1/2) mehr!");
    return 1;
    }


    }
    else
    {
    SendClientMessage(playerid, RED, "** Du bist nicht am Zivibahnhof!");
    }
    return 1;
    }


    Unter deinem Spielerenum gibst du:
    pStartbonus
    oder wie du´s nennen möchtest...


    Unter OnPlayerConnect:
    PlayerInfo[playerid][pStartbonus] = 0; //PlayerInfo ändern wenn du bei deinem Spielerenum etwas anderes definiert hast


    Und das fügst du ein wenn man sich registriert hat und gespawnt wird oder nach deinem Tutorial kannst du es da auch einfügen:
    PlayerInfo[i][pStartbonus] = 1;


    ich hoffe ich konnte dir etwas weiterhelfen :)


    P.S.: Schreibe diesen Thread bitte beim nächsten mal unter Script Base :)


    Lg
    J0a9


    Hallo,


    ja das problem besteht immernoch...
    Ich hab alles mögliche versucht aber nicht geklappt...


    Habs auch versucht die bestehenden codes dafür zu entfernen dann falle ich immernoch aus der welt...


    Kannst du mir weiterhelfen?


    Lg
    J0a9

    Schick ma bitte hier was in deinem Serverlog steht...


    Also du hast in deiner Server.cfg die maxnpc auf ca 2 eingestellt und auch schon aufgenommen?
    Du hast auch geschrieben das du den Recording Datein in npcmodes eingefügt hast du aber vor dem "recordings" ordner auch ne pwn datei?


    Sollte so beinhaltet sein:

    #include "a_npc"//Baut die Include "a_npc" ein
    #define RECORDING "DEINBOTNAME"


    main()
    {
    }


    public OnRecordingPlaybackEnd()
    {
    StartRecordingPlayback(1, RECORDING);//1 = Aufnahmetyp - Fahrzeug, Recording = Der oben definierte Aufnahmename
    }


    public OnNPCEnterVehicle(vehicleid, seatid)
    {
    StartRecordingPlayback(1, RECORDING);//1 = Aufnahmetyp - Fahrzeug, Recording = Der oben definierte Aufnahmename
    }
    public OnNPCExitVehicle()
    {
    StopRecordingPlayback();
    }


    Weil das ist jetzt ne Abfrage das er das auch abspielt :D


    Lg
    J0a9

    Hall TheChickenFighters,


    hast du auch unter OnPlayerConnect ne Abfrage erstellt?


    Also so:


    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,botname,sizeof(botname));

    if(!strcmp(botname,"DEINBOTNAME",true))
    {
    SetPlayerInterior(playerid,ID);
    SetPlayerVirtualWorld(playerid,ID);
    SetPlayerSkin(playerid,ID);
    LoopingAnim(playerid,"PED","IDLE_CHAT",4.0,1,0,0,1,1); //Falls du ne Animation brauchst
    }
    }


    Und Unter OnPlayerSpawn:

    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    if(!strcmp(botname, "DEINBOTNAME", true))
    {
    SetPlayerSkin(playerid, 165);
    }
    }




    Weil sonst können die nich Connecten bzw nicht erscheinen...


    Lg
    J0a9

    Hallo Beavis,


    Da muss man schon etwas trixxen um das sauber hinzubekommen
    nur die geschwindigkeit allein reicht nicht aus...


    Hab da mal was gemacht gehabt um sowas einfach zu gestalten
    [ INCLUDE ] B_Schranke 2.0 - Lass Schranken sanft rotieren >> Jetzt auch mit Türen <<


    viielen viielen Dank!
    Echt sauuu geiels Plugin :D


    Du sag mal könnte ich falls ich eventuell mehr als 300 Schranken brauche im Include die Zahl ändern oder würde es Probleme geben?


    Lg
    J0a9

    Hallo Breadfish-Community,


    ich bäruchte Hilfe und zwar wie bekommt man es hin das eine Schranke flüssig sich öffnet?


    Hier der Befehl:

    if(strcmp(cmdtext,"/fetor", true) == 0)
    {
    if(PlayerInfo[playerid][pLeader] == 25||PlayerInfo[playerid][pMember] == 25)
    {
    if(FeuerDuty[playerid] == 1)
    {
    if(FwTorOpen[playerid] == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1763.35669, -1142.40723, 23.82650))
    {
    MoveObject(fetor7,1763.35669, -1142.40723, 23.82650,3, 0.0000, 4.0000, 180.0000);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor von der LS-Feuerwehr REP-Punkt ist offen und schließt in 15 Sekunden");
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht im Dienst!!!!!!");
    }
    }
    return 1;
    }


    Dies geht derzeitig wenn man den Befehl eingibt sofort hoch und sofort runter...
    Ich würds gern aber das es flüssiger läuft und nicht so zack hoch und zack unten ist...


    Kann mir da einer weiterhelfen?


    Vielen Dank im Vorraus :D


    Lg
    J0a9