Beiträge von munkee

    Moin Leute,


    Ich hab da n Problem mit den Toren: Man sieht keine Tore und Schranken, andere Objekte jedenfalls Schon, man kann durch, wenn man aber den Command für zum Beispiel das Armytor eingibt, hört man das Geräusch, aber man sieht nichts, wenn das Tor zu ist kann man auch so Durch,
    Am Streamer Liegts NICHT! beim LSPD Tor steht da dass das Tor 5 Sek. offen sein wird, man sieht jedoch nichts!


    Hoffe ihr könnt mir Helfen :S


    MfG
    Chupa


    *Edit: Überschrift

    Gut um zu testen ob einer Godmode Hack an Hat:




    if(strcmp(cmd,"/aexplode",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /aexplode [playerid/PartOfName]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if(IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1337)
    {
    GetPlayerPos(plo, plocx, plocy, plocz);
    CreateExplosion(plocx,plocy+2, plocz,3,10);
    SendClientMessage(playerid, COLOR_GRAD1, "Explodiert!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    Guckst du auch hier: http://www.youtube.com/watch?v=GYqJdj45pmI&feature=related Wird dir sehr helfen! Glaub mir ! ;)


    MfG
    Jim //Chupa

    Ich würde dir Raten hier im Tutorialbereich nachzugucken, da gibts ne Menge Tutorials für sowelche Neulinge wie Dich! Und guck dir auf jeden Fall in Youtube die Scripting Tutorials von MrMonat an! Die sind echt leicht zu Verstehen!


    Hoffe konnte Helfen


    MfG
    Jim // Chupa

    Was für ein Script haste? Und was Steht unter dem enum mit den Spielerinformationen (Also so:



    enum pInfo //Beispiel
    {
    pAdmin,
    pLol
    }
    new SpielerInfo blablabla // Also was steht unter diesem Enum?
    )


    //EDIT: enum kann bei dir anders Heißen!!! und new dadrunter auch!!

    wegen strcmp: Sry wusst ich nich dachte eig. wenn eingegeben wird :S Danke dass du mich darauf aufmerksam gemacht hast


    und wegen ==0: Mein Fehler Sry hab ich Vergessen!

    if, else + Commands


    So, heute erklär ich euch mal das if, else und wie man Commands macht!



    Commands Mit und ohne Parameter


    Also, es gibt 2 Command - Arten, einmal mit Parameter z.B. /kick [playerID] und einmal ohne Parameter: /killme


    Wir Fangen als erstes Ohne Parameter an, also ganz einfache Commands wo man keine ID oder sowas Eingibt.


    Wir erstellen mal den Command /killme der nur für RCON Admins bestimmt ist(InGame /rcon login [RCON Passwort aus Server.cfg])



    if/* Wenn*/(strcmp/* Vergleicht 2 Strings */("/killme"/* Der Command /killme (String 1) */,cmdtext /* Also Command (String 2) */,true /*Es ist also ein Command*/)==0 /*Fragt ab ob die beiden Strings Identisch sind, also zueinander Passen!*/)
    { //Also wenn /killme eingegeben wir Passiert...
    if/* wenn... */(IsPlayerAdmin(playerid)) //... Der Spieler als RCON Admin eingeloggt ist.
    {//Passiert...
    SetPlayerHealth(playerid,0)//Setzt die HP (HealthPoints) Des ausführenden (playerid) auf 0, Er Stirbt ^^
    }//Ende der Ausführung
    else //ansonsten, Wenn der Spieler NICHT als RCON Eingeloggt ist...
    {// ...passiert...
    SendClientMessage/* Sendet eine Nachricht */(playerid, /*Dem Spieler der /killme eingegeben hat*/rot, /* (Farbe, 1. Tutorial Lesen!!!) */ "Du bist kein RCON Admin!");
    }//ende der Ausführung wenn der Spieler Nicht als RCON Eingeloggt ist!
    }//Ende des Kommandos



    Ich weiß dass es nicht Übersichtlich ist, aber hier nochmal im Klartext:


    if = wenn...
    (strcmp = Vergleicht die ersten beiden Strings
    ("/killme" = /killme Der Command (String 1)
    cmdtext = Es ist also ein Command (String 2)
    true = Soweit ich weiß Richtig (Also dass /killme ein Command ist)
    ==0 = dass die Beiden ersten Strings Identisch sind, also zueinander Passen ("/killme" und cmdtext)
    { = Beginnt den Vorgang
    IsPlayerAdmin = Ist der Spieler Admin
    playerid = Wieder der Ausführende, also wenn der Ausführende als Admin eingeloggt ist.
    SetPlayerHealth = Setzt die HP...
    playerid = ...des ausführenden...
    0 = ... auf 0, also Hat er dann kein Leben mehr und Stirbt!
    OPTIONAL: wenn da Steht 100 ( SetPlayerHealth(playerid,100); ) wird die HP Auf 100 Gesetzt, also falls man z.B. 50 HP hat, bekommt man 100 HP, Man Stirbt also nicht!
    else = Ansonsten (Hierbei wenn er NICHT als Admin eingeloggt ist) Passiert ( { )
    SendClientMessage = Sendet eine Nachricht
    playerid = Dem Ausführenden
    rot = Farbe Rot, muss man definiert haben (1. Tutorial Lesen!!!)
    "Du bist kein RCON Admin!" = Den Text: Du bist kein RCON Admin! in der Farbe rot!


    Jetzt nochmal das Ganze ohne die Kommetare:



    if(strcmp("/killme",cmdtext,true )==0)
    {
    if(IsPlayerAdmin(playerid))
    {
    SetPlayerHealth(playerid,0)
    }
    else
    {
    SendClientMessage(playerid,rot, "Du bist kein RCON Admin!");
    }
    }



    So das wars mit Teil 2 ^^


    Kritik, Lobe, Wünsche, Verbesserungsvorschläge usw. sind Erwünscht!


    MfG
    Jim // Chupa


    Es folgt noch ein Tutorial MIT Parametern! (strtok, vielleicht Auch dcmd)


    //EDIT: Verbessert!!! Danke an patoo, der mich auf die Fehler aufmerksam gemacht hat!
    ///EDIT: Nochmals Fehler Verbessert und ==0 Erklärung eingefügt!

    Genau solche unsinnigen Tutorials findet man auch im Wiki.
    Naja wers braucht. :p


    /e: Text verbessert

    Jaa ich weiß aber es gibt ja Neulinge, die Wiki nicht kennen, oder einfach zu faul sind um drauf zu gehen, deswegen ist es Besser wenn man solche Tutorials hier postet, als dass irgendwie Das Forum vollgespammt wird mit "Wie Scriptet man?" oder "Woher krig ich Tutorials?". :)

    Moin moin Bredfisher ^^


    Ich hab mich mal Hingesetzt und Mein erstes Tutorial Geschrieben, hierbei Handelt es sich um:



    #define


    Also Fangen wir mal mit dem #define an,


    Was ist #define ?
    Mit #define Kannst du Sachen Definieren, z.B. Statt den HexCode² für die Farben überall einzeln einzugeben, machen wir mal das Hier:




    #define rot 0xFF0000FF // 0xFF0000FF ist hier der Hexcode für die Farbe Rot!


    So, jetzt habe ich die Farbe Rot definiert, Was Bringt mir Das?

    Das erleichtert dir sehr die Arbeit beim Scripten, so kannst du zum Beispiel Bei SendClientMessage* Das hier machen:



    SendClientMessage(playerid,rot,"Hallo Welt!");


    So jetzt Erklärungen:
    SendClientMessage = Sendet dem Spieler eine Nachricht
    playerid = SpielerID, an wen es Gesendet wird, playerid ist Standart Mäßig der, der sich z.B. Einloggt, zum Beispiel so:



    public OnPlayerConnect(playerid) // Normalerweise immer im Script drinne
    { //Also, Wenn der Spieler sich einklinkt, passiert:


    SendClientMessage(playerid,rot,"Hallo!"); /* Es wird eine Nachricht (SendClientMessage) an den Spieler gesendet der sich Eingeklinkt hat (playerid), in Der Farbe "rot" wie oben Definiert, mit dem Text "Hallo!" */


    }// Hier wird die Aktion (Was passiert, wenn der Spieler sich Einklinkt) Geschlossen!


    Also wenn man playerid bei SendClientMessage eingibt, Erhalten nicht Alle, sondern nur der, der die jeweilige Aktion ausgeführt hat.
    So, weiter im Text, rot = Die Farbe die wir Oben Definiert haben (0xFF0000FF)
    "Hallo!" = Der Text der Gesendet wird, Beim einklinken erhält der Spieler die Nachricht Hallo! (Ohne Gänsefüßchen!!)
    So, ich denke Soweit müsste es jeder Kapiert haben ^^



    Das kleingeschriebene:
    HexCode² = Der Computer Liest den Code: 0xFF0000FF und Gibt die Farbe ROT aus, also beim Scripten sehen wir: 0xFF0000FF , Aber Später im Game, sehen wir statt diesen Code, die Farbe
    ROT


    Ihr könnt auch Statt #define was anderes machen unzwar:

    new rot = 0xFF0000FF;


    Das Heißt wir machen das Gleiche wir Oben nur mit einem new (= Neu) Also Auf Deutsch gesagt:



    Neu rot = /* Das Gleichheitszeichen sagt also rot ist: */ 0xFF0000FF; // Hierbei ist wieder 0xFF0000FF der HexCode


    Info zum HexCode: der HexCode wird in dem Format angegeben: 0xRRGGBBSS


    RR = Rot Menge
    GG = Grün Menge
    BB = Blau Menge
    SS = Sichtbarkeit: 00 = Nicht sichtbar / FF = 100 % Sichtbar

    MfG
    Jim // Chupa




    Weitere Tutorials kommen noch, Kritik, Lobe usw. sind Willkommen!



    Was noch Kommt:
    if, else, #if defined, #include, und enums


    //EDIT Formatierung ^^
    ///EDIT2: Erneute Formatierung
    ////EDIT3: Noch eine Information hinzugefügt :)

    Ich hab letztens auf der Offiziellen Seite gesehen Developing: 0.3d aber danach wars irgendwie Weg, aber Dass es schon draußen ist O.O wusst ich nich 8|


    //EDIT Ich lads auch erstmal net Runter

    Wenn du n login + register system hast und mit enums umgehen kannst, müsstest du nur n bisschen denen dann weißte wie ^^


    tipp: im enum neue variable job und dann kannste sozusagen job ids machen z.b. id 1 = tuner, id 2 = busfahrer usw. dann bei den commands noch if(SpierInfo[playerid][job] == 1)


    wenn du grundwissen besitzt müsstest du diese kurzfassung verstehen ^^


    mfg

    Hallo Leudee hab ma wieder ein Problem :D


    unzwar; Wenn ich oder jmd. anderes auf den Server gehe, steht da ja erstmal Samp 0.3b Started usw. Dann aber wenn das Script geladen hat Taucht eine Schwarze Fläche unten auf - und ich krieg sie nich Weg X( nicht nur ich habe das Problem, alle anderen auch.


    Könnt ihr mir Helfen?


    und Die Textdraws sieht man, Kompass, Speedo usw. aber nicht


    //EDIT: Überschrift geändert + Ich brauch immanoch Hilfeee X(


    MfG