[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
  • Hi, ich mache grade ein Fahrzeug System. Das Problem ist der /Parken Befehl geht nicht das Auto Spawnt nicht da wo mann es Parkt
    hier der Code dazu

    ocmd:parken(playerid,params[])
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,ROT,"Du bist nicht in einem Auto!");
    new veh;
    veh = GetPlayerVehicleID(playerid);
    for(new i=0;i<MAX_VEHICLES;i++)
    {
    if(FahrzeugInfo[i][fz_ID] == veh)
    {
    if(FahrzeugInfo[i][fz_Typ] != 1)return SCM(playerid,ROT,"Dies ist nicht dein Fahrzeug!");
    if(FahrzeugInfo[i][fz_Opark] == 1)return SCM(playerid,ROT,"Dieses Fahrzeug ist abgeschleppt! Du musst es erst freikaufen!");

    new Float:x,Float:y,Float:z,Float:a;
    GetVehiclePos(veh,x,y,z);
    GetVehicleZAngle(veh,a);
    FahrzeugInfo[i][fz_X] = x;
    FahrzeugInfo[i][fz_Y] = y;
    FahrzeugInfo[i][fz_Z] = z;
    FahrzeugInfo[i][fz_A] = a;
    AutosysSaveplayer(playerid,0);
    SCM(playerid,GER,"[FRAKTIONS-FAHRZEUG]"#WEIß" Fahrzeug geparkt!");
    }
    }
    return 1;
    }

  • Hallo,


    Ich suche eine Formel oder ein Codeschnipsel um folgendes herauszubekommen:


    Ich befinde mich irgentwo und mir wird irgentwo ein Checkpoint angezeigt. Die Positionen sind mir bekannt.


    Nun möchte ich die Richtung des Spielers (angle) ausrechnen, die der Spieler haben muss, um direkt den Checkpoint anzugucken.


    Ich denke man kann das mit Vektoren lösen, mir fehlt da aber das wissen. Eine Formel würde jedoch reichen.


    Ich hoffe ihr habt da was für mich :)

  • Suchfunktionen sind was feines:


    Quelle: http://forum.sa-mp.com/showthread.php?t=127404&langid=5

    ast2ufdyxkb1.png


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

  • Hi, ich möchte jedem Spieler einen eigenen 3D Text geben. Ab ungefähr 30+ Spielern haben einige einen 3D Text, andere wiederum nicht.


    new Text3D:RankLabels[MAX_PLAYERS] = {Text3D:INVALID_3DTEXT_ID, ...};


    public OnPlayerSpawn(playerid)
    {
    if(!IsValidDynamic3DTextLabel(RankLabels[playerid])) RankLabels[playerid] = CreateDynamic3DTextLabel(lrank, 0x009900BB, 0.0, 0.0, 0.60, 25.0, .attachedplayer=playerid);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    DestroyDynamic3DTextLabel(RankLabels[playerid]), RankLabels[playerid] = Text3D:INVALID_3DTEXT_ID;
    return 1;
    }

  • if(IsCopCarEx(GetPlayerVehicleID(playerid)) != 1 || PoliceEquip[playerid][pe_Funkgerat] == false)return SendClientMessage(playerid, COLOR_GREY, " Du bist in keinem Polizeifahrzeug oder du hast kein Funkgerät.");
    Wenn ich ein Funkgerät habe kommt trotzdem die Fehlermeldung.
    Es soll aber nur so sein:
    Kein Funkgerät & in keinem Polizei Auto = Fehler.

  • @Jeffry


    Kannst du mir noch bitte einmal zeigen wie ich Gettime in einem Befehl benutze? Sprich den Befehl erst nach einiger Zeit wieder erlauben zu benutzen.
    Als Beispiel ein einfacher Teleport Befehl



    CMD:teleport(playerid,params[])
    {
    SetPlayerPos(playerid, 815.5878,-3582.2156,61.7797);


    return 1;


    }



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Hey
    Suche für mein Cuff system ein Handschellen teil hinter den armen!



    Kann mir jemand helfen?

  • Beitrag von Jeffry ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Wollte Abbrechen drücken :< ().
  • Dann füge das hier unter den Includes ein (Funktions-Hook):
    stock my_CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    {
    new id = CreateVehicle(modelid, x, y, z, angle, color1, color2, respawn_delay);
    SetVehicleHealth(id, 995);
    return id;
    }


    #if defined _ALS_CreateVehicle
    #undef CreateVehicle
    #else
    #define _ALS_CreateVehicle
    #endif
    #define CreateVehicle my_CreateVehicle
    (Analog für AddStaticVehicle etc, falls du die nutzt).


    Und bei OnVehicleSpawn dann zusätzlich:
    SetVehicleHealth(vehicleid, 995);

  • @Jeffry


    Dankesehr, funktioniert gut. Ich habe nun versucht abzufragen ob das Health über 995 ist und dann den Spieler kicken lassen, das kommt aber jedes mal wenn ich in ein Fahrzeug einsteige.
    (Habe ich ein falsches Callback benutzt ? )



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new Float:health;
    new name[MAX_PLAYER_NAME], string[50+MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(health > 995)
    format(string, sizeof(string), "%s has been banned by the System for Vehicle Health Hack.", name);
    SendClientMessageToAll(RED,string);
    GetVehicleHealth(vehicleid, health);
    SetVehicleHealth(vehicleid, 995);
    Kick(playerid);
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)