Beiträge von Equ

    Includes Updaten?

    EDIT: Die Includes sind jetzt Geupaded, Errors sind auch weg, aber der CJ Skin wird immer noch angezeigt,


    Code:




    SeSeSkin1 = TextDrawCreate(413.000000, 25.000000, "_");
    TextDrawBackgroundColor(SeSeSkin1, 255);
    TextDrawFont(SeSeSkin1, TEXT_DRAW_FONT_MODEL_PREVIEW);
    TextDrawLetterSize(SeSeSkin1, 0.500000, 1.000000);
    TextDrawColor(SeSeSkin1, -1);
    TextDrawSetOutline(SeSeSkin1, 0);
    TextDrawSetProportional(SeSeSkin1, 1);
    TextDrawSetShadow(SeSeSkin1, 1);
    TextDrawUseBox(SeSeSkin1, 1);
    TextDrawBoxColor(SeSeSkin1, 255);
    TextDrawTextSize(SeSeSkin1, 80.000000, 113.000000);
    TextDrawSetSelectable(SeSeSkin1, false);
    TextDrawSetPreviewModel(SeSeSkin1, 17);


    Grüße

    Hallo,



    Ich hab ein Problem ich wollte gerad für meine Fraktion ein Skin System erstellen,
    womit man mit /skin ein Bild von einem Model sieht nun es wird ein Skin angezeigt, aber nicht der denn ich haben wollte
    denn es wird der normale CJ Skin angezeigt, und nicht mein Skin mit der ID 17
    habe es so unter OnGameModeInit stehen


    TextDrawSetPreviewModel(SeSeSkin1, 17);



    Und kriege natürlich ein Error das die Funktion nicht Vorhanden ist,


    error 017: undefined symbol "TextDrawSetPreviewModel"



    Vielleicht könnt ihr mir ja da weiter helfen drüber geben




    Grüße

    Wenn du den Command haben möchtest, hier hab ich dir mal eben geschrieben.
    Musst jetzt nur noch die Farben anpassen und ggf noch die Nachricht wenn du sie anders haben möchtest :D


    ocmd:spawnspieler(playerid,params[])
    {
    new spielerspawnid, string[70];
    if(sscanf(params,"u",spielerspawnid))return SendClientMessage(playerid,DEINE FARBE,"/spawnplayer [Name/ID]");
    if(!IsPlayerConnected(spielerspawnid))return SendClientMessage(playerid,DEINE FARBE,"Der Angegebene Spieler ist nicht online.");
    format(string,sizeof(string),"Du hast Erfolgreich den Spieler %s mit der [ID: %i] Gespawnt!",SpielerName(spielerspawnid),spielerspawnid);
    SendClientMessage(playerid,DEINE FARBE,string);
    SpawnPlayer(spielerspawnid);
    return 1;
    }

    Lieber BlackAce,



    Ich bin glaub ich jetzt schon zum 1000x auf der Seite und hab bislang keine Lösung gefunden,
    wie man das mit der taste "N" hin bekommt, währs du bitte so nett und könntest es mir Vielleicht mal zeigen wie das eigentlich aussähen müsste :)




    Grüße

    Setz einfach alles unter dem Befehl unter das "IsPlayerInRangeOfPoint", aber ohne das "OnPlayerCommandText"

    Lol?, und wie soll das denn dann Funktionieren ? :D



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == KEY_NO)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1757.3583,-1912.5767,13.5689))
    {
    (playerid,"/enter");
    }
    }
    return 1;
    }



    Warning:


    xpression has no effect

    Funktioniert immer noch nicht,


    Hab es jetzt so:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == KEY_NO)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1757.3583,-1912.5767,13.5689))
    {
    OnPlayerCommandText(playerid,"/enter");
    }


    }
    return 1;
    }


    Muss ich eventuell noch irgendetwas unter "OnPlayerCommandText" schreiben ?

    Hier der Stock:



    stock DruecktSpielerN(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1471.6987,-1265.3558,14.5625) || IsPlayerInRangeOfPoint(playerid,2.0,1352.2712,-1758.7559,13.5078) || IsPlayerInRangeOfPoint(playerid,2.0,1757.3583,-1912.5767,13.5689) || IsPlayerInRangeOfPoint(playerid,2.0,-347.9406,-1046.0878,59.8125) || IsPlayerInRangeOfPoint(playerid,2.0,299.9170,-1154.7178,81.2034) || IsPlayerInRangeOfPoint(playerid,2.0,919.4677,-1252.1180,16.2109) || IsPlayerInRangeOfPoint(playerid,2.0,1554.7833,-1676.3591,16.1953) ||
    IsPlayerInRangeOfPoint(playerid,2.0,1568.6735,-1691.3983,5.8906))return 1;
    return 0;
    }

    Moin




    Ich hab ein kleines Problem,
    Und zwar habe ich unter OnPlayerKeyStateChange eine Funktion gemacht die bewirken soll das wenn der Spieler auf die Taste "N" drücken tut
    das, wenn er sich an einer bestimmten stelle befindet, "/enter" nutzen kann.



    So aber jetzt Das Problem, so bald ich die Taste "N" drücken tue an der Position kommt die nachricht:




    - "Befehl Existiert nicht", warum?


    Hier mal der Code:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    // N Taste defined
    if(newkeys & KEY_NO)
    {
    if(DruecktSpielerN(playerid))
    {
    OnPlayerCommandText(playerid,"/enter");
    }


    }
    return 1;
    }

    Moin



    Ich hab bei meinem PersoCheckTimer, einen Warning es funktioniert alles auch zwar aber trotzdem will ich diesen Warning los werden.



    Acc[playerid][PERSO_Timer] = SetTimerEx("PersoCheck",60000,1,"i",playerid); // warning 213: tag mismatch




    Vielleicht findet ihr ja den Fehler.




    Grüße

    Und was bringt das ganze?
    Dann gibt der User ein falsches Alter an und das alles war umsonst ( >.<) Das mit 16 ist sowieso Übertrieben finde ich, mach lieber 14... die meisten User sind zwischen 13 - (schätzungsweise) 27 Jahre alt. Das höchste was ich kenne vom Alter eines Users war 24 Jahre.

    Mein guter, das ist doch hierbei irrelevant denn meine Frage lautete,
    wie stelle ich es an den Dialog erneut anzuzeigen wenn er unter 16 oder über 90 geht,
    und auserdem ist das doch meine Sache ob ich dies über 16 mache oder nicht .. :pinch:

    Abend



    Ich habe eine Frage, und zwar,
    hab ich ein "Dialog Alter" Gemacht wo man sein alter zwischen 16 - 90 angeben muss, funktioniert auch.
    nun ist meine frage, er muss ein "Alter" zwischen 16 - 90 auswählen, nur das Problem ist.
    So bald er unter 16 oder über 90 geht, kommt wie gewollt die Fehler Meldung, aber der Dialog schließt sich dann einfach,
    Ich will das jetzt so machen das wenn er eine Zahl unter 16 oder über 90 eingibt das die Nachricht kommt Und der Dialog wieder erscheinen tut.


    Mein Code:


    if(dialogid==DIALOG_ALTER)
    {
    if(response == 1)
    {
    new string[100];
    format(string, sizeof(string), "{DCDCDC}Okay, du bist also {23DD00}%i {DCDCDC}Jahre alt", strval(inputtext));
    SendClientMessage(playerid, GELB, string);
    if(strval(inputtext)<16||strval(inputtext)>90)return SendClientMessage(playerid,ROT,"Du musst ein Alter zwischen 16 - 90 Jahren wählen");
    SetPVarInt(playerid,"Alter",strval(inputtext));
    ShowPlayerDialog(playerid,DIALOG_REGISTERDONE,DIALOG_STYLE_MSGBOX,"Mameladen of Reallife","{E2C500}Register Schritt 4/4:\n{DCDCDC}Die Regestrierung ist hiermit nun abgeschlossen.\nDu kannst dir im folgenden noch das Tutorial ansehen.\n\n{23DD00}Forumaccount:\n{DCDCDC}Folgt.","Weiter","");
    }
    if(response == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Mameladen of Reallife","{E2C500}Registrierung Schritt 3 / 4:\n\n{DCDCDC}Jetzt benötigen wir noch dein Alter\n{23DD00}16 - 90","Weiter","Abbrechen");
    }
    }


    Grüße

    Daher kommt das Feld du brauchst mindestens einmal addplayerclass bei ongamemodeinit spawn Koordinaten können 0.0 sein solange du sie beim eigentlichen spawn änderst

    Also ich hab es jetzt so bei OnGameModeInit stehen:


    AddPlayerClass(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);



    Aber hat nix gebracht..

    Abend



    nun denn mein Problem,


    Mein Problem liegt im Register/Login System.
    Das Problem ist, wenn ein Spieler Connecten möchte kommt wie gewohnt der "Login/Register" Dialog,
    nur das Problem ist, wenn er sagen wir auf den "Register" Button klickt, erscheint das Tutorial.
    Und bei meinem Login Dialog, wenn er Connecten tut und dann auf Login klickt ist man direkt am Spawn aber der "Login" Dialog bleibt auch.


    Also alles funktioniert bis auf:


    Das, das Tutorial beim Registrieren direkt kommt und nicht nach dem Registrieren.
    und man Spawnt einfach wenn man auf Login klickt, Dialog bleibt natürlich und er kann sich auch nicht bewegen man muss das PW eingeben.


    Nur frage ich mich jetzt wie Behebe ich diese Probleme ?


    Code:



    OnDialogResponse:


      if(dialogid==DIALOG_LOGIN)
    {
       if(response==0)
       {
           SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
           Kick(playerid);
           return 1;
       }
       if(response==1)
       {
           if(!strlen(inputtext))
           {
       new string2[70];
       SendClientMessage(playerid,DUNKELROT,"Das Passwort ist Falsch!");
       format(string2,sizeof(string2),"Willkommen zurück {00B056}%s",SpielerName(playerid));
       ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",string2,"Login","Abbrechen");
                  return 1;
           }
           else
           {
           Login(playerid,inputtext);
           return 1;
    }
       }
    }
    if(dialogid==DIALOG_REGISTER)
    {
       if(response==0)
       {
           SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
           Kick(playerid);
           return 1;
       }
       if(response==1)
       {
           if(!strlen(inputtext))
           {
               SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
               ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Account Erstellung","Gib ein Passwort ein","Erstellen","Abbrechen");
               return 1;
           }
           else
           {
           Register(playerid,inputtext);
           return 1;
    }
       }
    }



    Ich habe mich so ausführlich ausgedrückt wie ich nur konnte,




    Grüße


    Du musst die Musik auf deine Webspace hochladen.
    Außerdem geht das so: PlayAudiStreamForPlayer(playerid,"LINK");
    Sobald das Tutorial zu Ende ist: StopAudioStreamForPlayer(playerid);

    Hä, also das ist doch dann total sinnlos mit "LINK" Will er doch den Link zum Stream also zur musik haben?
    warum sollte ich diese dann hochladen, und mal angenommen ich lade sie hoch aber wo dann hochladen ?