[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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


  • wie kann ich hier rein bauen mit else "Du bist nicht in der nähe"

  • 3 Dinge zu dem Code:


    • IsPlayerConnect(playerid) das brauchst du nicht abfragen, da der Spieler ja online sein muss, um den Befehl einzugeben ^^ bzw kannst es 1x im Callback oben abfragen, aber nicht im jeden Befehl xD
    • Diese *then Notation ist zwar lustig, aber sollte man nicht verwenden, da das der Übersicht schadet.
    • PlayerToPoint ist schon sehr veraltet, einfach IsPlayerInRangeOfPoint nutzen. Oder die Funktion stock PlayetToPoint löschen und ein Makro oben im Skript machen: #define PlayerToPoint(%0,%1,%2,%3,%4) IsPlayerInRangeOfPoint(%1,%0,%2,%3,%4)


    C
    if(strcmp(cmdtext,"/towopen", true) == 0)
    {
    	if(!PlayerToPoint(5,playerid,1106.0683,-1691.4707,12.9108)) return SendClientMessage(playerid,-1,"Du befindest dich nicht in der Nähe!");
    	DestroyObject(OamtTor);
    	OamtTor2=CreateObject(968, 1106.07, -1691.47, 12.91,   0.00, -4.00, -90.00);
    	SendClientMessage(playerid,0x00C5FFFF,"Das Tor schließt in 5 Sekunden.");
    	SetTimerEx("oamtzu",5000,0,"i",playerid);
    	return 1;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke, habe das aber jetzt so


    if(IsPlayerInRangeOfPoint(playerid,5.0,1106.0683,-1691.4707,12.9108)) return SendClientMessage(playerid,COLOR_RED,"Du befindest dich nicht in der Nähe!");


    Und kann mein Tor sogar vom Dach oder 100 Meter weit weg aufmachen ..

  • Ich hab auch schon das nächste (wiederkehrende) problem :D



    Code
    if(strcmp(mInfo[vModel][fuelTyp], kraftstoff)){
    				    printf("mInfo: %s, Kraftstoff: %s", mInfo[vModel][fuelTyp], kraftstoff);
    				}else{
    				    printf("mInfo: %s, Kraftstoff: %s NICHT KORREKT", mInfo[vModel][fuelTyp], kraftstoff);
    				}

    Ich versteh das nicht xD...


    Ich möchte kontrollieren ob kraftstoff = mInfo[vModel][fuelTyp] ist wie rum man das macht ist ja eigentlich wurscht oder?


    Als ergebnis kommt allerdings (in der Konsole):


    mInfo: Benzin, Kraftstoff: Benzin NICHT KORREKT


    Warum ? xD es ist doch beides gleich lol ... Hoffe das ist eine kleine Scripting frage, ansonsten mach ich nen Beitrag auf.
    MfG
    XonarZ

  • if(strcmp(mInfo[vModel][fuelTyp], kraftstoff))

    Schau ins Wiki: [wiki]strcmp[/wiki]


    Die Funktion gibt 0 zurück, wenn die Strings übereinstimmen.


    Somit musst du auch das abfragen:


    if(strcmp(mInfo[vModel][fuelTyp], kraftstoff) == 0)


    oder kurz:


    if(!strcmp(mInfo[vModel][fuelTyp], kraftstoff))

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Nabend ihr Brotfische,
    Ich wollte ein Befehl machen wo er mir alle Admins ausliest und in ein Dialog anzeigt.
    Das Funktioniert 1 Sahne aber ich weiß gerade 0 wie ich das machen soll am besten dass ich dann den Spieler auswählen kann und diesen Bearbeite.
    Mir ist Klar ich muss irgendwie abfragen welches "Listitem" ich ausgewählt habe und das mit der anzahl abgleichen von denen die ich ausgelesen habe.



    Code
    case DIALOG_MEMBERS:
    {
         if(!response) return 1;
    }
  • Hey,
    Kleine Frage:
    Wie kann ich bestimmte Ingame-Sounds abspielen


    Beispiel:
    Wenn man geblitzt wird kommt der Sound wenn man mit einer Kamera ein Foto macht.
    Also Sounds die es im Spiel gibt, gibt es davon eine Liste?


    Oder gibt es so etwas überhaupt? Falls nein muss ich dann einfach ein Sound manuell hochladen und abspielen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ocmd:pilot(playerid,params[])
    {
    new choosed[MAX_PLAYER_NAME];
    if(sscanf(params, "s", choosed))
    {
    SendClientMessage(playerid, -1, "|__________________ Pilot Options __________________|");
    SendClientMessage(playerid, -1, "Benutze: /pilot [name]");
    SendClientMessage(playerid, -1, "Commands: find, duty");
    SendClientMessage(playerid, -1, "|________________________________________________|");
    return 1;
    }
    if(strcmp(choosed,"duty",true) == 0)
    {
    for(new pv = 0; pv < sizeof(PilotVehs); pv++)
    {
    new newcar = GetPlayerVehicleID(playerid);
    if(newcar == PilotVehs[pv])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast EINE Schlüssel!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"You are in no Pilot Vehicle!");
    return 1;
    }
    }


    }
    return 1;
    }


    SendClientMessage(playerid,COLOR_RED,"You are in no Pilot Vehicle!");


    Bekomme die nachricht immer, selbst wenn ich in einem Pilot veh bin.

  • Warum wird immernur der erste Eintrag in der Datenbank Geladen?

  • Warum wird immernur der erste Eintrag in der Datenbank Geladen?

    Mach das mal public mal so:



    //EDIT Seite lädt zu langsam ... statt die "0" ein "i"

  • Beitrag von Jeffry ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • new Float:literCount = floatstr(inputtext);

    Danke... klappt schon mal ... Ich habe noch eine Frage:


    Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?


    //EDIT Warum frage ich überhaupt, ich machs einfach ^^ (+0.01)
    //EDIT 2 Funktioniert nur nicht immer ^^ wenn ich nun 1.49 eingebe, kommt 1.50^^ brauche doch hilfe^^


    MfG
    XonarZ

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen