[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
  • Wenn du i stehen hast, kannst du glaub ich keinen Teil des Namens eingeben, da das doch ebenfalls ein String ist.


    Wenn ich mich irre, habe ich was neues dazu gelernt, wobei ich mir da aber zu 99% sicher bin.

  • cool bleiben


    Okay, sry :D


    Mach es mal so:


    ocmd:roadblock(playerid,params[])
    {
    new wantedplayerid, Float:xwpid, Float:ywpid, Float:zwpid;
    if(sscanf(params,"u",wantedplayerid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_WHITE,"Du kannst einem Spieler eine Straßensperre an der Brücke von Los Santos und Flint County erstellen."), SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /roadblock [ID]");
    if(!IsPlayerConnected(wantedplayerid)) return SendClientMessage(playerid,-1,"Dieser Spieler ist nicht online!");
    GetPlayerPos(wantedplayerid,xwpid,ywpid,zwpid);
    if (!IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) || !IsPlayerInRangeOfPoint(playerid,250,xwpid,ywpid,zwpid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_RED,"Straßensperre fehlgeschlagen! Der Spieler wäre zu nah an der Straßensperre oder du bist zu weit entfernt vom Spieler.");
    SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_YELLOW,"Es wurde eine Straßensperre an der Brücke von Los Santos und Flint County errichtet.");
    CreateVehicle(596,51.4780,-1540.6693,4.6917,172.2895,0,1,0); // 1
    CreateVehicle(596,52.2971,-1534.7878,4.7385,352.3497,0,1,0); // 2
    CreateVehicle(596,53.1344,-1528.8831,4.6971,171.5437,0,1,0); // 3
    CreateVehicle(596,53.9985,-1523.2626,4.5887,352.5575,0,1,0); // 4
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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


  • Danke, jetzt werden keine Straßensperren mehr erstellt, wenn man einen nicht verbundenen User angibt. Dankeschön! :)
    if (!IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) || !IsPlayerInRangeOfPoint(playerid,250,xwpid,ywpid,zwpid))
    Du hast geschrieben, dass die wantedplayerid sich im Radius der Straßensperre befinden soll. Eigentlich soll sie außerhalb des Radius sein. IsPlayerInRangeOfPoint heißt ja, du musst so und so viel entfernt vom Punkt sein. !IsPlayerInRangeOfPoint heißt ja dann logischerweise, du darfst maximal so und so viel entfernt vom Punkt sein. Dann hast du || also > oder < geschrieben, aber beide Bedinungen müssen erfüllt sein: Die wantedplayerid muss mind. 250 Koordinaten von dem Punkt xy (Straßensperre) entfernt sein und die playerid darf max. 250 Punkte von der wantedplayerid entfernt sein. Ich habe es jetzt so stehen:


    if (IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) && !IsPlayerInRangeOfPoint(playerid,250,xwpid,ywpid,zwpid))


    Das schaut vom Prinzip her so aus, die transparenten Kreise stellen die Radien dar und die Rechtecke die Fahrzeuge:



    Obwohl es doch jetzt eigentlich funktionieren sollte, tut es trotzdem nicht. Wenn ich mich an der Straßensperre befinde, kann man sie trotzdem erstellen, obwohl ich doch eigentlich 250 Koordinaten entfernt sein muss. Ich denke, dass sich die beiden IsPlayerInRangeOfPoint-Befehle in die Quere kommen und es da ein Problem seitens PAWN gibt.


    Mit freundlichen Grüßen,
    Crusard

  • Was kann man den machen wenn man nix gemacht hat?....
    Sry für Spam meine das hier: Warnung!!!!

    Mit freundlichen Grüßen
    [color=#696969][i][b]Maxi
    [tabmenu]
    [tab='Signatur!']

    [tab='Mein Computer System']

    • Gehäuse Delux SH891 Midi-Tower (ATX) schwarz
    • Netzteil 650 Watt Corsair VS650
    • Festplatte 1000GB SATA III 7200upm
    • Mainboard AM3 Gigabyte GA-970A-UD3P (Chipsatz:AMD 970/SB950/ATX)
    • NVIDIA Geforce GTX 770 Gainward Phantom
    • 8192MB DDR3 Single Channel 1600MHz
    • Prozessor AM3+ (FX-Serie) AMD FX-8350 8x 4.0 GHz


    [tab='Meine Handys']

    • HTC ONE M8
    • Samsung S3 mini
    • Vll bald HTC ONE M7


    [tab='Mein Steam Account = 1']

  • Naja, da du ja dahinter abbrichst muss es so sein


    if (IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) || !IsPlayerInRangeOfPoint(playerid,250,xwpid,ywpid,zwpid)) return SendClientMessage...


    Hast du ja in der Nachricht auch so geschrieben (.... ODER ...) ;)

  • Ich brauch mal nen Rat aber irgendwie fail ich gerade :D


    Bei den Codeteil:
    Biz[i][bLock] = !Biz[i][bLock];//Bleibt unverändert?!
    if(Biz[i][bTyp] != bTypTanke)
    {
    format(labertext,50,"\nGebäude %s",((!Biz[i][bLock])?("schließen"):("öffnen")));
    }
    Das is nen Auszug von mein Öffnen/Schließen, jedoch bleibt das Gebäude immer geöffnet obwohl ich es abschließen will...
    Die Lock variable ist nen bool.


    Hat da jemand ne Idee warum da sogesehen nix passiert?

    All in all it's just another brick in the wall

  • Bei anderen sachen funkt das ja nur irgendwie versteh ich nicht warum genau der Teil nicht so will


    Wenn bLock = false ist, dann wandelst du es mit dem =! in ein true um...das sollte dir klar sein :rolleyes:

    ast2ufdyxkb1.png


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • jedoch bleibt das Gebäude immer geöffnet


    Das hast du doch geschrieben und wenn man sich die Abfrage anschaut:


    (!Biz[i][bLock])?("schließen"):("öffnen")


    Heißt das, dass Biz[ i ][bLock] = true sein muss, damit öffnen da steht und das bedeutet, da du ja davor den Wert geswitcht hast, dass er auf false war :rolleyes:


    mfg. :thumbup:

    ast2ufdyxkb1.png


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


  • ShowPlayerDialog(playerid, DIALOG_JOBS, DIALOG_STYLE_LIST, "Jobs", "Job Kündigen\nDetektiv\nEisverkäufer\nDrogen-Dealer", "Annehmen", "Abbrechen");



    DAFUQ?!


    Was ist der Fehler?

  • Um das ganze zu einem bool zu konvertieren benutzt man zwei Ausrufezeichen


    Er will es nicht konvertieren...es ist doch schon ein boolean ^^


    Er will den Wert ändern, wenn er auf false ist zu true und andersrum.


    mfg. :thumbup:

    ast2ufdyxkb1.png


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