Beiträge von YaBroo

    Nutz einfach SendClientMessageToAll(-1, string); , sollte den Zweck erfüllen.



    • else if(PlayerInfo[playerid][pAdmin] >= 7)
    • {
    • format(string, sizeof(string), "{33FF66}[O-CHAT]{FFFFFF} {FF0000}Projektleiter %s{FFFFFF}: %s ", sendername, result);
    • }
    • Log("OA-Chat.txt",string);
    • return SendClientMessageToAll(COLOR_OOC, string);

    @Rolex_ Da du scheinbar nichts selber machen möchtest und nur vollständige Systeme gescriptet bekommen möchtest, warum wendest du dich nicht im Marktplatz an die Community?
    Da sind mit Sicherheit einige, die es dir scripten würden, allerdings nicht für "nichts".


    Wie iEnerqie schon sagte, ist die Scripting-Base kein Scripting-Service wie du sicherlich nun auch spätestens nach deinem 3. Thread gemerkt hast.
    lg

    Diese 2 Sekunden sind nicht normal, deshalb sollte man in erster Linie nichts tun um es zu brücken, sondern eher zu beheben.
    Benutzt du das alte fixes.inc Include? Das enthaltene Public hat diesen "Fehler" früher ausgelöst.

    Zitat von Pr0x

    gekillt wird oder sonstiges kann man noch weiterlaufen (1-2 Sekunden) bis man stirbt und vom System spawnt.

    Ich meine woher dieser 1-2Sekunden Delay kommt.

    Woher kommt denn überhaupt der Delay zwischen HP 0(OnPlayerDeath & Respawn) ?


    Ist ja logisch das es doppelt geprintet wird, da du 2x den Spieler spawnen lässt da der Callback OnPlayerSpawn automatisch nach OnPlayerSpawn aufgerufen wird.
    SpawnPlayer ist eig. unsinnig unter OnPlayerDeath zu setzen, dann skipt man auch die tolle GTA Todesanimation :)

    Zuerst solltest du dir über dein Konzept bewusst sein, keiner kann für dich entscheiden, was in deinen Augen optisch mehr hermacht..vermutlich nicht mal "ein" Jeffry :)
    Wenn du dir dies klar gemacht hast, kann man dir spezialisierter und konstruktiver Hilfestellungen bieten.


    Ob du es per TextDraw oder Dialog anzeigen lässt, ist relativ. Im Endeffekt wäre es natürlich "sinnvoller" bei mehreren Statistik-Daten es per Dialog zu lösen.
    Beim eintippen der Daten kommst du bei deinen Optionen nicht wirklich um einen Dialog drumherum, was allerdings auch nicht negativ ist.


    Wo genau ist nun dein Problem?
    - Beim scripten oder bei der Entscheidung was für dich mehr her macht beim anzeigen der Daten?




    - DIALOG_STYLE_INPUT (Dialog zum eintippen)
    - ShowPlayerDialog (Wie man dem Spieler den Dialog anzeigen lässt)
    - OnPlayerDialogResponse (Callback um mit der Eingabe/Aktion zu arbeiten)


    lg

    Ich sehe hier noch einen Fehler in meiner Schleife.
    Du musst den return der Message der Bereichsabfrage weiter unten platzieren, sonst funktioniert der ganze Spaß nicht wenn die Variablen-ID des Fahrzeugs höher als 0 ist da er sonst wenn es nicht das Fahrzeug 0 ist direkt den cmd returnt.




    if(strcmp(cmdtext,"/flock",true)==0)
    {
    if(!IsPlayerACop(playerid) || !IsAllowedFactionToBuy(GetPlayerFaction(playerid))) return SendClientMessage(playerid,COLOR_WHITE,""#HTML_RED"FEHLER:"#HTML_WHITE" Das kannst du nich..");
    new Float:vx,Float:vy,Float:vz;
    for(new fc;fc<sizeof(FactionCars);fc++)
    {
    GetVehiclePos(FactionCars[fc][fCarid],vx,vy,vz);
    if(!IsPlayerInRangeOfPoint(playerid,4.0,vx,vy,vz) continue;
    PlayerPlaySound(playerid,1145,0.0,0.0,0.0);
    if(FactionCars[fc][fLock] == true)
    {
    FactionCars[fc][fLock] = false;
    GameTextForPlayer(playerid,"~w~Fahrzeug~n~~g~Aufgeschlossen",5000,3);
    return true;
    }
    else if(FactionCars[fc][fLock] == false)
    {
    FactionCars[fc][fLock] = true;
    GameTextForPlayer(playerid,"~w~Fahrzeug~n~~r~Abgeschlossen",5000,3);
    return true;
    }
    }
    SendClientMessage(playerid,COLOR_WHITE,""#HTML_RED"FEHLER:"#HTML_WHITE" Du bist bei keinem Fahrzeug!");
    return 1;
    }

    Probier es mal so:


    if(strcmp(cmdtext,"/flock",true)==0)
    {
    if(!IsPlayerACop(playerid) || !IsAllowedFactionToBuy(GetPlayerFaction(playerid))) return SendClientMessage(playerid,COLOR_WHITE,""#HTML_RED"FEHLER:"#HTML_WHITE" Das kannst du nich..");
    new Float:vx,Float:vy,Float:vz;
    for(new fc;fc<sizeof(FactionCars);fc++)
    {
    GetVehiclePos(FactionCars[fc][fCarid],vx,vy,vz);
    if(!IsPlayerInRangeOfPoint(playerid,4.0,vx,vy,vz) return SendClientMessage(playerid,COLOR_WHITE,""#HTML_RED"FEHLER:"#HTML_WHITE" Du bist bei keinem Fahrzeug!");
    PlayerPlaySound(playerid,1145,0.0,0.0,0.0);
    if(FactionCars[fc][fLock] == true)
    {
    FactionCars[fc][fLock] = false;
    GameTextForPlayer(playerid,"~w~Fahrzeug~n~~g~Aufgeschlossen",5000,3);
    return true;
    }
    else if(FactionCars[fc][fLock] == false)
    {
    FactionCars[fc][fLock] = true;
    GameTextForPlayer(playerid,"~w~Fahrzeug~n~~r~Abgeschlossen",5000,3);
    return true;
    }
    }
    return 1;
    }


    ansonsten lass dir mal jeden Schritt printen und schau wo es hackt.


    new engine, lights, alarm, doors, bonnet, boot, objective;
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    if(IsACopCar(i))
    {
    GetVehicleParamsEx(i, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine != 1) continue;
    SetVehicleParamsEx(i, 0, lights, alarm, doors, bonnet, boot, objective);
    }
    }


    So müsste er alle Copcars deaktivieren wo der Motor läuft.

    Willst du alle Copcars lahmlegen? Dann musst du auch mit der Schleife arbeiten und i in der IsACopCar Abfrage nutzen.
    Willst du nur ein Car lamlegen worin der spieler sitzt? Dann muss die Schleife raus.

    Die Koordinaten sind manchmal nicht in der richtigen Reihenfolge bei dem Editor.
    Du musst gucken das die kleinen Werte links sind und die größeren rechts beim createn.
    minX,minY,maxX,maxY.
    Der Editor funktioniert einwandfrei, man muss nur darauf achten das die Daten richtig sortiert sind.
    lg