Beiträge von Cody09

    So, ich habe das Problem, das die Objekte(Feuer+Rauch net zerstört werden....). Die Objekte sollen zerstört werden, wenn ein feuerwehrwagen mit fahrer in 29m entfernung vom Haus steht, der fahrer muss dann wasser "schießen" also KEY_ACTION drücken: hier mein Code. was ist falsch?


    #include <a_samp>
    #include <ocmd>
    new checktimer;
    new bool:FireObject[MAX_OBJECTS];
    new bool:RauchObject[MAX_OBJECTS];
    new tastegedrueckt[MAX_PLAYERS];
    public OnFilterScriptInit()
    {
    checktimer = SetTimer("Feuerwehr",700,1);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    tastegedrueckt[i] = 0;
    }
    return 1;
    }
    forward Feuerwehr();
    public Feuerwehr()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInRangeOfPoint(i, 26.0, 1243.8386230469, -909.07940673828, 47.313026428223))
    {
    if(IsPlayerInVehicle(i,(GetPlayerVehicleID(i))))
    {
    if(GetVehicleModel(GetPlayerVehicleID(i)) == 407)
    {
    new playerState = GetPlayerState(i);
    if (playerState == PLAYER_STATE_DRIVER)
    {
    if(tastegedrueckt[i] == 1)
    {
    for(new o=0; o<sizeof(FireObject); o++)
    {
    if(FireObject[o])
    {
    Randomm = random(o);
    if(Randomm == o)
    {
    DestroyObject(o);
    FireObject[o]=false;
    }
    }
    }
    for(new o=0; o<sizeof(RauchObject); o++)
    {
    if(RauchObject[o])
    {
    Randommm = random(o);
    if(Randommm == o)
    {
    DestroyObject(o);
    RauchObject[o]=false;
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    stock CreateFireObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ)
    {
    new objectid = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
    FireObject[objectid] = true;
    return 1;
    }
    stock DestroyFireObjects()
    {
    for(new o=0; o<sizeof(FireObject); o++)
    {
    if(FireObject[o])
    {
    DestroyObject(o);
    FireObject[o]=false;
    }
    }
    }
    stock CreateRauchObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ)
    {
    new objectid = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
    RauchObject[objectid] = true;
    return 1;
    }
    stock DestroyRauchObjects()
    {
    for(new o=0; o<sizeof(RauchObject); o++)
    {
    if(RauchObject[o])
    {
    DestroyObject(o);
    RauchObject[o]=false;
    }
    }
    }
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if ((newkeys & KEY_ACTION) && !(oldkeys & KEY_ACTION))
    {
    tastegedrueckt[playerid] = 1;
    }
    else
    {
    tastegedrueckt[playerid] = 0;
    }
    return 1;
    }


    hoffentlich könnt ihr mir helfen, ich wollte mit dem Code versuchen, das die rauch und die feuer objekte zufällig zerstört werden

    es sind genau 20 objekte, die eigentlich keine Probleme machen dürften, und wiso liegt es an move object, ich habe nur die koordinaten also z.B. 23.231,23.3123,213.23 durch 1,1,1 ersetzt, da ich nicht das ganze veröffentlichen wollte, ist ja ganz egal, oder liegt es an der Draw distance?

    Hallo, ich habe das Problem, das der Server anfängt zu laqqen, sobald ich diesen Filterscript lade: (Objekte weggelassen) wiso?


    #include <a_samp>
    new baseaufzugvar;
    new jumpvar;
    new jump;
    new baseaufzug;
    new Fallschirm;
    public OnFilterScriptInit()
    {
    baseaufzugvar = 0;
    jumpvar = 0;
    jump = CreateObject(18769, 1,1,1, 0.000000, 0.000000, 346.000000, 300);
    baseaufzug = CreateObject(18755, 1,1,1, 0.000000, 0.000000, 72.000000, 300);
    SetTimer("obenjump",10000,0);
    SetTimer("obenaufzug",5000,0);
    return 1;
    }
    public OnObjectMoved(objectid)
    {
    if(objectid == jump)
    {
    if(jumpvar == 0)
    {
    SetTimer("obenjump",10000,0);
    }
    else if(jumpvar == 1)
    {
    SetTimer("untenjump",10000,0);
    }
    }
    if(objectid == baseaufzug)
    {
    if(baseaufzugvar == 0)
    {
    SetTimer("obenaufzug",5000,0);
    }
    else if(baseaufzugvar == 1)
    {
    SetTimer("untenaufzug",5000,0);
    }
    }
    return 1;
    }
    public OnFilterScriptExit()
    {
    DestroyPickup(Fallschirm);
    DestroyObject(jump);
    DestroyObject(baseaufzug);
    return 1;
    }
    forward obenjump();
    public obenjump()
    {
    MoveObject(jump,1,1,1,15);
    jumpvar = 1;
    return 1;
    }
    forward untenjump();
    public untenjump()
    {
    MoveObject(jump,1,1,1,15);
    jumpvar = 0;
    return 1;
    }


    forward obenaufzug();
    public obenaufzug()
    {
    MoveObject(baseaufzug,1,1,1,6);
    baseaufzugvar = 1;
    return 1;
    }
    forward untenaufzug();
    public untenaufzug()
    {
    MoveObject(baseaufzug,1,1,1,6);
    baseaufzugvar = 0;
    return 1;
    }


    @edit: koordinaten geändert

    das ist aber nicht die Antwort auf meine Frage, ich möchte wissen wie man es mit sscanf so macht das man z.B. das machen kann:


    /goto [funktion]


    funktion = ls, sf, lv,bsn
    etc.

    So, ich habe seit kurzem angefangen jetzt mit ocmd zu scripten eig(dcmd) so, jetzt wollte ich eine auflistung erstellen mit sscanf also das man machen kann z.B.


    /buygun [name]


    wie mache ich das mit sscanf? Und Dcmd(ocmd)


    Wäre euch um schnelle Antwort dankbar


    MfG. Cody09

    Hey, ich wollte einfach mal so fragen, ob ich einen Snowmod benutzt und wenn welchen, vllt mit downloadlink^^.


    Da ich auf der Suche nach einem bin, dieser soll aber keine Autos verändern, nur halt winter machen.. :D brauche keine extra sachen dazu wie bsn schild -> mc donalds, sowas nicht .D, und es soll einen mod geben, da kann man die stärke des schneefalls einstellen, wäre nett, wenn ihr mir den sagen könntet^^


    MfG. Cody09

    den ersten fehler musste selber lösen



    forward SpeedPerTextDraw(playerid);
    public SpeedPerTextDraw(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new stringg[32];
    new speed = GetPlayerSpeed(playerid);
    format(stringg, sizeof(stringg), "Geschwindigkeit: %0.1f",speed);
    UpdatePlayer3DTextLabelText(playerid, Speedamauto[playerid], 0xFF5A00FF, stringg);//<- Hier ist die Zeile
    }
    }
    return 1;
    }


    ich weis nicht, wie ich des i bei GetPlayerSpeed ersetzten könnte mit was, das es funktioniert


    @edit: Fehler entfernt

    so müsste es gehen:



    public SpeedPerTextDraw()
    {
    for(new i=0; i < MAX_PLAYERS; i++)
    {


    if(IsPlayerInAnyVehicle(i))
    {
    new stringg[32];
    new speed = GetPlayerSpeed(i);
    format(stringg, sizeof(stringg), "Geschwindigkeit: %0.1f",speed);
    UpdatePlayer3DTextLabelText(i, Speedamauto[playerid], 0xFF5A00FF, stringg);//<- Hier ist die Zeile
    return 1;
    }
    }
    }


    @edit: Dieses Label sieht nur der jeweilige Spieler, also nicht jeder