Beiträge von Leon_Dachser

    Gute Abend!
    Ich möchte hier mein altes Deatmatch Script verschenken, da ich aus zeitlichen Gründen leider sehr inaktiv in der SA:MP Szene geworden bin und dementsprechend auch keinen Server mehr betreibe. Ich stelle hier mein altes TDM Script einer Person zur Verfügung, welche Intresse und Spaß daran hat diesen GAMEMODE zu betreiben und ggf. zu verfeinern.


    Zum GAMEMODE:
    Es handelt sich hierbei um ein Teamdeathmatchscript (~ 9.500 Zeilen) bei dem bereits die Grundlagen entwickelt worden sind, wie z.B. Tutorial, Shopsystem, Gangfightsystem, Hilfsübersichten, FUN Arenen oder das Admimsystem. Das Speichersystem ist auf dini ausgerichtet und das Script wurde versucht einigermaßen übersichtlich und mit Kommentaren gestaltet zu werden. Es wurde eine Spielwelt in Blueberry errichtet, um das Spielgeschehen auf einen kleineren, befüllteren Raum zu beschränken, in der sich die Army mit den Terroristen bekämpft. Die Army hat ihr Hauptquartier auf dem Fleischberggelände und die Terroristen haben ein gemapptes HQ in der Ballerei von Blueberry errichtet bekommen. Das Gangfightsystem besteht hier aus verschiedenen Gebieten, Imteriors, die von den Fraktionen erobert werden können. Eine Einnahme kann unter bestimmten Faktoren eingenommen werden, so dass der Einnehmende als Einnahmeleiter gesetzt wird und eine bestimmte Zeit überleben muss. Dieses System wurde komplett dynamisch aufgebaut, ebenfalls wie ein Autohaus, welches vom Punktesystem umfasst wird. Ich könnte noch einiges mehr auflisten, jedoch hab ich keine Lust weiter zu schreibe, da ich gerade vom Tablet aus schreibe (erklärt auch die Schreibfehler). Die Person, die Interesse hat bekommt natürlich das Script einmal erklärt und eine ausführliche Einweisung auf den GAMEMODE. Ich möchte es nur aus dem Grund einer Person aushändigen, in der Hoffnung, dass ich bald mal als User auf dem Server spielen kann ohne mich über die Serverleitung aufregen oder kümmern zu müssen. ERRORS oder Bugs existieren soweit nicht.


    Vielleicht findet sich ja jemand
    MfG

    Guten Abend,
    ich bin auf der Suche nach einem Team Deathmatch Server auf denen die Lagcompensation aktiv ist, der CJ-Laufstyle aktiv ist und Waffen wie Combatshotgun, Sawn-Off verboten sind. Ebenso sollte CBug verboten sein und keine Cheater dort rumlaufen...


    Kennt jemand einen der diese Sachen erfüllt?

    Guten Morgen liebe Community.
    ich habe ein kleines Problem mit den Fahrzeugmarkern...


    Und zwar werden die Marker passend erstellt, jedoch entfernen sie sich nicht wenn ich
    objective auf 0 setze...


    Weiß jemand woran es liegen kann?


    Diese Marker sind gemeint:



    /// Setzen
    if(IsVehicleEmpty(v))
    {
    if(GetVehicleModel(v) == 468 || GetVehicleModel(v) == 471)
    {
    GetVehicleHealth(v, health);
    if(health == 1000)
    {
    SetVehicleParamsForPlayer(v, playerid, 1, 0);
    }
    }
    }


    /// Rücksetzen
    for(new v=0; v<MAX_VEHICLES; v++)
    {
    if(GetVehicleModel(v) == 598 || GetVehicleModel(v) == 468 || GetVehicleModel(v) == 471)
    {
    SetVehicleParamsForPlayer(v, playerid, 0, 0);
    }
    }


    playerid ist in dem fällen immer der Selbe Spieler...


    Ich hoffe es weiß jemand weiter...


    MfG

    Guten Abend liebe Community,
    ich habe ein Problem:


    Und zwar wenn ich die Variabel HatAuto auf 0 habe, bekomme ich die Message, dass ich kein Auto habe usw...
    Wenn ich jedoch die Variabel auf 1 oder höher Setze, bekomm ich die Meldung dass der Befehl nicht existiert und es
    geschieht nichts.....


    Printf Anfanung und Mitte werden gesendet



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[128];
    format(string, sizeof string, "System: Der Befehl '%s' existiert nicht. Benutze: '/help'", cmdtext);
    return SendClientMessage(playerid, ARED, string);
    }


    ocmd:mycar(playerid,params[])
    {
    if(sscanf(params,""))return SendClientMessage(playerid, GRAU,"Benutze: '/mycar'");
    printf("Anfang /mycar");
    if(SpielerInfo[playerid][HatAuto] == 0)return SendClientMessage(playerid, RED, "Du besitzt kein eigenes Auto!");
    printf("Mitte /mycar");
    new string[256];
    if(SpielerInfo[playerid][Spawntaste] == 0)
    {
    ....
    }
    if(SpielerInfo[playerid][Spawntaste] == 1)
    {
    ......
    }
    ShowPlayerDialog(playerid,DG_Auto,DG_LIST,""Desing"Mein Auto:",string,"Auswählen", "Abbrechen");
    printf("Ende /mycar");
    return 1;
    }



    Andere Befehle funktionieren einwand frei!


    mfG

    Guten Abend,
    ich habe versucht ein System über anklickbare Textdraws zu erstellen,
    jedoch kann ich den Textdraw einfach nicht anklicken... keine Ahnung woran es liegt :/


    Hab es auch schon mit Box an versucht und TextDrawSize ist auch angepasst :(



    new Text:AbbrechenTD;



    AbbrechenTD = TextDrawCreate(274.000000, 106.000000, "Abbrechen");
    TextDrawBackgroundColor(AbbrechenTD, 255);
    TextDrawFont(AbbrechenTD, 1);
    TextDrawLetterSize(AbbrechenTD, 0.529999, 1.700000);
    TextDrawColor(AbbrechenTD, -16776961);
    TextDrawSetOutline(AbbrechenTD, 0);
    TextDrawSetProportional(AbbrechenTD, 1);
    TextDrawSetShadow(AbbrechenTD, 1);
    TextDrawTextSize(AbbrechenTD, 363.000000, 0.000000);
    TextDrawSetSelectable(AbbrechenTD, 1);



    case DG_Autohaus:
    {
    if(response)
    {


    TextDrawShowForPlayer(playerid, AbbrechenTD);
    SelectTextDraw(playerid, COLOR_RED);
    }
    }


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    printf("1");
    if(clickedid == AbbrechenTD)
    {
    printf("In Abbrechen");
    }
    printf("2");
    return 1;
    }



    Printf 1 und 2 kommen.... "In Abbrechen jedoch nicht :/


    Woran kann es liegen?
    MfG

    Die Gebiete sind nicht da. Wenn ich ein Gangfight starte passiert ebenfalls nichts :/


    /edit1:
    Habe mal Beim erstellen der Gebiete mal etwas geloggt und beim anzeigen der Gebiete....


    Bei OnPlayerSpawn entsteht gar nichts in den Logs und beim erstellen folgendes:




    ZonenGeb[i] = CreateDynamicZone(BizzezGeb[i][ZoneMinX],BizzezGeb[i][ZoneMinY],BizzezGeb[i][ZoneMaxX],BizzezGeb[i][ZoneMaxX], KeinerGeb);
    ZonenGeb[i] = CreateDynamicZone(BizzezGeb[i][ZoneMinX],BizzezGeb[i][ZoneMinY],BizzezGeb[i][ZoneMaxX],BizzezGeb[i][ZoneMaxX], KeinerGeb);*/
    new string[256];
    format(string,sizeof(string), "erstellt gebiete: %i ",ZonenGeb[i]);
    printf(string);


    for(new i = 0; i < sizeof ZonenGeb; i++)
    {
    if(BizzezGeb[i][Fraktion] == 0)
    {
    SetDynamicZoneColor(ZonenGeb[i], KeinerGeb);
    ShowDynamicZoneForPlayer(playerid, ZonenGeb[i]);
    new string[256];
    format(string,sizeof(string), "Zeigt gebiete: %i ",ZonenGeb[i]);
    printf(string);


    }


    /edit2: format

    Guten Abend,
    ich habe mich die Tage an ein Gangfightsystem gesetzt und
    habe dort auch versucht Gangzonen bei Gangfight's blinken zu lassen, jedoch funktioniert nichts.


    Ich habe mir dann ein Include gesucht was helfen soll, allerdings klappt immer noch nichts :/


    Include:


    Hier der Code:

    enum BizInfoGeb
    {
    ...
    Float:ZoneMinX,
    Float:ZoneMinY,
    Float:ZoneMaxX,
    Float:ZoneMaxY,
    ...
    }
    new BizzezGeb[10][BizInfoGeb] =
    {
    ...
    {"den Bauhof", "Keiner",-1,0, 93.2545,-189.8502,1.4844, 78.125,-205.078125,125.0,-148.4375, false},
    {"die Hotels", "Keiner",-1,0, 183.1959,-107.7971,2.0234, 140.625,-140.625,226.5625,-82.03125, false}
    ...
    };
    new ZonenGeb[sizeof(BizzezGeb)], PickupsGeb[sizeof(BizzezGeb)];



    public OnGameModeInit()
    {
    for(new i = 0; i < sizeof BizzezGeb; i++)
    {
    ...
    ZonenGeb[i] = CreateDynamicZone(BizzezGeb[i][ZoneMinX],BizzezGeb[i][ZoneMinY],BizzezGeb[i][ZoneMaxX],BizzezGeb[i][ZoneMaxX], KeinerGeb);
    ZonenGeb[i] = CreateDynamicZone(BizzezGeb[i][ZoneMinX],BizzezGeb[i][ZoneMinY],BizzezGeb[i][ZoneMaxX],BizzezGeb[i][ZoneMaxX], KeinerGeb);
    }
    return 1;
    }



    public OnPlayerSpawn(playerid)
    {
    for(new i = 0; i < sizeof ZonenGeb; i++)
    {
    if(BizzezGeb[i][Fraktion] == 0)
    {
    SetDynamicZoneColor(ZonenGeb[i], KeinerGeb);
    ShowDynamicZoneForPlayer(playerid, ZonenGeb[i]);
    }
    if(BizzezGeb[i][Fraktion] == 1) /// Army
    {
    SetDynamicZoneColor(ZonenGeb[i], ArmyGeb);
    ShowDynamicZoneForPlayer(playerid, ZonenGeb[i]);
    }
    if(BizzezGeb[i][Fraktion] == 2) /// Terror
    {
    SetDynamicZoneColor(ZonenGeb[i], TerrorGeb);
    ShowDynamicZoneForPlayer(playerid, ZonenGeb[i]);
    }
    for(new b = 0; b <= MAX_PLAYERS; b++)
    {
    if(BizzezGeb[i][Einnahmelaeuft] == true)
    {
    if(SpielerInfo[b][Einnahmeleiter] == 1)
    {
    if(gTeam[b] == 1) /// Army
    {
    FlashDynamicZoneForPlayer(playerid, ZonenGeb[i], ArmyGeb);
    }
    if(gTeam[b] == 2) /// Terror
    {
    FlashDynamicZoneForPlayer(playerid, ZonenGeb[i], TerrorGeb);
    }
    }
    }
    }
    }
    return 1;
    }



    ocmd:einnehmen(playerid,params[])
    {
    new string[256];
    if(sscanf(params,""))return SendClientMessage(playerid, RED,"Benutze: '/einnehmen'");
    ...
    for(new i = 0; i < sizeof BizzezGeb; i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,1.5, BizzezGeb[i][EinnahmeX], BizzezGeb[i][EinnahmeY], BizzezGeb[i][EinnahmeZ])) continue;
    if(gTeam[playerid] == 1) /// ARMY
    {
    ...
    FlashDynamicZoneForAll(ZonenGeb[i], ArmyGeb);
    ...
    }
    if(gTeam[playerid] == 2) /// TERRORISTEN
    {
    ...
    FlashDynamicZoneForAll(ZonenGeb[i], TerrorGeb);
    ...
    }
    return 1;
    }




    Kann mir jemand helfen? MfG


    /edit: Anders Formatiert

    Guten Tag,
    ich habe vor, dass man beim drücken der Taste 'Enter' die Gebäude verlassen/betreten kann.
    Dies soll aber nur alle 7 Sekunden möglich sein...


    Ich weiß nicht warum, aber ich kriege die Nachrichten immer Doppelt gesendet, sprich wenn ich nur einmal Enter drücke bekomme ich folgende Nachrichten:
    [13:09:26] Du kannst das Gebäude erst in 2 Sekunden wieder betreten!
    [13:09:26] Du kannst das Gebäude erst in 2 Sekunden wieder betreten!


    woran kann es liegen? Hier der Code:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == 16 && GetPlayerVirtualWorld(playerid) == 0 || SpielerInfo[playerid][Arena] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 1.5,172.0901,-152.5857,1.5752)) // BAR
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder betreten!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 501.8994140625,-67.7998046875,998.40002441406);
    SetPlayerVirtualWorld(playerid, 1);
    SetPlayerFacingAngle(playerid, 176.6204);
    SetPlayerInterior(playerid, 11);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.5,501.8994140625,-67.7998046875,998.40002441406)) // BAR EXIT
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder verlassen!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 172.0901,-152.5857,1.5752);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerFacingAngle(playerid, 144.2905);
    SetPlayerInterior(playerid, 0);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.5,203.4211,-202.2478,1.5781)) // PIZZA
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder betreten!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 372.39999390,-133.50000000,1001.00000000);
    SetPlayerVirtualWorld(playerid, 1);
    SetPlayerFacingAngle(playerid, 355.9161);
    SetPlayerInterior(playerid, 5);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.5,372.39999390,-133.50000000,1001.00000000)) // PIZZA EXIT
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder verlassen!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 203.4211,-202.2478,1.5781);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerFacingAngle(playerid, 90.1741);
    SetPlayerInterior(playerid, 0);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }



    Ich hoffe mir kann jemand helfen.


    MfG

    Guten Abend liebe Community,
    ich bin malwieder auf eure Hilfe angewiesen...


    Und zwar möchte ich durch Hilfe der UDF Datei Ingame die SkinID einer jeweiligen SpielerID ermitteln, allerdings
    kriege ich keine SkinID als Variabel ausgelesen....


    Hier die Definiton von GetTargetPlayerSkinIdById



    Mein versuch die SkinID zu ermitteln: (58 war meine derzeitige PlayerID Ingame)




    Quellcode

    und so sieht die Ausgabe der Variabeln aus...:


    Ich hoffe es kann mir jemand helfen!



    MfG