Unterschiede / Erklärung?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo liebe User!


    Ich habe mal eine Frage und brauche dazu eine genaue Erklärung!


    Es gibt 2 verschiedene Arten davon:


    if (strcmp("/gotoLSPD", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,1593.0315,-1610.2200,13.3864);
    SendClientMessage(playerid, RED,"Du hast dich zum LSPD geportet");
    return 1;
    }


    und


    if (strcmp(cmdtext, "/gotoLSPD2", true) == 0)
    {
    SetPlayerPos(playerid,1593.0315,-1610.2200,13.3864);
    SendClientMessage(playerid, RED,"Du hast dich zum LSPD geportet");
    return 1;
    }


    Kommen wir zu meiner Frage, Was ist der unterschied? Beides funktioniert?


    Und : was bedeutet genau bei dem ersten Beispiel: 10 , == 0 ?
    beim Zweiten: == 0 ?


    Bitte antwortet schnell! ;)


    MfG
    Joey

  • Kurz gefasst:
    if (strcmp("/gotoLSPD", cmdtext, true, 10) == 0)
    Vergleicht die ersten 10 Buchstaben von string 1 mit string 2 ("gotoLSPD" mit cmdtext), groß und kleinschreibung wird ignoriert.


    strcmp gibt 0 zurück, wenn die strings übereinstimmen. man könnte also auch:
    if (!strcmp("/gotoLSPD", cmdtext, true, 10))
    schreiben.




    Hier steht eine ganaue Erklärung dazu: http://wiki.sa-mp.com/wiki/Strcmp

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Ah okay thx.


    Ich hab jetz aber nen anderes Problem ich lern gerade über youtube bei MrMonat (Part 5)
    Ich bin dabei BSN eingang ( Ausgang ) zu machen aber immer wenn ich ich rausgehn will spawn ich im himmel,


    Hier mal die wichtigen Daten


    new BSNeingang;
    new BSNausgang;


    public OnGameModeInit()
    {
    BSNeingang=CreatePickup(1559,1,1199.3861,-919.5970,43.1114);
    BSNausgang=CreatePickup(1559,1,362.9830,-74.9165,1001.5078);

    DisableInteriorEnterExits();


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/gotoBSN", cmdtext, true, 20) == 0)
    {
    SetPlayerPos(playerid, 1218.2480,-919.9518,43.0938);
    SendClientMessage(playerid, RED,"Du hast dich zum BSN geportet");
    SetPlayerInterior(playerid,0);
    return 1;
    }
    return 0;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid==BSNeingang)
    {
    SetPlayerPos(playerid, 364.1241,-74.3321,1001.5078);
    SetPlayerInterior(playerid, 10);
    }

    if(pickupid==BSNausgang)
    {
    SetPlayerPos(playerid, 362.9830,-74.9165,1001.5078);
    SetPlayerFacingAngle(playerid,166.4540);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    }
    return 1;
    }



    Was hab ich wiedermal falsch gemacht? :P


    EDIT // Ich porte mich erst zum BSN, danach geh ich rein ( Manchmal komm ich auch in den Himmel dabei )
    und wenn ich wieder rausgeh komme ich IMMER in den Himmel!!


    EDIT2 // ... Wenn ich die SetPlayerInterior´s bei den /goto´s wegmache, und mich aus dem Laden teleportieren will, ladet er irgentwie die Welt nicht und ich bin wieder im Himmel auf ner unsichtbaren Platte

  • Guck dir mal die Interior ID´s an ;)
    Von Youtube Videos Scripten zu lernen halte ich garnichts.
    Ich habe mir nur ein Video einmal zur hälfte angesehen, und habe mich gleich gefragt, warum jemand, der keine Ahnung hat, solche Videos macht?

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.