Beiträge von Coldnew

    Hab mir vor einiger Zeit mal etwas ausgedacht, was ich mit meinen bisher primitiven Scripting - Fähigkeiten Scripten könnte,


    es geht dabei um ein Funscript Kritik kann natürlich trotzdem geäußert werden, solange sie Konstruktiv ist ^^



    Es ist eigentlich sehr Simpel und nicht sonderlich kompliziert, es ist ein Command für Admins um Spieler zu bannen die dann für eine bestimmte Zeit ( Bei mir waren es 10 Stunden)


    auf dem Server bleiben müssen ohne AFK zu gehen & ohne zu disconnecten sonst werden diese direkt gebannt. ( Bitte beachtet hier wieder, dass das Script nur zum Zeitvertreib und Spaß gescriptet wurde,


    außerdem dient es als bestrafung für den Spieler)


    Um es realistischer zu machen, funktioniert das nur bei Spielern, die schon etwas länger auf dem Server spielen ( bei mir auf einem Cops & Robbers server ist es dann die Score anzahl.


    Die straftat die der Spieler begangen hat, darf natürlich weder zu hart und noch zu Schwer sein, dürfte relativ schwierig sein da eine Zielgruppe zu finden, zu not kann man ja nach Vergehen,


    einige Funktionen für den gebannten Spieler deaktivieren.


    Habe mir auch gedacht, ob ich dem Spieler einen besonderen Schutz gebe, oder einen Hinweis für die admins, dass sich die Person im Flagbanmode befindet, kam aber mit mir selbst da nicht im einklang


    (Meine damit z.B, dass der spieler nicht gekickt werden kann, oder der admin benachrichtigt wird, aber das wäre ja dann von vorteil für den Spieler und ich habe mich dagegen entschieden, auch weil ich hinzugefügt habe,


    dass jeder Regelverstoß des gebannten Spielers sofort mit einem Bann bestraft wird, egal welcher.


    Jedoch habe ich für den /restart eine einfache Nachricht für den Admin erstellt, der ihn darauf hinweißt, welche(r) Spieler(r) sich derzeit im FlagBanMode befindet, der Administrator kann den Befehl dann dennoch durchführen.


    Wenn der Server neustarten muss, ist der Spieler frei zu gehen.


    Cheater sind da natürlich ausgeschlossen.








    Habe hier meine kompletten Gedankengänge aufgeschrieben einerseits weil ich lust drauf hatte & andererseits für Spieler, die dieses System sogar in ihr Script integrieren um diesen Ideen dafür zu geben.



    mfg

    Okay, sry, hab noch nie mit dini gearbeitet hahah xD


    Versuchs mal mit dini_Int ^^

    Hey,


    danke funktioniert, könntest du mir aber noch schnell zeigen , wie die MuteZeit auch abgezogen wird (also jede Minute -1 Minute MuteTime) ? :D

    // error 033: array must be indexed (variable "-unknown-")




    Geht immer noch nicht

    Ja das frage ich mich auch immer :D War ja letztes mal auch so.


    • dini_IntSet(Spieler,("MuteTime"),time);

    Hier sollte "time" eig auf den wert wie "mutetime" gesetzt werden,


    Das Time davor 0 war ist ist ja normal aber durch diese funktion sollte time eig auf mjtetime gesetzt werden.


    Habe ich es andersrum gemacht oder wie?

    Hier habe ich wieder ein Problem die Zeit zu setzen, es geht darum, dass die Mutezeit des spielers gespichert werden soll


    wenn er offline geht. Letztes mal wurde das Problem mit new time = strval(inputtext); gelöst, jedoch ist es diesmal eine andere Situation,


    ich denke mal die Lösung wäre ähnlich ( siehe hier: Inputtext falsch )



    Wenn der Spieler online geht mit z.B 5 Minuten Mutezeit steht dort " 48 Minuten " und der Spieler wird sofort entmutet

    @Coldnew Ich bezweifle das du das Spiel League of Legends kennst oder jemals gespielt hast sonst wüsstest du das es ein MMORPG ist oder gibt es ein geheimes Update wo es möglich ist Fahrzeuge zu benutzen sowie nen Perso zu beantragen und Jobs anzunehmen?! :O


    //Edit
    Roleplay in League of Legends ist richtig unnötig, da es sowieso egal ist dich in der Figur zur versetzen im Endeffekt hat es eine Wirkung & Gewinnchance von 0%!

    Glaube du hast meinen Kommentar auch nicht richtig verstanden. Rollenspiel ist ja nicht zwingend etwas mit Fahrzeugen oder nen Perso beantragen?


    Fantasy bezogenes Roleplay.

    Meiner Meinung nach ist Rollenspiel dann eher Weltenbezogen, also basierend auf der Welt in der das Rollenspiel spielen soll.


    Also z.B ein (hardcore) Rollenspiel in Leage of Legends wo es um nicht existrierende Dinge gehen.


    Du solltest einfach das in deinen SA:MP Server reinpacken was du willst, macht deinen Server ja vielleicht auch einzigartig und hebt sich von anderen ab.

    Stimmt beim Beutel ist es wahrscheinlich auch so, dass der Spieler durch dieses Item an sich Geld vom Server bekommt.


    Aber bei mir ging das halt auch ohne diese Geldbeutel wo ich direkt 10 Millionen bekommen habe, ich vermute mal,


    dass da auch ähnlich wie beim ersten getrickst wird. Das mit der Synchronisation kann ja natürlich auch sein

    Hey,


    mich beschäftigt seit einiger Zeit eine Frage: Warum ist Geld - Cheaten in GTA 5 (Online) möglich? Da ich es schon das eine oder andere mal getan habe,


    weiß ich das aus erster Erfahrung. In SA:MP ist Geldcheaten eigentlich meistens nicht möglich, da das Geld was angezeigt wird nach einem Wert


    gesetzt z.B "pMoney" und eigentlich nicht andersrum. Bei den SA:MP servern wird das geld dann einfach wieder auf den Wert an sich zurückgesetzt.


    Wieso ist das bei GTA 5 nicht so? Wird da der Wert nach dem Geld was angezeigt wird?



    Hoffe mal auf ne kleine Aufklärung , um auch allgemein etwas mehr darüber zu lernen :)

    new time = inputtext[playerid];SetTimerEx("unmuteTimerZ", 60*1000*inputtext[playerid], false, "i", pid); new sokker[128];
    zu:
    new time = strval(inputtext);SetTimerEx("unmuteTimerZ", 60*1000*time, false, "i", pid);new sokker[128];

    Danke, funktioniert :)

    Hey,


    also ich möchte für meinen /mute Befehl extra noch eine Frage für den Admin, ob dieser den Spieler ebenfalls aus dem Support system ausschliessen möchte.


    Das Problem ist hierbei jedoch, dass der Inputtext falsch ist. Wenn ich " 2 " eingebe gibt der Server in der SendClientMessage zum spieler z.B 49 oder 50 ein


    jedoch ist der Wert dennoch 0, der spieler wird in der selben sekunde wieder entmutet. Ich habe es auch schon mit einem string versucht (time) wie man unten sieht,


    da war der wert allerdings immer 0 auch in der SendClientMessage




    if(dialogid == 990)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,BLAU,"Cancelled");
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Must be more than 1 -1 = infinity. Request denied.");
    return 0;
    }
    if(strlen(inputtext)>=999)
    {
    SendClientMessage(playerid,COLOR_RED," Only from 0-999 use -1 for Infinity!"); return 0;
    }
    }
    new pid = GetPVarInt(playerid,"muteTarget");
    new time = inputtext[playerid];
    SetTimerEx("unmuteTimerZ", 60*1000*inputtext[playerid], false, "i", pid); new sokker[128];
    format(sokker, sizeof(sokker),"Administrator %s has requested an Report-Mute for you for %d Minutes", GetName(playerid),inputtext );



    SendClientMessage(pid,-1,sokker);
    }



    //Time
    format(sokker, sizeof(sokker),"Administrator %s has requested an Report-Mute for you for %d Minutes", GetName(playerid),time );


    (( die Inputtext variante: SetTimerEx("unmuteTimerZ", 60*1000*time, false, "i", pid);




    Da gibt es mehrere Möglichkeiten.


    • Du verwendest eine globale Variable wie z.B. new muteTargets[MAX_PLAYERS]; und dann weist du in deinem Command die so zu: muteTargets[playerid] = pID; und kannst dann immer darauf zugreifen. Problem hierbei ist natürlich, dass du permanent Speicher reservierst und dabei wahrscheinlich nur ganz kurz die Variable brauchst, kommt halt darauf an, wenn du damit ganz oft was machen willst und viele Zugriffe hast, dann ist diese Variante zu empfehlen, da sie schneller ist, als Variante zwei.
    • Denn hier nutzt du einfach ein PVar. Machst also einfach im Befehl SetPVarInt(playerid,"muteTarget",pID); und kannst dann im Dialog folgendes verwenden: new pID = GetPVarInt(playerid,"muteTarget");. Und das schöne dabei ist, sobald du fertig mit der Verwendung bist, kannst du den Speicher wieder freigeben, mit DeletePVar(playerid,"muteTarget");. Allerdings dauern hier die Zugriffe minimal länger, da unter anderem der String erst aufgelöst werden muss.

    Hoffe ich konnte dir helfen :)

    Danke :) Ich probiere es jetzt mal aus



    // Danke , funktioniert

    Hey,


    ich wollte mal fragen wie ich in einem Command wie z.B meinem Mute command die "pid " (also dem spieler mit dem eteas passiert sozusagen "mitnehmen" kann,


    damit ich bei OnDialogResponse immer noch mit dem gleichem spieler also der pid argieren kann. Hab das schonmal in meinem script dringehabt und es funktionierte auch habe


    es aber entfernt.

    Wow, danke :)

    Hi ich habe ein Command erstellt mit dem man sich ein Jetpack geben kann, aber wenn man es ablegt dann ist es dort als pickup und jeder andere "normale" Spieler kann es aufheben...wie kann man also machen, dass das Jetpack sofort despawnt wenn man es ablegt...oder ein Command einbauen womit es von Rücken entfernt wird...


    Hier der Jetpack spawn Befehl:
    if (strcmp("/jetpack", cmdtext, true, 10) == 0) { if(IsAdmin(playerid,5)) { if(sDaten[playerid][AdminDuty] == 1) { SendClientMessage(playerid,0xFFFF00FF,"Hier ist dein Jetpack"); SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK); } else { SendClientMessage(playerid,ROT,"Du bist nicht als Admin angemeldet!"); return 1; } } else { SendClientMessage(playerid,ROT,"Du bist kein Admin!"); return 1; } return 1; }


    Danke schonmal im Vorraus :D

    Auch wenn die Frage schon ne Ewigkeit alt ist, würde mich die antwort dennoch interessieren