Beiträge von Marc1706

    Und zusätzlich noch alle ca. 5min ein "Backup" erstellen, sodass der Spieler
    immer sein aktuelles sieht ( Ingameanzeige = Variable )?
    Und auch in diesem Zyklus das Geld speichern, falls der Gamemode abgschmieren sollte?
    Wenn ein GMX kommt, müsste ich davor aber auch alles nochmal speichern,
    also ein Command reinmachen, oder ins GMX einbinden?

    Hallo Breadfishs,


    Ich brauche mal eure Meinung. Ich sitze zurzeit an einem Reallife Gamemode (Selfmade) und möchte euch über eine Idee
    von mir befragen, wie ihr diese findet...


    Anfangs war das mit dem Geld ganz simpel: Beim Ausloggen speicherte er das Geld, was mir aber
    von Anfang an zu unsicher war.


    Dann habe ich überlegt folgendes zu machen:
    Das Geld soll nur gespeichert werden, wenn eine Ausgabe / Transaktion durchgeführt wird!


    Sobald der Spieler etwas kauft, wird sein Geld aus der Spielerdatei ausgelesen, ihm als sein Saldo
    im Spiel angezeigt und anschließend wird der Betrag abgezogen. Nachdem abziehen, wird das Geld
    wieder per Dini in die Spielerdatei geschrieben...


    Nun kommt das Problem:
    Wenn der Spieler in der Spielerdatei 100$ hat, aber durch den ModSobeit auf der Hand 100000$ hat und ich
    möchte ihm als Saldo 100$ setzen, muss ich dann erst das gesamte geld abziehen und anschließend das richtige
    zuweisen? Oder kann ich den Barsaldo direkt mit einem Befehl auf 100$ setzen?


    Außerdem habe ich überlegt, dass während einem Kauf / Tausch / Whatever, eine Geldsperre per PVar gesetzt wird,
    die bei jedem Kauf / Tausch... abgefragt wird, ob sie aktiv ist. Dadurch können sich dann keine Geldveränderungen
    überschneiden und kein Geldbug entsteht ( imm Sinne von mehr oder weniger ).



    Würde mich über eine Antwort freuen ;)


    Lg, Marc1706



    PS: Falls diese Idee irgendwo schon eingebaut ist, entschuldige ich mich vielmals.
    Ich habe es aber wirklich nirgends geklaut! Es entstand in meinem Kopf.

    Hallo nochmal!


    Erstmal herzlichen Dank für eure Hilfe!



    Ich hatte vorher dieses Script (selbsgeschrieben) aber es kam immer was anderes xD
    /**/dcmd_o(playerid,params[])
    /**/{
    /**/ new string[128],name[MAX_PLAYERS],buchstaben[128];////hier länge vom text 128 max. zeichen
    /**/ {
    /**/ if(sscanf(params, "s",buchstaben)) return SendClientMessage(playerid, ROT, "OOC-Fehler: Verwendung: /o [Nachricht]");
    /**/ {
    /**/ new playermoney;
    /**/ GetPlayerMoney(playerid,playermoney,sizeof(playermoney));
    /**/ if(oocoff == 0)
    /**/ {
    if (playermoney < 150)
    {
    SendClientMessage(playerid,GRÜN,"Du hast nicht genug Geld!");
    }
    //else if (playermoney >= 150)
    //{
    /**/ GetPlayerName(playerid,name,sizeof name);
    /**/ format(string,sizeof string,"(( %s: %s ))",name,buchstaben);
    /**/ SendClientMessageToAll(0xFF98FFFF,string);
    SendClientMessage(playerid,GRÜN,"Du zahlst 150$ für den OOC-Chat!");
    GivePlayerMoney(playerid,-150);
    //}
    /**/ }
    /**/ else if(oocoff == 1)
    /**/ {
    /**/ GameTextForPlayer(playerid,"~y~OOC~w~-~b~Chat ~w~ist~n~~r~DEAKTIVIERT!",1500,3);
    /**/ }
    /**/ }
    /**/ }
    /**/ return 1;
    /**/}

    Speicher bei jedem seine SkinID in die Spielerdatei und mach dann wenn z.b. ein Neuling ein Skin wählen will eine Abfrage, ob bei rigendwem diese SkinID schon in der Datei steht... ( Benutze dashier, wenn das auch gehen soll, wenn kein anderer on ist! )


    Wenn du das machen willst, wenn mehrere on sind, machst du die Abfrage einfach ganz normal, ob jemand die gleiche SKINID Hat...

    Hallo liebe Community,


    ich habe folgendes Problem:
    Ich bastle momentan an einem Selfmade und bin an einer Stelle angekommen, bei der ich wirklich Probleme
    bekomme...


    Dashier ist mein LoadAccount Stock:
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
    SetPVarInt(playerid,"AdminDuty",dini_Int(Spielerdatei,"AdminDuty"));
    SetPVarInt(playerid,"Cop",dini_Int(Spielerdatei,"Cop"));
    SetPVarInt(playerid,"Cabdriver",dini_Int(Spielerdatei,"Cabdriver"));
    SetPVarInt(playerid,"Adminvilla",dini_Int(Spielerdatei,"Adminvilla"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"loggedin",1);
    //SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    //SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    return 1;
    }


    Und dashier mein SpielerSpeichern Stock:
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    //dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"AdminDuty",GetPVarInt(playerid,"AdminDuty"));
    dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
    dini_IntSet(Spielerdatei,"Adminvilla",GetPVarInt(playerid,"Adminvilla"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Cop",GetPVarInt(playerid,"Cop"));
    dini_IntSet(Spielerdatei,"Cabdriver",GetPVarInt(playerid,"Cabdriver"));
    }
    return 1;
    }



    Wenn ich nun jetzt zum Beispiel einen Admincommand machen möchte,
    benutze ich folgendes...
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang) return 1;
    return 0;
    }


    Und das setze ich dann folgendermaßen in einem Command um...
    /**/if(strcmp(cmdtext,"/tbtor", true)==0)
    /**/{
    /**/ if(isPlayerAnAdmin(playerid,2) || isPlayerAnCabdriver(playerid,1))
    /**/ {
    /**/ MoveObject(taxibasetor,1811.3444824219,-1885.7247314453,7,4.0);
    /**/ SetTimer("taxibasetorzu",6000,0);
    /**/ //SendClientMessage(playerid,GRÜN,"Zenrale: Die LSPD-Einfahrt wurde geöffnet");
    /**/ GameTextForPlayer(playerid,"~y~Taxibase-Einfahrt~n~~g~GEOEFFNET!",1000,3);
    /**/ return 1;
    /**/ }
    /**/ SendClientMessage(playerid,ROT,"Du bist kein Taxifahrer oder Supporter/Admin");
    /**/ return 1;
    /**/}


    Mein jetziges Problem ist, dass ich gerne in meiner Spielerdatei nun den Wert "AdminDuty" benutzen möchte
    ( 1 = Duty // 0 = UnDuty ).


    Ich möchte jetzt einen Befehl machen, der folgendermaßen aufgebaut ist.
    Wenn die Variable "AdminDuty" in der Spielerdatei 0 ist, dann soll er sie auf 1 setzen.
    Und wenn die Variable "AdminDuty" in der Spielerdatei 1 ist, dann soll er sie auf 0 setzen.


    Ich bräuchte nur diese Abfrage. Den Rest bekomme ich dann wahrscheinlich alleine hin.


    Ja ich weiß, dass diese Methode nicht gerade modern ist und es mit einem Teamsystem und Rangsystem oder
    so ähnliches leichter währe, aber ich möchte es gerne so weiterhin machen.
    Ich will was neues versuchen ^^


    Würde mich über eine Hilfreiche Antwort sehr freuen.
    Vielen Dank!!!!!!


    MfG Marc1706

    Es gibt zwei Möglichkeiten, einem Spieler Waffen am Spawn zu geben...


    1. Direkt bei AddPlayerClass
    AddPlayerClass(21, 1958.3783, 1343.1572, 15.3746, 269.1425,WAFFE1, MUNNIWAFFE1, WAFFE2, MUNIWAFFE2, WAFFE3, MUNIWAFFE3);

    Und so weiter...



    2. Per GivePlayerWeapon...
    Bau einfach ganz am Ende des Publics OnPlayerSpawn folgendes ein...
    GivePlayerWapon(playerid,WAFFENID1,MUNITION1)
    GivePlayerWapon(playerid,WAFFENID2,MUNITION2)
    GivePlayerWapon(playerid,WAFFENID3,MUNITION3)



    Ich hoffe ich konnte helfen

    Das ist doch eigentlich ganz Einfach.


    Du machst einen Befehl (z.b. mit dcmd)


    und fragst als erstes das Adminlevel ab oder ob er ein Admin ist (isPlayerAdmin = RCON Admin! )


    Anschließend benennst du die Variablen etc. und setzt dann den Score des Spielers auf 3
    und gibst ihm das Geld.


    Wenn du willst, kann ich dir dabei helfen.


    Skype: marc-1706

    Liebe Community,


    ich habe hier ein OOC-Chat System, beidem ich ein Problem habe...


    /**////////////////////////////////////////////////////////////////////////////
    /**///////// OOC DCMD CHAT START //////////////////////////////////////////////
    /**////////////////////////////////////////////////////////////////////////////
    /**/dcmd_o(playerid,params[])
    /**/{
    /**/ new string[128],name[MAX_PLAYERS],buchstaben[128];////hier länge vom text 128 max. zeichen
    /**/ {
    /**/ if(sscanf(params, "s",buchstaben)) return SendClientMessage(playerid, ROT, "OOC-Fehler: Verwendung: /o[Nachricht]");
    /**/ {
    /**/ if(oocoff == 0)
    /**/ {
    /**/ GetPlayerName(playerid,name,sizeof name);
    /**/ format(string,sizeof string,"(( %s: %s ))",name,buchstaben);
    /**/ SendClientMessageToAll(0xFF98FFFF,string);
    /**/ }
    /**/ else if(oocoff == 1)
    /**/ {
    /**/ GameTextForPlayer(playerid,"~y~OOC~w~-~b~Chat ~w~ist~n~~r~DEAKTIVIERT!",1500,3);
    /**/ }
    /**/ }
    /**/ }
    /**/ return 1;
    /**/}
    /**////////////////////////////////////////////////////////////////////////////
    /**///////// OOC DCMD CHAT ENDE ///////////////////////////////////////////////
    /**////////////////////////////////////////////////////////////////////////////


    Wenn ich eine Nachricht schreibe, mit dem Inhalt : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Sollte eigentlich die LÄnge angepasst werden, aber es kommt dan (( Marc1706: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Und am Ende fehlt das ))


    Wie kürze ich die Nachricht auf eine bestimmte Länge?


    Das gleiche auch hier...
    /**////////////////////////////////////////////////////////////////////////////
    /**///////// AD DCMD CHAT START ///////////////////////////////////////////////
    /**////////////////////////////////////////////////////////////////////////////
    /**/dcmd_ad(playerid,params[])
    /**/{
    /**/ new string[128],name[MAX_PLAYERS],buchstaben[110];////hier länge vom text 128 max. zeichen
    /**/ {
    /**/ if(sscanf(params, "s",buchstaben)) return SendClientMessage(playerid, ROT, "OOC-Fehler: Verwendung: /o[Nachricht]");
    /**/ {
    /**/ if(adoff == 0)
    /**/ {
    /**/ GetPlayerName(playerid,name,sizeof name);
    /**/ format(string,sizeof string,"[ Werbung: %s ] [ Sender: %s ]",buchstaben,name);
    /**/ SendClientMessageToAll(GRÜN,string);
    /**/ }
    /**/ else if(adoff == 1)
    /**/ {
    /**/ GameTextForPlayer(playerid,"~y~Ad~w~-~b~Chat ~w~ist~n~~r~DEAKTIVIERT!",1500,3);
    /**/ }
    /**/ }
    /**/ }
    /**/ return 1;
    /**/}
    /**////////////////////////////////////////////////////////////////////////////
    /**///////// AD DCMD CHAT ENDE ////////////////////////////////////////////////
    /**////////////////////////////////////////////////////////////////////////////


    ich hoffe mir kann jemand helfen.
    Danke!!!


    Mit freundlichen Grüßne,
    Marc1706

    Danke für die schnelle Antwort.


    Funktioniert leider nicht...


    Nächstes Problem:
    NIRGENDS in meinem Script weder noch Filterscripts steht wo man Spawnt und
    trozdem spawnt man da wo ich im letzten Pos sagte 8|

    FoxHound - Wenn der Script alle 2 Sekunden schaut, ob die Minuten 0 sind, hängt doch der Server nach einer Weile oder?
    Kann man machen, dass er ca. alle 50sec nachschaut, oder ist das egal?


    //Edit: Hat sich erledigt xD habe diese Stelle überlesen...
    SetTimer("payday",2000,1);

    Liebe Community und lieber BFX,


    ich habe mir heute das Dynamische Haus System zugelegt und in meinen
    Server eingefügt.


    Nochmals vielen Dank für dieses Tolle Haussystem!



    Folgende Probleme:


    1. Ich möchte gerne die Roten Marker auf der Map ausmachen und
    nur die grünen Sehen wenns frei ist. Wenn es belegt ist -> nichts anzeigen.
    ( Einfach eine Änderung im FS oder? )


    Würde mich sehr freuen!


    MfG Marc1706
    Skype: marc-1706

    Liebe Community,


    ich denke mal, jeder von den mittelguten Scripten könnte mir das beantworten,
    aber leider kenne ich mich da noch nicht so gut aus...


    ich arbeite mit dem Dynamischen Haus System von BlackFoX_UD_ und möchte bei
    OnPlayerSpawn gerne etwas umändern.


    Hier gehts zu dem Haussystem von BlackFox


    Im Filterscript steht folgendes:
    public OnPlayerSpawn(playerid)
    {
    for(new i = 0;i<_cache_haus;i++)
    {
    if(!strcmp(HausDaten[i][Besitzer],spielername(playerid)))
    {
    SetPlayerPos(playerid,HausDaten[i][ax],HausDaten[i][ay],HausDaten[i][az]);
    break;
    }
    }
    return 1;
    }



    ich möchte jetzt, dass wenn dies nicht eintrifft, also wenn der
    Spieler kein Haus hat, dass er hier gespawnt wird :
    SetPlayerPos(playerid,1423.5933,-902.3813,56.7856);



    Wie pack ich das jetzt zusammen, sodass es funktioniert???


    Danke!
    MfG Marc1706

    Hey liebe Community,


    ich möchte auf meinem Reallifeserver, generell, dass wenn ein nicht Polizist (=Zivi/etc.) in ein Polizeiauto einsteigt,
    dass er direkt rausgehauen wird, ABER NUR wenn er als Fahrer einsteigt. Ist das möglich und wenn ja,
    wie mache ich so etwas?


    Habe mir das so ca. vorgestellt:

    Wenn Spieler geht in Polizeiauto als Fahrer
    {
    Wenn Spieler ist Admin/Supporter oder ist Cop
    {
    Send Client Message.... z.B."Bitte nach nutzung zurücksetzten!"
    }
    Kicke Spieler aus Auto
    Send Clien Message.... z.B."Du bist kein Polizist oder Supporter/Admin"
    }


    xDDDDDDD


    Hoffe mir kann jemand helfen.
    Danke!


    MfG Marc1706



    PS: Sorry das ich soviel frage, aber ich lerne ja momentan das Scripten noch...




    EDIT1: Ist es auch möglich nur bestimmte Autos zu sperren??
    Also wenn 3 Copcars stehen und nur bei einem davon wird man rausgekickt...

    Hey liebe Community,


    ich bin momentan dabei ein Befehl zu machen, um ein Tor zu bewegen.
    Das erste Tor habe ich lspdgaragentor genannt und das zweite lspdtor.


    Dashier ist der Befehl von dem lspdtor...
    /**/////////////////////////////////////////////////////////////////////////
    /**///////// LSPDTOR ANFANG ////////////////////////////////////////////////
    /**/if(isPlayerAnAdmin(playerid,2) || isPlayerAnCop(playerid,1))
    /**/{
    /**/ if(strcmp(cmdtext,"/lspdtor", true)==0)
    /**/ {
    /**/ MoveObject(lspdtor,1581.7557373047,-1628.4017333984,9,4.0);
    /**/ SetTimer("lspdtortimer",6000,0);
    /**/ SendClientMessage(playerid,GRÜN,"LSPD: Die LSPD-Einfahrt wurde geöffnet");
    /**/ return 1;
    /**/ }
    /**/ SendClientMessage(playerid,ROT,"Du bist kein Polizist oder Supporter/Admin");
    /**/ return 1;
    /**/}
    /**///////// LSPDTOR ENDE /////////////////////////////////////////////////
    /**////////////////////////////////////////////////////////////////////////


    Der Befehl vom anderen Tor ist ja dann klar, also einfach bisschen geändert.



    Hier ist der Timer, den ich mit meinem Befehl starte.
    public lspdtortimer()
    {
    MoveObject(lspdtor,1581.7557373047,-1628.4017333984,14.057502746582,4.0);
    SendClientMessage(playerid,ROT,"LSPD: Die LSPD-Einfahrt wurde automatisch geschlossen");
    return 1;
    }


    So nun kommt das Problem. Wenn ich Compilieren will kommt folgendes...
    (1508) : error 017: undefined symbol "playerid"


    und dieser Fehler weißt auf die Zeile von meinem Timer hin:
    SendClientMessage(playerid,ROT,"LSPD: Die LSPD-Einfahrt wurde automatisch geschlossen");


    Muss ich bei meinem Timer irgendwie playerid definieren?
    Aber das muss man doch sonst auch nicht...


    Ich würde mich sehr freuen, wenn mir jemand helfen könnte.
    Vielen Dank!


    Mit freundlichen Greetings,
    Marc1706