Beiträge von eronor

    ich Lade es aus einem Filterscript weil mein Script dann nicht soviele Objekte in ongamemodeinit stehen hat
    dann muss ich immer soweit runter und hoch scrollen....
    Ich teste es ma mit dem normalen gamemode und sage dann nochmals obs klappt oder nicht ^^


    Antwort: Nein er läd immernoch gleich, wofür stehen denn die Parameter (0, 800) also (type, Item) ?

    Hallo Community,
    Ich habe den Streamer von Incognito wenn ich mich noch richtig dran erinnere und war auch eigentlich lange
    mit dem zufrieden nur jetzt habe ich eine sache gemappt die noch ca. 800 Objekte enthält.
    Aber der Streamer läd jetzt nur Objekte die wirklich sehr sehr nah an dem Spieler dran ist und damit mein ich extrem nah
    dass kann man an diesem bild sehen. Nein der gang ist nicht unfertig gemappt sondern der streamer läd den nur weiter wenn ich durch laufe.


    Ich finde dass sieht einfach unschön aus, meine Frage ist gibt es Streamer die anders arbeiten und dass vill. laden würden?
    Weil ich finde man sollte wenigstens die Objekte laden die der Spieler sehen kann, und den gang sieht man ja eigentlicht ^^
    oder arbeiten streamer überhaupt in dieser Art anders oder werden alle Streamer es so laden wie dieser?

    Ansonsten wäre ich auch sehr dankbar wenn ihr noch andere Lösungen hättet als einen neuen Streamer jede Antwort hilft.

    Ich bedanke mich schonmal für Antworten, mfg. Grek


    [BTW]:
    Kommentare wie: "Benutz doch die SuFu" könnt ihr euch sparen da ich diese schon verwendet habe und nicht hilfreiches fand.


    Falls der Präfix nicht passt oder ich im falschen Forumbereich bin tut es mir sehr Leid aber ich wusste nicht genau wodrunter man es packen kann.

    wie wäre es wenn du hier mal ein paar maps zeigst sons kann man sich ja kein bild von deinem stil machen
    und darum geht es eigentlich primär


    ps. Außerdem tust du etwas [bieten] und nicht [suchen] ;)
    du bietest dein mapping für geld an.

    if(IsPlayerMember(playerid,1) || IsPlayerLeader(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Man kann Polizisten keine Wanteds geben.");
    zu
    if(IsPlayerMember(pID,1) || IsPlayerLeader(pID,1))return SendClientMessage(playerid,COLOR_RED,"Man kann Polizisten keine Wanteds geben.");

    hast du kein stock? für SetPlayerCash(playerid,geld);
    oder für setplayermoney?
    weil SetPlayerCash gibt es so normal eigentlich nicht nur GivePlayerMoney

    for(new i; i < MAX_PLAYERS; i ++)
    {
    SetTimerEx("Paydaytimer",60000,1,"i",i);
    }


    ändere dass mal in
    erklärung: wenn jemand sich einloggt auf dem server wird für alle nochmal ein timer gestartet und dass immer wieder wenn einer einloggt, dass hier unten startet nur den timer für den der sich einloggt



    SetTimerEx("Paydaytimer",60000,1,"i",playerid);

    public OnPlayerSpawn(playerid)


    dass wird bei jedem Spawn abgerufen also auch wenn man stirbt und dann wieder spawnt
    mach es lieber unter


    public OnPlayerRequestSpawn(playerid)



    dass wird nur beim 1. spawn aufgerufen wo normalerweise der spawnbutton ist

    Hallo Community,
    ich werde in diesem Tutorial erklären wie man herrausfinden ob die spieler die dem server betreten, Roleplay namen haben wie z.b. 'Jamy_Wagner' oder 'Fritz_Müller'.



    benötigt wird:
    - Pawn Grundkenntnisse
    - Keine Angst vorm lesen
    - Lernbereitschaft

    Namen herrausfinden & Speichern

    Spoiler anzeigen
    erstmal schreiben wir alles in diesen Public:
    public OnPlayerConnect(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    Dieser public wird immer dann aufgerufen wenn ein Spieler versucht dem Server beizutreten.
    da schreiben wir erstmal folgendes rein:

    Spoiler anzeigen
    new PName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,PName,sizeof(PName));

    Spoiler anzeigen
    mit ' new ' erstellen wir eine neues variable die können wir nennen wie wir wollen, in diesem fall habe ich sie ' PName ' genannt. dass [MAX_PLAYER_NAME] bedeutet wieviele Zeichen ich in diese Variable rein packen kann, man kann genau sogut irrgendeine zahl schreiben wie z.b. ' 30 ' dann würden maximal 30 Zeichen in diese Variable passen. Aber in diesem fall die Maximale Spieler Namenlänge, [MAX_PLAYER_NAME] klingt logisch oder?

    Spoiler anzeigen
    GetPlayerName bedeutet folgendes ' Get ' ist dass englische wort für holen/bekommen ,' Player ' is dass englische wort für Spieler und ' Name ' ist dass englische wort für Name. Also zusammen HolSpielerName kann man also übersetzten mit ' Hol den Namen des Spielers ' okay in den klammern ' (...) ' schreiben wir dann die parameter.

    Spoiler anzeigen
    Der erste parameter bedeutet von welcher spieler id wir uns den namen holen wollen. die ids stehen wenn man ingame auf die ' tabulator ' taste drückt links vom spieler.

    aber wir kennen ja die id des spielers nicht, deswegen schreiben wir ' playerid ' hin also die id des spielers so einfach.
    Als nächstes müssen wir angeben in welcher variable/string wir den namen speichern wollen, in diesem falle ist es unsere variable/string ' PName ' . In den nächsten parameter schreiben wir wieviele Buchstaben unsere variable/string maximal speichern kann. Da wir es schon oben mit 'new PName[MAX_PLAYER_NAME]; ' definiert haben als [MAX_PLAYER_NAME] können wir einfach schreiben ' sizeof(PName) ' dass soviel heißt wie die größe von unserer variable/string ' PName ' dass in diesem falle die Maximale Spieler Namenlänge ist.


    Abfrage

    Spoiler anzeigen
    Okay jetzt haben wir den Namen gespeichert nun müssen wir abfragen ob der name ein ' _ ' enthält dass machen wir mit.

    Spoiler anzeigen
    if ( strfind ( string, sub, ignorecase ,ignorecase ) Position && !IsPlayerNPC (playerid) )

    Spoiler anzeigen
    okay was bedeutet dass? 'if' is eine abfrage und heißt übersetzt 'wenn'.
    strfind bedeutet soviel wie 'string find' dass übersetzt bedeutet 'Zeichen/Zeichenkette finden' also Buchstaben/Zahlen oder wörter aus einem Wort finden. okay dann haben wir als ersten parameter 'string' da gehört der string hin in dem wir die Zeichen(Buchstaben/Zahlen) finden wollen. In diesem fall unsere Variable/string 'PName'.

    Spoiler anzeigen
    Okay der nächste parameter ist 'sub' da schreiben wir rein welche Zeichen(Buchstaben/Zahlen) wir in unserem String suchen in diesem Fall "_" also schreiben wir in solchen zeichen "_" was wir suchen darein.

    Spoiler anzeigen
    als nächsten parameter haben wir 'ignorecase' dass bedeutet soviel wie 'groß und kleinschreibung ignorieren' also fragt er uns ob er die groß und kleinschreibung ignorieren soll. da schreiben wir 'false' oder ' 0 ' für nein hin er soll die groß und kleinschreibung beachten oder wir schreiben 'true' oder '1' dafür dass er die groß und kleinschreibung ignorieren soll. Dass danach müssen wir nochmal 'true' oder 'false' machen für die Zeichenkette die wir suchen in diesem fall "_".

    Spoiler anzeigen
    schön und gut nun kommen wir zu 'position' da schreiben wir "== -1" hin dass soviel bedeutet wie 'gleich -1' wieso dass da stehen muss weiß ich selber nicht genau und ich möchte auch durch meine vermutungen hier nichts verbreiten dass nicht stimmt aber ohne dies funktioniert es nicht. Es können ja mal erfahrenere scripter schreiben was es bedeutet. Dann werde ich es noch dazu editieren. Aber wichtig ist dass da "== -1" stehen muss.

    Spoiler anzeigen
    Dann haben wir ein '&&' dass bedeutet einfach 'und' also fragen wir noch was undzwar ob '!IsPlayerNPC(playerid)'. dass '!' bedeutet 'nicht'. 'IsPlayerNPC' heißt übersetzt 'Ist Spieler ein NPC' also fragen wir ob er ein NPC/Bot ist und kein Spieler. wenn wir es vereinen fragen wir also mit !IsPlayerNPC (playerid) ab, ob der Spieler kein NPC ist. In den klammern kommt wieder die Spieler id, da schreiben wir in diesem Falle wieder 'playerid' hin.
    Die abfrage sollte bei euch nun so aussehen.

    if ( strfind ( PName, "_", false, false) == -1 && !IsPlayerNPC (playerid) )
    {


    Spieler kicken

    Spoiler anzeigen
    In diesen Klammern ' { } ' schreiben wir nun rein was passiert wenn bei dem Spieler kein '_' gefunden wurde. Dass wäre folgendes.

    Spoiler anzeigen
    if ( strfind ( PName, "_", false , false) == -1 && !IsPlayerNPC (playerid) )
    {
    SendClientMessage(playerid,0xFF0000FF,"Sie haben keinen Roleplay Namen.");
    Kick(playerid);
    return 1;
    }

    Spoiler anzeigen
    Wir schreiben dem Spieler eine Nachricht mit SendClientMessage(playerid,Farbe(Farb Code/#define),Message); wo drin steht dass er kein Roleplay Namen hat, ich denke darauf muss ich nicht weiter eingehen. Dann werfen wir den Spieler vom Server mit Kick(playerid); hier steht 'playerid' wieder für die id vom Spieler. Und am schluss ein return 1; dass wars.


    Ich würde mich sehr über Bewertungen von Scriptanfängern freuen, damit ich weiß ob es gut zum lernen geholfen hat und ich würde mich auch freuen wenn Professionellere Scripter meine fehler(falls vorhanden) verbessern.
    mfg. Grek