[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

  • Ab Farbcode liegts nicht hab schon 2 andere versucht..
    und ja das hab ich (PlayerTextDrawSetSelectable(playerid,Selection[2], 1);)

  • hm zeig mal deine größe bei PlayerTextDrawTextSize
    //edit da , wenn dort ihrgend was 0 beträgt wird der hover auch nicht angezeigt , also es definiert zu gleich den bereich welcher anklickbar ist


    Also fürs auswählen hab ich die perfekte Größe gemacht (30 passt perfekt :>)
    PlayerTextDrawTextSize(playerid,Selection[2], 382.000000, 30.000000);


  • Also fürs auswählen hab ich die perfekte Größe gemacht (30 passt perfekt :>)
    PlayerTextDrawTextSize(playerid,Selection[2], 382.000000, 30.000000);



    kannst du vllt dein ganzen code von dem Spielertextdraw hier posten , da ich auch nicht mehr weiter weiß , weil sonst würde ich morgen
    ein wenig damit rum probieren.


    OnPlayerClickPlayerTextDraw wird bei dir schon aufgerufen ?

  • kannst du vllt dein ganzen code von dem Spielertextdraw hier posten , da ich auch nicht mehr weiter weiß , weil sonst würde ich morgen
    ein wenig damit rum probieren.


    OnPlayerClickPlayerTextDraw wird bei dir schon aufgerufen ?


    Ja alles klappt ja also die ganze Skinsauswahl.. nur das mit dem Hover nicht..der rest klappt 1A

    //Ist unter OnPlayerConnect
    Selection[2] = CreatePlayerTextDraw(playerid,350.000000, 386.000000, "~b~>>");
    PlayerTextDrawBackgroundColor(playerid,Selection[2], 255);
    PlayerTextDrawFont(playerid,Selection[2], 1);
    PlayerTextDrawLetterSize(playerid,Selection[2], 0.629999, 2.499999);
    PlayerTextDrawColor(playerid,Selection[2], -1);
    PlayerTextDrawSetOutline(playerid,Selection[2], 0);
    PlayerTextDrawSetProportional(playerid,Selection[2], 1);
    PlayerTextDrawSetShadow(playerid,Selection[2], 1);
    PlayerTextDrawTextSize(playerid,Selection[2], 382.000000, 30.000000);
    PlayerTextDrawSetSelectable(playerid,Selection[2], 1);
    //Wenn ich Skinauswahl gehe
    for(new j=0; j!=sizeof(Selection); j++) PlayerTextDrawShow(playerid, Selection[j]);
    SelectTextDraw(playerid, 0xde1818FF);

  • Hat einer ne idee wiso er mir immer sagt, das kein Mechaniker online ist?
    bcmd:mechaniker(playerid,params[])
    {
    if(GetPVarInt(playerid,"loggedin")!=1)return SendClientMessage(playerid,cRed,"Du bist nicht eingeloggt!");
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    format(string,128,"%s (ID: %d) hat nach einen Mechaniker gerufen.",name,playerid);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(i,"Job") == jMecha && GetVehicleModel(GetPlayerVehicleID(i)) == 552)
    {
    SendClientMessage(i,cWarn,string);
    SendClientMessage(i,cWarn,"Gebe /go ein um den ruf anzunehmen");
    SendClientMessage(playerid,cWarn,"Du hast nach einen Mechaniker gerufen");
    SetPVarInt(playerid,"MechaCall",1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,cWarn,"Zurzeit ist kein Mechaniker zu erreichen");
    return 1;
    }
    }
    return 1;
    }


    wenn ich selber mechaniker bin und in den car sitze geht es aber sobald ein anderer darin ist geht es nicht

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

  • wenn ich selber mechaniker bin und in den car sitze geht es aber sobald ein anderer darin ist geht es nicht


    Ja, wegen dem else in der Schleife ^^


    Schreibe es so:


    bcmd:mechaniker(playerid,params[])
    {
    if(GetPVarInt(playerid,"loggedin")!=1)return SendClientMessage(playerid,cRed,"Du bist nicht eingeloggt!");
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    format(string,128,"%s (ID: %d) hat nach einen Mechaniker gerufen.",name,playerid);
    new count = 0;
    for(new i; i<MAX_PLAYERS; i++) if(GetPVarInt(i,"Job") == jMecha && GetVehicleModel(GetPlayerVehicleID(i)) == 552) count = i, break;
    if(!count) return SendClientMessage(playerid,cRed,"Es sind keine Mechaniker online !");
    SendClientMessage(count,cWarn,string);
    SendClientMessage(count,cWarn,"Gebe /go ein um den ruf anzunehmen");
    SendClientMessage(playerid,cWarn,"Du hast nach einen Mechaniker gerufen");
    SetPVarInt(playerid,"MechaCall",1);
    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

  • SelectTextDraw(playerid, 0xde1818FF);


    so nun weiß ich an was es liegt es liegt an ~b~ womit du den Text färbst.
    Ich kann dir auch nicht genau sagen warum dies so ist ^^ jedoch scheint es die Farbe statisch zu verändern daher.


    musst du


    Code
    PlayerTextDrawColor(playerid,Selection, -1);


    verändern


    zum Beispiel zu ( Der Farbcode ist blau besser gesagt eine Art und weise von blau ^^)

    Code
    PlayerTextDrawColor(playerid,Selection, 0x1229FAFF);
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • Ich mache euch nochmal auf mein Problem aufmerksam^^

  • Pickups kannst du durch die endung von -1 für alle vws sichtbar machen.
    Die Autos musst du für jede vw einzelnt erstellen und diese dort hinzufügen also per
    SetVehicleVirtualWorld


    http://wiki.sa-mp.com/wiki/SetVehicleVirtualWorld


    Okay Pickups habe ich! :)
    Aber das mit Autos.. geht das nicht anders?
    Und meine wichtigste Frage:
    Wenn ich 20 Spieler habe, aber nur 10 Spawnpoints habe.. was mache ich dann?


    Edit: Noch ein Problem.. Wie setze ich die 3dtextlabels in jede vworld?
    Ist doch total resourcenfressend die überall reinzusetzen

    Einmal editiert, zuletzt von Blitz100 ()

  • Ich steh gerade mit einen Fragezeichen im Gesicht da


    Diese Funktion sorgt dafür, das keine weiteren Autos etc mehr geladen werden
    auch werden keine Maps etc mehr geladen
    for(new j = 0; j < sizeof KaufCar; j++)
    {
    Carauto[j] = CreateVehicle(KaufCar[j][AH_CModel],KaufCar[j][AH_CX],KaufCar[j][AH_CY],KaufCar[j][AH_CZ],KaufCar[j][AH_CA],-1,-1,1500);
    SetVehicleInfo(kaufauto[j],KaufCar[j][AH_CName],VehTuevOk,KaufCar[j][AH_HName],0,0,0,0,0);
    }

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

  • Okay Pickups habe ich! :)
    Aber das mit Autos.. geht das nicht anders?
    Und meine wichtigste Frage:
    Wenn ich 20 Spieler habe, aber nur 10 Spawnpoints habe.. was mache ich dann?


    Edit: Noch ein Problem.. Wie setze ich die 3dtextlabels in jede vworld?
    Ist doch total resourcenfressend die überall reinzusetzen


    nein es wird ja nicht erstellt nur angezeigt ^^ sonst wäre ja schon längst schluss bei einem pickup.


    das mit dem spawnpunkten dies versteht ich immer noch nicht was du dabei genau willst?
    Willst du wissen wie man ein slot nicht zwei mal belegen kann daher setzt du ein wert auf den platz und schicksten den code per goto nochmal zur random auswahl

  • nein es wird ja nicht erstellt nur angezeigt ^^ sonst wäre ja schon längst schluss bei einem pickup.


    das mit dem spawnpunkten dies versteht ich immer noch nicht was du dabei genau willst?
    Willst du wissen wie man ein slot nicht zwei mal belegen kann daher setzt du ein wert auf den platz und schicksten den code per goto nochmal zur random auswahl


    Ne und zwar..


    Ich sage mal es sind 30 LEUTE online..
    Aber es gibt nur 10 Spawnpoints (autos)
    Wie mache ich dann ins. 30 Spawnpoints dynamisch.. (Setze die Spieler dann in andere VWorlds)

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