Beiträge von Kristik47

    Sieht nicht schlecht aus.Aber eine richtige Objektschleuder.
    8/10, zu viele Objekte.



    Naund mehr Objekte so besser
    Ist ja nur ein present


    Was für ein Humbug. Je mehr Objekte auf einer Fläche, desto länger lädt die Map(je nach Streamer) und
    desto mehr FPS Lags/Drops erhalten Spieler mit einem schlechteren PC - wovon es
    leider nicht wenig gibt.


    Zurück zur Map:


    sieht sehr ordentlich aus, aber man könnte auf der Fläche von den Markierungen, wo
    die Feuerwehrautos raus fahren bis zum Anfang der Parkplätze/Mini-Parks
    ein wenig was hinmappen. Irgendwas dekoratives. Aber da es ja schon, wie du schreibst,
    800 Objekte sind, könnte das sehr brenzlich werden.


    Ich gebe dir 9,5/10


    :)

    Moin;


    ich arbeite zurzeit an einem kleinen Rucksack-System. In diesem teste ich gerade, ob sich meine
    Waffe im Rucksack speichert. Ich habe aber bemerkt, dass da kompletter Humbug rauskommt...
    sowohl InGame als auch Datenbank bzw. der Mist, der InGame zusehen ist, den sieht man auch
    in den Datenbankeinträgen gespeichert:



    enum SPDaten
    {
    //Sind natürlich einige^^ Sachen mehr... hab sie nur raus genommen, um eine Übersicht zu haben.
    Rucksack,
    RobKeys,
    BPGun1,
    BPGun2,
    BPGun3
    }
    new Spieler[MAX_PLAYERS][SPDaten];


    //Der Befehl, mit dem der Rucksack aufgerufen wird:


    ocmd:openbackpack(playerid, params[])
    {
    new string[128];
    format(string, sizeof(string),"Waffe: %d Munition: %d \nWaffe: %d Munition: %d \nWaffe: %d Munition: %d \nDrugs: %d \nBombe(n): %d \nGeld: %d",
    Spieler[playerid][BPGun1], Spieler[playerid][BPGun2], Spieler[playerid][BPGun3], Spieler[playerid][BackDrugs], Spieler[playerid][TBombBack], Spieler[playerid][Money]);
    ShowPlayerDialog(playerid, DIALOG_BACKPACK, DIALOG_STYLE_LIST,"Rucksack",string,"Nehmen","Abbrechen");
    return 1;
    }


    //Die zwei Dialoge, die hauptsächlich am System dran sind:


    if(dialogid == DIALOG_BACKPACK)
    {
    if(response)
    {
    if(listitem == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_GUNOPTION1, DIALOG_STYLE_MSGBOX, "Rucksack: Waffe 1","Lege deine gewünschte Waffe hier rein. Dazu musst du nur auf sie scrollen und hier auf >> reinlegen << drücken.\nUm diese wieder >> rauszuholen <<, musst du sie im Menu auswählen und auf >> rausholen << drücken.","Reinlegen","Rausholen");
    }
    }
    }

    if(dialogid == DIALOG_GUNOPTION1)
    {
    //new weaponname = GetPlayerWeapon(playerid), wename = GetWeaponModelIDFromName(weaponname), wammo = GetPlayerAmmo(playerid), ;
    new wammo = GetPlayerAmmo(playerid), weaponid = GetPlayerWeapon(playerid);
    if(response)
    {
    if(weaponid != 0)
    {
    format(Spieler[playerid][BPGun1], 100, "Waffe: %d");
    RemoveWeaponForPlayer(playerid, weaponid);
    }
    }
    else
    {
    GivePlayerWeapon(playerid, weaponid, wammo);
    SendClientMessage(playerid, -1, "Du hast eine solche Waffe nicht im Rucksack.");
    }
    }


    //Ich weiß nicht, wie ich abfragen kann, ob der Slot KEINEN PLATZ zum REINLEGEN hat bzw. NICHTS zum RAUSNEHMEN hat.


    So sieht es dann InGame aus. Wenn ich mir eine Waffe gebe mit 2k Munition und Sie dann reinlege, dann passiert das nur
    mit halbem Erfolg, denn die 2k-Waffe ist zwar weg und im Rucksack stehen auch zahlen, aber das ist einfach zu wenig
    und zudem auch noch falsch verteilt (zweite Reihe spielt mit, obwohl ich es nur der 1. Reihe zuweise - BPGun1):


    Datenabnk-Screen



    InGame-Screen


    Mit freundlichen Grüßen


    Kristik47

    Es ist super, dass du mit 14 schon eine solche Initiative ergreifst, um ein Projekt zu gründen. Die Frage ist
    aber, ob die Leute es zulassen; denn wie du es erwähnst, bist du noch in einem recht jungen Alter, wo man
    sogar noch von der Pubertät sprechen kann. Das ist nicht das leichteste Zeitalter, deshalb wird es dir
    schwer fallen ein Projekt, so wie du es dir vorstellst, aufzubauen, da ich mir kaum vorstelle, dass eine
    Zusammenarbeit zwischen einem 14-jährigen und einem 18- oder 22-jährigen richtig möglich ist.
    Zudem hat nicht jeder 14-jährige eine geistige Reife, wie es möglicherweise bei dir der Fall ist. Man weiß
    es nicht, deshalb kann man dir da keine Garantie geben, dass es so richtig klappt.


    Zudem wundere ich mich, wie du ein Projekt anfängst ohne eine gewisse Grundidee zu haben,
    was denn nun der richtige Plan ist. Hardcore-Roleplay kann sich auch ziemlich breit machen.
    Ich weiß nicht, ob du dir bewusst ist, dass Leute auf einem Godfather-Skript, wo du Hardcore-Roleplay
    ausüben möchtest, nicht richtig spielen werden und es auch so umsetzen werden, wie es deiner Vorstellung
    entspricht.


    Außerdem muss gesagt sein, dass ein heutiges GTA SA:MP Projekt etwas an Moderne erfordert
    im Sinne von Control Panel und sonstige Sachen. Außerdem wäre meine Frage, wie du die mit
    14 Jahren alle Kosten übernehmen möchtest. Dazu gehört der Teamspeak, Eine Homepage, der
    Server und weitere Dinge. Da kommt schon was zusammen an Kosten, deshalb denk nochmal nach,
    worauf du dich da einlässt. Bedenke auch, dass ein Selfmade Skript keine "zwei Minuten"-Sache ist.
    Es wird Monate erfordern.


    Ich wünsche dir dennoch viel Erfolg.

    Moin,


    welches Anti-Cheat Filterskript/Skript könnt ihr mir empfehlen? Würde gerne Meinung
    von Leuten wissen, die bereits mit Anti-Cheat Filterskripts Erfahrung sammeln konnten.


    Hier im Forum gibts ja genug, wie zum Beispiel JunkBuster, aber ich weiß nicht, welchen
    ich testen/probieren sollte, weshalb ich gerne Meinungen und Empfehlungen von Leuten,
    die bereits Erfahrung mit Anti-Cheat Filterskripts sammeln konnten, haben möchte.


    Und zum Thema Aimbot eine Frage:
    Visiert Aimbot auch NPC's an?


    Mit freundlichen Grüßen


    Kristik47

    Übung macht dem Meister. Leider wird einem im Leben nichts geschenkt, deshalb
    sage ich auch dir: Versuch es einfach mal selber. Schau dir Tutorials an. Überblick
    hast du nur dann, wenn du es auch richtig verstehst.

    Ist gleich geblieben.


    Habs jetzt so verändert, wie verlangt, aber es hat sich nichts geändert. Die Zeichen mischen sich ein und ersetzen
    einfach Buchstaben. In der Datenbank wird alles so gespeichert, wie man's InGame eingibt.



    //DIALOG 1:
    SetPVarString(playerid,"InpString",inputtext);


    //DIALOG 2:
    format(string, sizeof(string),"Notiere dir das Passwort am besten; so lautet es: %s", GetPVarString(playerid,"InpString",inputtext,sizeof(inpstr)));


    Bild:



    Vielleicht wäre es sinnvoller, es mir per Code zu zeigen, damit ich es besser verstehe.
    Mein Lehrer sagte immer: Wie man's das erste mal sieht, so wird man's auch immer machen.

    Hundert pro das ist alles richtig was ihr sagt, aber ich kann damit leider nichts anfangen :cursing:
    Bzw. ich kanns nicht umsetzen.


    Ich habs jetzt so gemacht:



    //beim 1. DIALOG
    SetPVarString(playerid,"InpString",inputtext, inpstr); // (15144) : warning 202: number of arguments does not match definition


    //beim 2. DIALOG -> Keine Warns/Errors
    GetPVarString(playerid,"InpString",inputtext,sizeof(inpstr));
    format(string, sizeof(string),"Notiere dir das Passwort am besten; so lautet es: {33AA69}>>{FFFFFF} %s {33AA69}<<", inpstr);


    @Douq

    Nun ja. Das ist eigentlich leicht zu machen. Du erstellst dir Textdraws, von mir aus mit dem Kollegen hier:


    http://forum.sa-mp.com/showthread.php?t=543002


    Dann musst du die (nötigen) TextDraws beim Connecten oder
    wann du es auch immer haben willst, anzeigen lassen und dann bei
    Public OnPlayerClickTextDraw durch clickedid, was in dem public
    vordefiniert ist, abfragen, ob er irgendwas von den Textdraws angeklickt
    hat. Davor aber nicht vergessen die TextDraws klickbar zu machen.
    Das machst du per: SelectTextDraw(playerid, 0xB4B4B4FF);


    Anzeigen und Verstecken tust du übrigens mit:
    TextDrawShowForPlayer
    und
    TextDrawHideForPlayer


    Und dann halt bei OnPlayerClickTextDraw entscheiden, was
    passiert, wenn er die clickedid x oder y drückt.


    Und nicht zu vergessen nachdem er etwas selected hat:
    CancelSelectTextDraw(playerid);


    So könnte das bei OnPlayerClickTextDraw aussehen:



    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == TDFrakChose[8]) // GESETZ
    {
    ... // Dein CODE!
    }
    }

    Wo lädst du es und hast du es beim Laden mal ausgeprintet, was dir da angezeigt wird?

    Was genau muss ich denn laden? Ich speicher Inputtext per String in einer PlayerVariable und
    gebe sie beim nächsten Dialog per GetPVarString aus.


    SetPVarString(playerid,"InpString",inputtext); <--- Speicherung


    format(string, sizeof(string),"Notiere dir das Passwort am besten; so lautet es: {33AA69}>>{FFFFFF} %s {33AA69}<<",GetPVarString(playerid,"InpString",str,sizeof(str)));<--- Ausgabe


    Ansonsten tu ich es in MySQL speichern und dort wirds auch --> VERNÜNFTIG <-- angezeigt.


    Wenn du aufs Bild schaust siehst du ja dass meine gespeicherte PVar auch aufgerufen
    wird, aber da kommen irgendwelche Zeichen ins Spiel.


    @ReborN

    Moin,


    ich habe an einem kleinen aber feinen Sicherheitssystem gearbeitet und habe fast das nötige Resultat erreicht.
    Es speichert das Passwort in der Datenbank ab, aber es gibt es sehr komisch im Spiel wieder. So sieht der Code
    aus:



    Und so sieht das Bild im Spiel aus:



    Ich habe weder Errors noch Warnings bezüglich dieser Funktion. Diese zwei Zeichen ersetzen einfach
    ein K, r und i. Bzw. es erscheinen halt Zeichen, die Buchstaben ersetzen. Warum?


    Mit freundlichen Grüßen


    Kristik47

    (Ist der Code ne Zahl oder ein Text?)


    Versuch mal das (wenn es ne Zahl ist)


    Code
    if(strval(inputtext) == Spieler[playerid][SafeCode])

    //e Text
    //e2 Das ! durfte da nicht hin


    Der Code soll einfach nur eine Zeichenkette sein. Also ein String, welcher sowohl aus Zahlen, Buchstaben und sonstigen Zeichen bestehen kann.
    Danke dir für deine Hilfe, aber ich habe mich bereits entschieden, dass System zu überarbeiten -> ich schreibe es jetzt komplett neu und anders.

    Das ist eine gute Idee. Habe es gemacht. Habe zwar keine Errors, aber würde gerne die Warnings loswerden:



    if(!strcmp(inputtext) == Spieler[playerid][SafeCode])


    /*
    C:\Users\User\Desktop\SA-MP Server - MySQL Skripting\gamemodes\GCL.pwn(19374) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA-MP Server - MySQL Skripting\gamemodes\GCL.pwn(19374) : warning 213: tag mismatch
    */


    Ich weiß, was diese Warnings bedeuten, aber ich weiß nicht, was ich dafür einsetzen soll.



    @LeijaT
    @DJ Deagle

    Moin,


    bin gerade an einem System dran und komme irgendwie nicht drauf, wie ich den Eingabetext, also den Inputtext
    vom Spieler, mit einem Datenbankeintrag vergleichen kann. Sagen wir mal es ist ein Sicherheitspasswort, was
    der Spieler bei der Registration angegeben hat. Sein Problem ist, dass er sein Passwort vergessen hat, aber
    sein Sicherheitscode weiß und die Möglichkeit hat sein Passwort zu ändern. Er macht es und ab da will ich halt
    mal wissen, wie ich seine Eingabe mit seinem früheren Datenbankeintrag vergleichen kann.


    /E: PUSH
    Arbeite weiter an diesem System und habe immer noch das Problem mit der Abfrage.
    Habe zwar, wie von einigen vorgeschlagen, via strcmp verglichen, stoße aber jetzt schon seit einigen
    Stunden auf das Problem, dass der weitere Dialog nicht angezeigt wird:



    if(dialogid == DIALOG_PASSCHANGE_CONFIRM)
    {
    if(!response) return SCM(playerid, -1, "Abgebrochen.");
    if(response)
    {
    if(!strcmp(inputtext, Spieler[playerid][SavePass], false))
    {
    ShowPlayerDialog(playerid, DIALOG_CHANGEPASS_TRUE, DIALOG_STYLE_INPUT,"Passwort-Änderung","Achtung: Du bist gerade dabei dein Passwort zu ändern! Mach dir damit bewusst, dass du erneut /saveacc Vorgang\nmachen >> musst <<, denn wenn dein Passwort geändert werden muss, muss auch das Sicherheitspasswort geändert werden!","Ändern","Abbrechen");
    }
    else
    {
    ocmd_changepassword(playerid, "");
    }
    }
    }

    Vom Aussehen her ist H1Z1 ein sehr anziehendes Spiel, aber wie gesagt: Es hat halt nicht sehr viele Variationen.
    Natürlich bin ich mir sicher, dass du auch in H1Z1 deinen Spaß finden wirst, aber wie lange das dauern würde,
    ist - denk' ich mal - absehbar. Miscreated ist ein recht weit entwickeltes Spiel und hat auch die perfekte Atmosphäre
    für so eine Zombie-Apokalypse, woran noch einige Spiele erstmal rankommen sollten. Am nähsten ist für mich da
    DayZ Standalone. Aber wenn du nur blöd rumlaufen willst und Zombies einzeln wegmetzeln möchtest oder selber weggemetzelt
    werden möchtest, dann habe ich keine Varianten für dich. Das perfekte Spiel, welches die Kombi von gutem PVP und Zombie's
    hat, ist für mich DayZ. Schau dir am besten einige Videos mal zu jedem Spiel an und entwickel deine Sympathie,
    denn jedem gefällt alles anders. Ich glaube die Meinungen sind eher oberflächlich, denn letztendlich spielt halt
    dein Wahrnehmen und die Sympathie zum und im Spiel die Hauptrolle.

    Ich sagte bereits auf Seite eins das ich ArK leider nicht spielen kann.


    MfG

    Wenn du entscheiden möchtest, dann entscheide dich zwischen H1Z1 und DayZ Standalone.
    Da H1Z1 nicht viele Modi hat und für mich persönlich DayZ Standalone einfach viel realistischer,
    schöner und einfach nur spaßiger ist - sogar dann, wenn man nur Videos(LP's) schaut - würde ich dir
    einfach DayZ Standalone empfehlen ohne lange rumzureden.


    Versuchs mal so:



    ocmd:bot(playerid,params[])
    {
    new pid, nactor;
    if(sscanf(params,"u",pid)) return SendClientMessage(playerid,COLOR_RED,"Benutzung: /spawnbot [Spielername oder id]");
    new Float:x; new Float:y; new Float:z;
    GetPlayerPos(pid,x,y,z);
    nactor = CreateActor(36, 0.0, 0.0, 0.0);
    SetActorPos(nactor, x+2, y+2, z);
    SetActorInvulnerable(nactor, false);
    return 1;
    }