[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
  • C
    stock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) //45508
    {
    	return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1, x2), 2)), floatsqroot(floatpower(floatsub(y1, y2), 2))), floatsqroot(floatpower(floatsub(z1, z2), 2)));
    }
    C
    public BurningTimer(playerid)
    {
    	if(PlayerOnFire[playerid] == 1)
    	{
    		SetPlayerHealth(playerid, GetPlayerHealth(playerid)-1); //45277
    		return 1;
    	}
    	return KillTimer(PlayerOnFireTimer[playerid]), KillTimer(PlayerOnFireTimer2[playerid]);
    }

    C:\Users\User\Desktop\Script\gamemodes\German.pwn(45508) : warning 208: function with tag result used before definition, forcing reparseC:\Users\User\Desktop\ Script\gamemodes\German.pwn(45277) : warning 202: number of arguments does not match definitionC:\Users\User\Desktop\ Script\gamemodes\German.pwn(45518) : error 035: argument type mismatch (argument 2)


    Hey,


    Ich finde den fehler nicht kann mir einer sagen woran es liegt?


    if((1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 0 || (Z <= 41.0 && IsPlayerInZone(playerid, -1387.0,-473.0, 2025.0,2824.0))) ||
    (1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 2 || (Z <= 39.0 && IsPlayerInZone(playerid, -1387.0,-473.0,2025.0,2824.0))))

    Hier hast du der funktion IsPlayerInZone Intergers anstatt Floats gegeben.


    SetPlayerHealth(playerid, GetPlayerHealth(playerid)-1); //45277
    Hier nutzt du GetPlayerHealth falsch.



    new Float:Health;
    GetPlayerHealth(playerid, Health);
    SetPlayerHealth(playerid, Health -1.0);



    Und die funktion Float:GetDistanceBetweenPoints kannst du entweder forwarden (oben im Skript) oder nach oben schieben

  • Danke..


    Code
    stock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) //45508
    
    
    {
    
    
    return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1, x2), 2)), floatsqroot(floatpower(floatsub(y1, y2), 2))), floatsqroot(floatpower(floatsub(z1, z2), 2)));
    
    
    }


    bei den beiden bleibt es gleich

  • Hey,
    Ich weiß, dass es möglich ist wenn ich ein Auto aufschließe, dass das Licht aufblinkt für 2 Sekunden (e.g) und wieder ausgeschaltet wird.
    Ist es möglich es so zu gestalten?


    Licht an (500ms)
    Licht aus (250ms)
    Licht an (500ms)


    So schließe ich mein Fahrzeug ja ab.
    Ich würde hier jeweils komplizierte Timer setzten, sinnvoll? Wenn ja, wie würde das grob aussehen?

    C
    if(doors==1)
    		{
    			SetVehicleParamsEx(PCar[playerid][id][P_VID], engine, lights, alarm, 0, bonnet, boot, objective);
    		}

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

  • Danke..


    Code
    stock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) //45508
    
    
    {
    
    
    return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1, x2), 2)), floatsqroot(floatpower(floatsub(y1, y2), 2))), floatsqroot(floatpower(floatsub(z1, z2), 2)));
    
    
    }

    bei den beiden bleibt es gleich

    Zeig mal die IsPlayerInZone funktion.


    Und hast du GetDistanceBetweenPoints geforwarded?


    forward Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2);

  • Ist es eigentlich möglich, einem Cop ein Streifenwagen zugeben das heißt der Leader hat z.B. 10 Streifenwagen für seine Member und nur Rank 2 kann einen Fahren und kriegt den Schlüssel für seinen Streifenwagen vom Leader

  • Ist es eigentlich möglich, einem Cop ein Streifenwagen zugeben das heißt der Leader hat z.B. 10 Streifenwagen für seine Member und nur Rank 2 kann einen Fahren und kriegt den Schlüssel für seinen Streifenwagen vom Leader

    Ja, es ist möglich.
    Du müsstest einmal GetPlayerState vom Spieler abfragen und den Rank, dabei noch ne Variable erstellen die positiv gesetzt wird wenn der Leader den Spieler die Schlüssel gibt.
    Dann fragste das alles untereinander ab bei GetPlayerState.
    Falls du dich damit ned auskennst les dir mal das vom Wiki durch.
    https://wiki.sa-mp.com/wiki/GetPlayerState[wiki][/wiki]

  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Erledigt ().
  • Hey,


    Kurze frage,


    Wie kann ich die Fahrschul Fahrzeuge nur für den Spieler öffnen lassen?




    Und eine andere frage wie kann ich schaun ob der Spieler auf einer Autobahn ist?
    Und wen er wieder in der Stadt ist wo nur so und soviel km/h erlaubt sind?



    C
    vehicleid = GetPlayerVehicleID(i);
    		if(vehicleid == Spieler[i][pFSVehicle])
    		{
    		    new Float:speed;
    		    speed = GetVehicleSpeed(vehicleid);
    		    if(speed >= 85) {
    		    	GameTextForPlayer(i, "~r~Zu schnell!", 2000, 3);
    				TheorieSpeed[i]++;
    		    }
    		}
  • Thema Geschwindigkeit würde gehen, indem du eine PVar zB nutzt, sobald er den Checkpoint auf der Autobahn durchgefahren hat. Und bei deiner Abfrage, fragst du ob die PVar aktiv ist, wenn Ja, geschwindkeit statt "85" zu "130" Abfragen, und das gleiche dann sobald er den letzten Checkpoint der Autobahn gefahren hat.



    MfG.


    /* Leider unterwegs, daher der Fixe Text mit dem Smartphone*/

    Bestes Zitat des Jahres von Max Jackson!
    Vertrauen kann man mir auch, ich bin hier auf Breadfish schon sehr lange Aktiv und das sollte schon auf einer gewissen Weise, eine Vertrauensbasis schaffen. Ich meine, meine schlimmste Verwarnung war lediglich eine Morddrohung - Is ja nix.

  • Habe ich soweit mit, die frage ist nur wie mache ich bloß das mit den Fahrzeugen aufschließen automatisch bei der Fahrschule, die sind abgeschlossen normal und wen er in die Fahrschule sich anmeldet soll sie für ihn nur geöffnet werden

  • Also soweit wie ich weiß, ist es nicht möglich ein Fahrzeug nur für eine Person genau zu Öffnen.
    Du könntest den Spieler z.B. einfach darein setzen (PutPlayerInVehicle), oder du lässt die Fahrzeuge immer offen, und wenn er den Motor Starten will,
    da Fragst dann erst ab, ob er auch die Fahrschule wirklich macht, wenn ja, Motor Starten - Fahrzeug Abschließen, wenn er es nicht macht, Schmeiß Ihn aus dem Fahrzeug wieder raus.


    MfG.

    Bestes Zitat des Jahres von Max Jackson!
    Vertrauen kann man mir auch, ich bin hier auf Breadfish schon sehr lange Aktiv und das sollte schon auf einer gewissen Weise, eine Vertrauensbasis schaffen. Ich meine, meine schlimmste Verwarnung war lediglich eine Morddrohung - Is ja nix.

  • Kurze Frage:


    Wie kann ich den Ort abfragen? Möchte das wenn jemand getötet wurde Polizei also ID 1 Eine Message kriegt. Hab das alles dies das, aber wollte halt auch getötet in %s sprich hier der Ort
    durch Waffe: %s also hier dann die Waffe.


    Kann mir da jemand helfen?

  • @Nima.Yaghobi Relativ einfach sogar, dafür gibt es einen Stock, hier zu finden.


    Dann, bei OnPlayerDeath, Abfragen ob ein Cop einen Getötet hat, wenn ja, eine Nachricht ausgeben.



    new string[256], gunname[64];
    GetWeaponName(reason, gunname, sizeof(gunname));
    format(string, sizeof(string), "Der Spieler %s wurde von %s in %s Getötet, Schusswaffe: %s", PlayerName(playerid), PlayerName(killerid), GetPlayerZone(playerid), gunname);



    Die Feinheiten musst du halt leider noch selbst machen, nur ein Beispiel wie es gehen würde/sollte. (Ungetestet)


    MfG.

    Bestes Zitat des Jahres von Max Jackson!
    Vertrauen kann man mir auch, ich bin hier auf Breadfish schon sehr lange Aktiv und das sollte schon auf einer gewissen Weise, eine Vertrauensbasis schaffen. Ich meine, meine schlimmste Verwarnung war lediglich eine Morddrohung - Is ja nix.

  • @Dr. Frauenarzt
    Du kannst es so machen, dass die anderen Spieler aus dem Fahrzeug rausgeschmissen werden, wenn diese einsteigen.
    Das kannst du ganz leicht machen, indem du dafür eine neue Variable erstellst, dafür gibt es verschiedene sinnvolle Ideen, z. B. ist die Spieler ID einmalig :)

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

  • Wie kann ich PlayerVariablen im einem Filterscript benutzen ?


    Heißt im Filterscript abfragen ob er in einer Fraktion ist.
    Aber die abfrage ist im Gamemode.

  • Guten Abend!


    In dieser Liste sollen die Helfer angezeigt werden. Wenn niemand den Rang Hlfer hat, soll der Tex aus Zeile 5 kommen, jedoch ist dies aus irgend einem Grunde momentan nicht der Fall. Aktuell stehn keine Helfer in der DB. aber der Dialog kommt trotzdem. Was hab ich falsch gemacht?
    public HelferList(playerid)
    {
    new string[700] = "{FFFFFF}Rang\t{FFFFFF}Name\t{FFFFFF}Onlinestatus",adminrang,name[MAX_PLAYER_NAME],pID,rows;
    cache_get_row_count(rows);
    if(rows == 0) return SendInfoMessage(playerid,"Derzeit gibt es keine Helfer!");
    for(new i; i<rows; i++)
    {
    cache_get_value_name_int(i,"Admin",adminrang);
    if(adminrang < 1 || adminrang > 1) continue;
    cache_get_value_name(i,"Name",name,sizeof(name));
    pID = GetPlayerFromAdminName(name);
    format(string, sizeof(string), "%s\n%s\t%s\t%s",string, GetAdminName(adminrang), name, GetPlayerStatus(pID));
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_TABLIST_HEADERS, "{FF0000}Austrian Roleplay {FFFFFF}- Helfer",string,"{FFFFFF}Abbrechen","");
    return 1;
    }
    MfG