Beiträge von Dudalus

    Hallo


    Same Basisproblem - neuer Anwendungsort. Ich möchte die Farben der betreffenden Fraktion aus einem Array auslesne und damit die Farbe blinken lassen. Wenn ich hinten die [0] nicht angebe, motzt der Compiler immer rum, bei Vehiclesnames, Jobnames und Fraktionsnames gehts aber auch ohne [0], also dort wo man das Array ausliest (Nicht bei der Definition).Hier ist mal mein Code, jedenfalls ist die Zone immer etwas dünkler als die Map:



    new FraktionColor[17][] =
    {
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0xC0C0C096",
    "0x000000AA", //Schwarz Hitman
    "0x33AA33AA", //Grün Grove Street
    "0xAA3333AA", //Pink Ballas
    "0xFFFF00AA", //Gelb Vagos
    "0x80400096", //Braun Hells Angels
    "0x33CCFFAA", //Hellblau San Fierro Rifa
    "0xAFAFAFAA", //Schwarz Triaden
    "0xF5DEB3AA" //Beige Da Nang Boys
    };


    COMMAND:zoneerobern(playerid,params[])
    {
    #pragma unused params
    if(GangFightStatus == 1) return SendClientMessage(playerid,COLOR_GREY,"Es kann nur um eine Zone gekämpft werden");
    if(PlayerInfo[playerid][pLeader] < 9) return SendClientMessage(playerid,COLOR_GREY,"Du bist in keiner Gang sondern in einer Staatsfraktion");
    for(new zone = 0; zone < ZoneAmount; zone ++)
    {
    if(IsPlayerInArea(playerid,GangZoneInfo[zone][gKoord1],GangZoneInfo[zone][gKoord2],GangZoneInfo[zone][gKoord3],GangZoneInfo[zone][gKoord4]))
    {
    if(PlayerInfo[playerid][pMember] == GangZoneInfo[zone][gFraktion]) return SendClientMessage(playerid,COLOR_GREY,"Diese Zone gehört bereits zu deiner Gang");
    SendClientMessage(playerid,COLOR_GREEN,"Gangzone wird für 5 Minuten angegriffen");
    SendClientMessageToAll(COLOR_RED,"Es wird um eine Gangzone gekämpft");
    FightGang1 = GangZoneInfo[zone][gFraktion];
    FightGang2 = PlayerInfo[playerid][pMember];
    GangZoneID = zone;
    GangFightStatus = 1;
    GangZoneFlashForAll(GangZoneInfo[zone][gZoneID],FraktionColor[PlayerInfo[playerid][pMember]][0]);
    GangZoneInfo[zone][gAngreifer] = PlayerInfo[playerid][pMember];
    SetTimerEx("GangZoneCheckFight",300000,0,"d",zone);
    return 1;
    }
    }
    return 1;
    }


    Zone blinkt überhaupt nicht, zudem muss ich woe oben erwähnt FraktionColor[Zahl][0] benutzen, da der Compiler sonst Errors ausspuckt.
    MfG dUDA

    Hallo


    Bei Fahrzeugen:
    AddStatic = Nur unter OnGameModeInit verwendbar und kann Züge erstellen, keine Respawnzeit einstellbar
    AddStaticVehicle = Same wie oben aber mit einstellbarer Respawnzeit
    CreateVehicle = Überall im Script verwendbar, kann aber keine Züge erstellen, Respawnzeit einstellbar


    Bei Pickup weiss ich es nicht genau, denke aber auch, dass es an OnGameModeInit liegt.


    MfG dUDA


    //Edit AddStaticVehicleEx hinzugefügt

    Hallo


    Kenn mich mit ENB gar nicht aus und möchte es einmal probieren. Jedoch überstrahlt entweder das Blaue auf dem Bild oder es strahlt ein gelb/weissoranges Licht/Sonne und ich sehe in beiden Fällen nichts. Ich benutzte die Standartini.


    Windows 7 x64 Ultimate
    Nvidia GTX 260
    ENB 0075c2


    http://www.pic-upload.de/view-8411752/ENB1.png.html


    Wäre froh um eure Tatschläge, da ich mal etwas rumschrauben möchte ;)
    MfG dUDA


    //Edit Rechtschreibung
    //Edit 2
    Hat sich aufgrund der sehr netten Hilfe von BloodyEric erledigt, danke an ihn. Closed

    Hallo


    Ok, jetzt hab ich eine Beschäftigung....Tutorialersteller hauen. B2T


    Ich habe vorhin die Koordinaten getestet und es ging nicht, werde es mit den richtigen Koordinaten versuchen. Meld mich nochmals


    MfG dUDA


    Edit:
    Ich benutze jetzt die 3 Zonen,aber ich sehe ingame noch keine Zonen, teste es schnell per Filterscript, um zu schauen, ob es wirklich im Script liegt. Die Zonen werden beim Spawnen dem Spieler angezeigt (sollten):


    10,1379.583, -1634.489, 1748.458, -1413.416
    10,1820.712, -1610.802, 2345.503, -1429.206
    10,1775.078, -2001.629, 2041.276, -1638.437

    Edit 2:
    Problem wurde gelöst, es lag an einer extrem hellen Farbe, keine Ahnung warum die so hell ist. Ich stelle mal auf erledigt. Danke ;)


    MfG dUDA

    Hallo


    In der Konsole kommt das folgende raus. Ich lass die Zone jetzt noch zusätzlich bei OnPlayerSpawn anzeigen:


    Code
    [16:58:34] gop geöffnet!
    [16:58:34] geingabe '10,1160.214721,-877.017517,1240.978881,-950.182922
    '
    [16:58:34] ZoneAmount 0
    [16:58:34] Frak: 10
    [16:58:34] K1: 1160.214721
    [16:58:34] K2: -877.017517
    [16:58:34] K3: 1240.978881
    [16:58:34] K4: -950.182922


    In der Datei ist folgender Inhalt:
    10,1160.214721,-877.017517,1240.978881,-950.182922


    Die Zone wird ingame nicht angezeigt
    MfG dUDALUS

    Hallo


    Ja habe vorhin alles vollgeprintet, er lädt alles, jedoch zeigt er keine Zone an. Ich schau mal, ob ich GangZoneShowForPlayer unterOnGameModeInit nicht wirklich verwenden kann. Der Ordner heisst Zones, da hab ich 4 mal geschaut, alles stimmt - will mich wegen sowas nicht blamieren ;)
    Meld mich nachher


    MfG dUDA

    Hallo


    Ich bin irgendwie grad etwas am Verzweifeln. Ich möchte einen Integer und 4 Floatwerte aus einer Date auslesen und mit dieser dann eine Gangzone erstellen. Wenn och einfach so im Kopfbereich des OnGameModeInit eine vom System unabhängige Zone erstelle und sie anzeigen lasse, geht dies. Wenn ich jedoch mit meinem System eine laden möchte, kommt garnichts. Es liegt anscheinend an der if(gop... Abfrage, da ich darüber eine Gangzone gemacht habe und diese ging (keine Systemgangzone). Ich weiss nicht, der Datepfad sollte stimmen, auch der Aufbau.


    Die Farbe wird aus einem Array ausgelesen, jedoch kann es daran nicht liegen, da er überhaupt nicht bis zum printf vorher kommt. Wäre um Hilfe sehr froh.


    #define GangZoneDatei "Zones/Gangzones.ini"



    //Gangzonen
    new GFraktion,Float:GKoord1,Float:GKoord2,Float:GKoord3,Float:GKoord4;
    new File:gop = fopen(GangZoneDatei,io_read);
    new geingabe[256];
    if(gop)
    {
    while(fread(gop,geingabe))
    {
    printf(geingabe);
    sscanf(geingabe,"p<,>iffff",GFraktion,GKoord1,GKoord2,GKoord3,GKoord4);
    printf(geingabe);
    GangZoneInfo[ZoneAmount][gFraktion] = GFraktion;
    GangZoneInfo[ZoneAmount][gFarbe] = FraktionColor[GFraktion][0];
    GangZoneInfo[ZoneAmount][gKoord1] = GKoord1;
    GangZoneInfo[ZoneAmount][gKoord2] = GKoord2;
    GangZoneInfo[ZoneAmount][gKoord3] = GKoord3;
    GangZoneInfo[ZoneAmount][gKoord4] = GKoord4;
    printf("Frak: %d",GFraktion);
    printf("K1: %f",GKoord1);
    printf("K2: %f",GKoord2);
    printf("K3: %f",GKoord3);
    printf("K4: %f",GKoord4);
    GangZoneInfo[ZoneAmount][gZoneID] = GangZoneCreate(GangZoneInfo[ZoneAmount][gKoord1],GangZoneInfo[ZoneAmount][gKoord2],GangZoneInfo[ZoneAmount][gKoord3],GangZoneInfo[ZoneAmount][gKoord4]);
    ZoneAmount ++;
    SendClientMessageToAll(COLOR_GREEN,"Gangzone geladen");
    }
    fclose(gop);
    }


    Inhalt der Datei:


    Code
    10,1379.583, -1634.489, 1748.458, -1413.416
    10,1820.712, -1610.802, 2345.503, -1429.206
    10,1775.078, -2001.629, 2041.276, -1638.437


    Nachtrag:


    Die Gangzones werden per Public gepaintet, teste grad eine etwas umgebaute Version


    Edit: Dateiinhalt hinzugefügt
    Edit 2: Nachtrag


    MfG dUDA

    Hallo


    Ich bin daran ein kleines Nagelbandsystem zu bauen, sprich ein bisheriges zu verbessern. Wenn ich jedoch 2, teilweise 3 mal über das Nagelband fahre, gehen nachher die reifen nicht mehr kaputt. Ich weiss nicht ob es am Pickuptyp 14 liegt.


    new pickid1 = CreatePickup(1007, 14, X+(4.0*dis1), Y+(4.0*dis2), Z, 0);
    new pickid2 = CreatePickup(1007, 14, X+(1.25*dis1), Y+(1.25*dis2), Z, 0);
    new pickid3 = CreatePickup(1007, 14, X-(4.0*dis1), Y-(4.0*dis2), Z, 0);
    new pickid4 = CreatePickup(1007, 14, X-(1.25*dis1), Y-(1.25*dis2), Z, 0);
    new objectid = CreateObject(2892, X, Y, Z-0.15, 0.0, 0.0, A);


    Ich habe es dann mal mit dem von Stas versucht aber das selbe Problem:


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(iPickups[pickupid] != 0)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(vehicleid != 0)
    {
    new panels, doors, lights, tires;
    // GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    // UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15);
    GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
    tires = encode_tires(1, 1, 1, 1);
    UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);


    }
    }
    return 1;
    }


    encode_tires(tires1, tires2, tires3, tires4)
    {
    return tires1 | (tires2 << 1) | (tires3 << 2) | (tires4 << 3);
    }


    Wäre um eine Hilfe oder einen Hinweis sehr froh, da ich es mir nur damit erklären kann, dass das Pickup pickable ist, ich habe es aber mit 1 und 0 versucht, irgendwie erfolglos.


    MfG dUDA

    Wenn er denn Namen bereits vergeben hat soll er den String umbennenen oder nicht neu erstellen sondern den alten benutzen


    DUDA


    Edit Rechtsscchreibung

    Hallo
    Hier im Forum gibt es einen sehr guten Thread zum Thema Sscanf2.0 . Ich kann dir den Link Grad schwer schicken da ich am Handy bin. Damit kannst Du aber zB Dateien Splitter . Wenn ich nachher am PC bin such ich den Link.



    MfG dUDA

    Ja Meister gewiss, sorry Kristallkugel hat sich geirrt. Meinste eigenen ich würfle das Resultat aus -.- Ich hol die Vermutung von ganz weit her und habe keine Erfahrung


    Posten den Code, lass dir helfen und rate nicht bunt los - Sofern Du das Problem überhaupt lösen willst. Dann können wir/Du Sachen ausschliessen und keine Ratestutunde betreiben


    MfG dUDA