Beiträge von Ultimegastriker

    Da wo der timer reinkommt machste nochn timer der auf dein textdraw jede sekunde zugreift, musst das textdraw halt nur jede sekunde ein + geben.
    Wenn der spieler wieder ingame kommt killst du den timer und zerstörst das textdraw

    Nabend Brotfische,



    Wie lasse ich zum beispiel diesem Textdraw für jeden Spieler einzeln anzeigen.
    Hab da soeine vorahnung , dass es mit "MAX_PLAYERS" irgendwie gehen könnte aber die Umsetzung ist dann doch nicht das was ich kann.
    Wäre nett wenn ihr mir da weiterhelfen könntet


    Pawn Code:



    Erfolg = TextDrawCreate(87.000000, 326.000000, "Erfolg freigeschaltet");
    TextDrawAlignment(Erfolg, 2);
    TextDrawBackgroundColor(Erfolg, 255);
    TextDrawFont(Erfolg, 0);
    TextDrawLetterSize(Erfolg, 0.559998, 2.099999);
    TextDrawColor(Erfolg, -1);
    TextDrawSetOutline(Erfolg, 1);
    TextDrawSetProportional(Erfolg, 1);
    TextDrawUseBox(Erfolg, 1);
    TextDrawBoxColor(Erfolg, 100);
    TextDrawTextSize(Erfolg, -7.000000, -1300.000000);


    Erfolg1 = TextDrawCreate(335.000000, 328.000000, "Sie haben folgende Errungenschaft freigeschaltet:");
    TextDrawAlignment(Erfolg1, 2);
    TextDrawBackgroundColor(Erfolg1, 255);
    TextDrawFont(Erfolg1, 0);
    TextDrawLetterSize(Erfolg1, 0.349999, 1.600000);
    TextDrawColor(Erfolg1, -1);
    TextDrawSetOutline(Erfolg1, 1);
    TextDrawSetProportional(Erfolg1, 1);


    Erfolg2 = TextDrawCreate(571.000000, 368.500000, "Premiumpunkte");
    TextDrawAlignment(Erfolg2, 2);
    TextDrawBackgroundColor(Erfolg2, 255);
    TextDrawFont(Erfolg2, 0);
    TextDrawLetterSize(Erfolg2, 0.500000, 1.399999);
    TextDrawColor(Erfolg2, -1);
    TextDrawSetOutline(Erfolg2, 1);
    TextDrawSetProportional(Erfolg2, 1);
    TextDrawUseBox(Erfolg2, 1);
    TextDrawBoxColor(Erfolg2, 100);
    TextDrawTextSize(Erfolg2, 0.000000, 1210.000000);


    Erfolg3 = TextDrawCreate(570.000000, 330.000000, "Sie erhalten:");
    TextDrawAlignment(Erfolg3, 2);
    TextDrawBackgroundColor(Erfolg3, 255);
    TextDrawFont(Erfolg3, 0);
    TextDrawLetterSize(Erfolg3, 0.500000, 1.200000);
    TextDrawColor(Erfolg3, -1);
    TextDrawSetOutline(Erfolg3, 1);
    TextDrawSetProportional(Erfolg3, 1);


    Erfolg4 = TextDrawCreate(323.000000, 358.500000, "");
    TextDrawAlignment(Erfolg4, 2);
    TextDrawBackgroundColor(Erfolg4, 255);
    TextDrawFont(Erfolg4, 0);
    TextDrawLetterSize(Erfolg4, 0.500000, 1.399999);
    TextDrawColor(Erfolg4, -1);
    TextDrawSetOutline(Erfolg4, 1);
    TextDrawSetProportional(Erfolg4, 1);


    Erfolg5 = TextDrawCreate(572.000000, 351.000000, "");
    TextDrawAlignment(Erfolg5, 2);
    TextDrawBackgroundColor(Erfolg5, 255);
    TextDrawFont(Erfolg5, 1);
    TextDrawLetterSize(Erfolg5, 0.500000, 1.200000);
    TextDrawColor(Erfolg5, -1);
    TextDrawSetOutline(Erfolg5, 1);
    TextDrawSetProportional(Erfolg5, 1);


    Erfolg6 = TextDrawCreate(164.000000, 386.000000, "Erhalten durch:");
    TextDrawAlignment(Erfolg6, 2);
    TextDrawBackgroundColor(Erfolg6, 255);
    TextDrawFont(Erfolg6, 0);
    TextDrawLetterSize(Erfolg6, 0.500000, 1.000000);
    TextDrawColor(Erfolg6, -1);
    TextDrawSetOutline(Erfolg6, 1);
    TextDrawSetProportional(Erfolg6, 1);
    TextDrawUseBox(Erfolg6, 1);
    TextDrawBoxColor(Erfolg6, 100);
    TextDrawTextSize(Erfolg6, 0.000000, -1200.000000);


    Erfolg7 = TextDrawCreate(323.000000, 389.000000, "");
    TextDrawAlignment(Erfolg7, 2);
    TextDrawBackgroundColor(Erfolg7, 255);
    TextDrawFont(Erfolg7, 0);
    TextDrawLetterSize(Erfolg7, 0.500000, 1.400000);
    TextDrawColor(Erfolg7, -1);
    TextDrawSetOutline(Erfolg7, 1);
    TextDrawSetProportional(Erfolg7, 1);


    Erfolg8 = TextDrawCreate(59.000000, 376.000000, "( /archiv )");
    TextDrawBackgroundColor(Erfolg8, 255);
    TextDrawFont(Erfolg8, 0);
    TextDrawLetterSize(Erfolg8, 0.370000, 1.400000);
    TextDrawColor(Erfolg8, -1);
    TextDrawSetOutline(Erfolg8, 1);
    TextDrawSetProportional(Erfolg8, 1);


    Erfolg9 = TextDrawCreate(573.000000, 393.000000, "( /premium )");
    TextDrawAlignment(Erfolg9, 2);
    TextDrawBackgroundColor(Erfolg9, 255);
    TextDrawFont(Erfolg9, 0);
    TextDrawLetterSize(Erfolg9, 0.500000, 1.000000);
    TextDrawColor(Erfolg9, -1);
    TextDrawSetOutline(Erfolg9, 1);
    TextDrawSetProportional(Erfolg9, 1);


    Und da wo er aufgerufen wird:



    if(GetPVarInt(playerid,"Tode")==1)// Lege dich selbst um
    {
    format(errungenschaft,sizeof(errungenschaft),"Dummheit");
    format(prempunkte,sizeof(prempunkte),"5");
    format(bedingung,sizeof(bedingung),"Leg dich selbst um");
    TextDrawSetString(Erfolg4, errungenschaft);
    TextDrawSetString(Erfolg5, prempunkte);
    TextDrawSetString(Erfolg7, bedingung);
    PlayerPlaySound(playerid,1183,0.0,0.0,0.0);
    TextDrawShowForPlayer(playerid,Erfolg);
    TextDrawShowForPlayer(playerid,Erfolg1);
    TextDrawShowForPlayer(playerid,Erfolg2);
    TextDrawShowForPlayer(playerid,Erfolg3);
    TextDrawShowForPlayer(playerid,Erfolg4);
    TextDrawShowForPlayer(playerid,Erfolg5);
    TextDrawShowForPlayer(playerid,Erfolg6);
    TextDrawShowForPlayer(playerid,Erfolg7);
    TextDrawShowForPlayer(playerid,Erfolg8);
    TextDrawShowForPlayer(playerid,Erfolg9);
    SCM(playerid,pink,"Erfolg freigeschaltet: Dummheit || Bedingung: Lege dich selbst um || Premiumpunkte: 5");
    SetTimerEx("erfolg", 8500, false, "i", playerid);
    SetPVarInt(playerid,"Premiumpunkte",GetPVarInt(playerid, "Premiumpunkte")+5);
    SetPVarInt(playerid,"Erfolge",GetPVarInt(playerid, "Erfolge")+1);
    new estring[150];
    format(estring,sizeof(estring),"%s hat den Erfolg '%s' freigeschaltet, Bedingung: %s", SpielerName(playerid),errungenschaft,bedingung);
    ErfolgsLog(estring);
    }



    Mit freundlichem Gruß :thumbup:

    Nabend Brotfische,


    Ich hab da ein kleines Problem, da ich versuche eine Rakete, Lenkbar zu machen.
    Allerdings schaffe ich es nicht, die Kamera sich an das Objekt zu kleben.
    Unter AttachCameraToObject habe ich schon nachgeschaut, Abschnitt befolgt, und es funktioniert irgendwie trozdem nicht.


    Mein Ocmd Befehl:

    ocmd:rocket(playerid,params[])
    {
    Predator=1;
    GetPlayerPos(playerid,raketenpos[0],raketenpos[1],raketenpos[2]);
    rakete = CreateDynamicObject(345,raketenpos[0],raketenpos[1],raketenpos[2]+10,0,0,0,-1,-1,-1,200);
    AttachCameraToObject(playerid,rakete);
    SetTimer("Rakete",1000,1);
    return 1;
    }




    Könntet ihr mir da vielleicht weiterhelfen?


    //Edit: Schon erledigt habs behoben.

    Er fragt nur ab ob ich einenm Fahrzeug sitze das ist klar und funktioniert auch, ich möchte aber das der Fahrer in einem Speziellen Fahrzeug sitzt.


    Sagen wir Bobcat, die FahrzeugID dafür ist: 422
    Es könnte auch sein das diese Abfrage für die Fahrzeug id falsch ist, also diese hier:
    if(!IsPlayerInVehicle(playerid,422))return SCM(playerid,rot,"Du bist in keinem Truckerfahrzeug.");


    Es könnte ja auch sein das ich die Model Id von dem Fahrzeug abfragen muss, oder?


    //Edit Model Id abfrage ausprobiert... funktioniert auch nciht slebst mit der gleichen ModelID

    Thema noch nicht erledigt obwohl schon abgehackt... falscher knopf ^^


    ocmd:produktekaufen(playerid,params[]){
    if(GetPVarInt(playerid,"Fraktion") !=1 && GetPVarInt(playerid,"Leader") !=1)return SCM(playerid,rot,"Du bist kein Trucker");
    if(!IsPlayerInVehicle(playerid,478) && !IsPlayerInVehicle(playerid,600) && !IsPlayerInVehicle(playerid,554) && !IsPlayerInVehicle(playerid,543) && !IsPlayerInVehicle(playerid,422))return SCM(playerid,rot,"Du bist in keinem Truckerfahrzeug.");
    if(!IsPlayerInRangeOfPoint(playerid,10,abholpunktderprodukte))return SCM(playerid,rot,"Sie sind nicht in der nähe des Kaufbereiches.");
    {
    new anzahl,string2[128],string3[128];
    new Geld;
    new string[256];
    if(GetPVarInt(playerid,"Produkte") == maxkaufprodukte) return SCM(playerid,rot,"Du kannst keine Produkte mehr bei dir führen, da du die maximal Menge bereits bei trägst.");
    if(sscanf(params,"i",anzahl))return SCM(playerid,hblau,"/produktekaufen [Produkte]");
    if(GetPlayerMoney(playerid) < anzahl*produktkosten)
    {
    format(string2,sizeof(string2),"Nicht genug Geld dabei. Kosten pro Produkt: %i$",produktkosten);
    SCM(playerid,rot,string2);
    return 1;
    }
    format(string,sizeof(string),"Sie können soviele Produkte nicht mehr kaufen. Derzeit: %i/%i",GetPVarInt(playerid,"Produkte"),maxkaufprodukte);
    if(anzahl + GetPVarInt(playerid,"Produkte") > maxkaufprodukte) return SCM(playerid,rot,string);
    SetPVarInt(playerid,"Produkte",GetPVarInt(playerid,"Produkte")+anzahl);
    Geld = anzahl*produktkosten;
    GivePlayerMoney(playerid,-Geld);
    SpielerSpeichern(playerid);
    format(string3,sizeof(string3),"Sie haben %i Produkte für %i$ gekauft.",anzahl,Geld);
    SCM(playerid,grün,string3);
    }
    return 1;
    }

    Hallo Liebe Brotfische ich hab da ein kleines Problem was die Fahrzeugabfrage für ein Befehl von mir angeht...


    Problem ist es, dass der Befehl nicht funktioniert und ich mit keinem Fahrzeug irgendwie mehr Produkte kaufen kann.
    Und zwar möchte ich das man nur wenn man in bestimmten Fahrzeugen sitzt, dass man seine Produkte dann kaufen kann, das ganze habe ich schon probiert und sieht so aus:



    ocmd:produktekaufen(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") !=1 && GetPVarInt(playerid,"Leader") !=1)return SCM(playerid,rot,"Du bist kein Trucker");
    if(!IsPlayerInVehicle(playerid,478) && !IsPlayerInVehicle(playerid,600) && !IsPlayerInVehicle(playerid,554) && !IsPlayerInVehicle(playerid,543) && !IsPlayerInVehicle(playerid,422))return SCM(playerid,rot,"Du bist in keinem Truckerfahrzeug.");
    if(!IsPlayerInRangeOfPoint(playerid,10,abholpunktderprodukte))return SCM(playerid,rot,"Sie sind nicht in der nähe des Kaufbereiches.");
    {
    new anzahl,string2[128],string3[128];
    new Geld;
    new string[256];
    if(GetPVarInt(playerid,"Produkte") == maxkaufprodukte) return SCM(playerid,rot,"Du kannst keine Produkte mehr bei dir führen, da du die maximal Menge bereits bei trägst.");
    if(sscanf(params,"i",anzahl))return SCM(playerid,hblau,"/produktekaufen [Produkte]");
    if(GetPlayerMoney(playerid) < anzahl*produktkosten)
    {
    format(string2,sizeof(string2),"Nicht genug Geld dabei. Kosten pro Produkt: %i$",produktkosten);
    SCM(playerid,rot,string2);
    return 1;
    }
    format(string,sizeof(string),"Sie können soviele Produkte nicht mehr kaufen. Derzeit: %i/%i",GetPVarInt(playerid,"Produkte"),maxkaufprodukte);
    if(anzahl + GetPVarInt(playerid,"Produkte") > maxkaufprodukte) return SCM(playerid,rot,string);
    SetPVarInt(playerid,"Produkte",GetPVarInt(playerid,"Produkte")+anzahl);
    Geld = anzahl*produktkosten;
    GivePlayerMoney(playerid,-Geld);
    SpielerSpeichern(playerid);
    format(string3,sizeof(string3),"Sie haben %i Produkte für %i$ gekauft.",anzahl,Geld);
    SCM(playerid,grün,string3);
    }
    return 1;
    }


    Dieses " ! " vor jeder IsPlayerInVehicle Abfrage, steht doch für ist nicht, wenn ich mich recht entsinne und wird somit von der SendClientMessage bei mir returnt.
    Aber das ist leider nicht der Fall.
    Könnt ihr mir vielleicht helfen, dass ich den Befehl so hinbekomme, dass ich NUR mit den oben angegeben Fahrzeugen Produkte kaufen kann?


    Mit freundlichem Gruß


    Ulti


    //edit Problem hinzugefüt

    Hallo liebe User,Ich hab da ein kleines Problem und zwar möchte ich einen Wert von etwas im Account addieren und nicht so wie hier " SetPVarInt(playerid,"Produkte",+anzahl); "
    Dummerweise hatte ich genau das probiert und hatte mich anfangs gewundert warum der den wert wenn ich z.b 100 eingegeben hab normal Wert 100 war, aber dann 10 eingegeben hatte, dass der Wert plötzlich 10 war, anstatt 110.
    Ich möchte wie gesagt ein Wert addieren und nicht auf die Zahl setzen.
    Wäre schön wenn ihr mir da ein wenig auf die Sprünge helfen könntet.


    Mit freundlichem Gruß


    Ultimegastriker

    Eine kleine Anregung von mir:
    Es ist eigentlich egal wo du deine Fahrschule hinmappst, du musst nicht mal selbst zur Fahrschule fahren, du knallst dir einfach ein paar Bots, die dich zu deiner Fahrschule fahren rein.


    Mit ein 3D Label über dem Bus, müsste dann jeder bescheid wissen wohin er fährt, oder du erwähnst es beim Spawn, Tutorial je nachdem....
    Aber naja deine Entscheidung. :D


    Mit freundlichem Gruß


    Ultimegastriker

    Du brauchst die streamer.so und die sscanf.so

    Das Problem ist die plugins sind .so datein und lassen sich nicht auf dem server uploaden, dann konnt eine Error meldung die so aussieht:

    Das ist halt der Haken bei der Sache mit dem uploaden, denke mal selbst wenn die plugins drauf wären, da gibt es nochein weiteres Problen.
    Und zwar wird das Register/Login Fenster nicht aufgerufen, habe es auf meinem Pc auch paar mal getestet, dort geht es sowie auch halt der Object Streamer, der auch wiederrum nicht auf dem Root läuft.


    Nun ist die Frage wie kann man das alles beheben...



    Hier nochmal das nacheditierte Bild wie das ohne Login/Register... Das "SERVER: Unkown command." Da habe ich versucht einen Befehl einzugeben. Anscheinend funktionieren die .inc Datein alle nicht.
    Habe gehört die sind in der .amx vom gamemode selbst drin, deshalb wundert mich es jetzt.




    //edit: ocmd Befehle gehen übrigens auch nicht + Bild eingefügt wenn der Server gestartet ist und kein Login/Register Fenster erscheint.