[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
  • heyhooo:
    Aber kann ich jetzt die Data2 geben, weil sonst würde der die if Abfrage nie ausführen, weil der Client die Data doch nicht hat?

  • Hört sich vielleicht jetzt ein bischen blöd an aber wie kann ich jetzt machen das ich wenn ich zb /garage buy eingebe.
    Das dann nur 1ne garage gekauft wird? Hab da jetzt irgendwie ein Denkfehler ?(

    Aufgrund deiner zweiten Aussage ich weiß ja nicht wie du das ganze aufgebaut hast jedoch solltest du die schleife dann abbrechen lassen
    mit break; oder einem return 1; sollte die bedingung erfüllt sein

  • Aufgrund deiner zweiten Aussage ich weiß ja nicht wie du das ganze aufgebaut hast jedoch solltest du die schleife dann abbrechen lassen
    mit break; oder einem return 1; sollte die bedingung erfüllt sein



    enum G {
    Float:xx,
    Float:yy,
    Float:zz,
    Virtual,
    Buy,
    Gcreated,
    Owner
    }

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2



  • Dazu kann die for-schleife so ausssehen


    for(new i, i != MAX_GARAGEN; ++i){
    if(!IsPlayerInRangeOfPoint(playerid,2.0,Garagen[i][xx],Garagen[i][yy],Garagen[i][zz]) && !Garagen[i][Gcreated] && !Garagen[i][Buy])continue;
    Garagen[i][Buy]= 1:
    Garagen[i][Owner]= playerid:
    return SendClientMessage(playerid,-1,"Du hast die Garage gekauft");
    }

  • Brächte mal kurz Hilfe habe hier die Befehle um Garagen zu erstellen und zu löschen.

    if (strcmp("/garage create", cmdtext, true, 10) == 0)
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, WHITE, "Du musst dazu als Rcon Admin eingeloggt sein!");
    {
    for(new i = 0; i <MAX_GARAGEN; i++)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    Garage[i] = CreateObject(18452,x,y,z,0.0000000,0.0000000,0.0000000);
    //Garage[i] = CreateObject(8947,2497.0000000,-1668.4000200,15.4000000,0.0000000,0.0000000,0.0000000);
    EditObject(playerid, Garage[i]);
    new string[50];
    format(string,50,"Du hast Garage Nummer %d erfolgreich erstellt!",i);
    SendClientMessage(playerid,WHITE,string);
    }
    return 1;
    }
    }
    if (strcmp("/garage delete", cmdtext, true, 10) == 0)
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, WHITE, "Du musst dazu als Rcon Admin eingeloggt sein!");
    for(new i = 0; i <MAX_GARAGEN; i++)
    {
    if(IsPlayerNearObject(playerid, Garage[i], 5.0))
    {
    DestroyObject(i);
    new string[50];
    format(string,50,"Du hast Garage Nummer %d erfolgreich gelöscht!",i);
    SendClientMessage(playerid,WHITE,string);
    }
    else SendClientMessage(playerid, WHITE, "Du musst in der nähe iner Garage sein!");
    }
    }
    Jedoch werden 21 Garagen erstellt. Ganz logisch weil MAX_GARAGEN auf 21 gesetzt ist.
    Wie kann ich das jetzt so machen das wenn ich 1ne Garage erstelle das die dann Nummer 1 ist usw.
    Beim löschen soll hald nur die Garage gelöscht sein bei der ich in der nähe bin. Hier noch der IsPlayerNearObject stock

    stock IsPlayerNearObject(playerid, objectid, Float:range)
    {
    new Float:pos[3];
    GetObjectPos(objectid,pos[0],pos[1],pos[2]);
    if(IsPlayerInRangeOfPoint(playerid,range,pos[0],pos[1],pos[2])) return true;
    return false;
    }


    //EDIT Rechtschreibfehler

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2

    Einmal editiert, zuletzt von root ()

  • pack alles in ein enum, und dann

    bool:erstellt,

    dann im code abfragen ob sie erstellt ist, wenn ja überspringen

    if (strcmp("/garage create", cmdtext, true, 10) == 0)
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, WHITE, "Du musst dazu als Rcon Admin eingeloggt sein!");
    {
    for(new i = 0; i <MAX_GARAGEN; i++)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    if(GaragenInfo[i][erstellt]==true)continue;//änern
    Garage[i] = CreateObject(18452,x,y,z,0.0000000,0.0000000,0.0000000);
    //Garage[i] = CreateObject(8947,2497.0000000,-1668.4000200,15.4000000,0.0000000,0.0000000,0.0000000);
    EditObject(playerid, Garage[i]);
    new string[50];
    format(string,50,"Du hast Garage Nummer %d erfolgreich erstellt!",i);
    SendClientMessage(playerid,WHITE,string);
    }
    return 1;
    }
    }

    und der stock, musst in einer for schleife alle garagen durchgehen und posi abfragen, alles via enum, am einfachsten ;)

  • Funktzionier immernoch nicht. Es werden erstellt undzwar immernoch alle die die Anforderungen erfüllen ;(
    Kann mal vielleicht einer via TV drüberschauen?

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Hey Leute,


    ich hatte mein Tacho überarbeitet und nun wird er nicht mehr angezeigt. Er wird nicht mehr angezeigt, seitdem ich die Schadens anzeige hinzugefügt hatte. Ich habe aber auch keine Erklärung wie ich das beheben sollte :/. Es wäre nett wenn ihr mir helfen würdet.
    format(string,sizeof string,"%d",distancenew);
    TextDrawSetString(kmht[i],string);
    format(string,sizeof string,"%d",Gas[GetPlayerVehicleID(i)]);
    TextDrawSetString(Tankt[i],string);
    format(string,sizeof string,"%s",VehicleName[GetVehicleModel(vehicle)]);
    TextDrawSetString(Autoname[i],string);
    new Float:vhp;
    GetVehicleHealth(vehicle,vhp);
    vhp = floatdiv(vhp, 10.0);
    format(string,sizeof(string),"%.0f%%",vhp);
    TextDrawSetString(Schadent[i],string);
    TextDrawShowForPlayer(i,Box1[i]);
    TextDrawShowForPlayer(i,Box5[i]);
    TextDrawShowForPlayer(i,kmht[i]);
    TextDrawShowForPlayer(i,kmh[i]);
    TextDrawShowForPlayer(i,Tank[i]);
    TextDrawShowForPlayer(i,Tankt[i]);
    TextDrawShowForPlayer(i,Schaden[i]);
    TextDrawShowForPlayer(i,Schadent[i]);
    TextDrawShowForPlayer(i,Autoname[i]);

  • Wie kann man ein Object vergrößern, wie z.B. auf vielen Servern wo man Attachments an seinem Körper verschieben und auch verzerren kann. Nur ich wollte halt ein Object von vorne rein vergrößert in der Map haben.

    Meine Fähigkeiten: PAWN Scripting: 5% Mapping: 99%

  • Kann man eventuell einen bot irgendwo erstellen, und diesem das Object zuweisen und dann vergrößern?


    Kann man machen, allerdings wirst du dann durch die Objekte durchlaufen können

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski