User Tag List

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 28

Thema: Map (.bsp) "Un"-Decompilebar machen ? Copyrightschutz möglich?

  1. #1
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10

    Frage Map (.bsp) "Un"-Decompilebar machen ? Copyrightschutz möglich?

    Editieren
    Hey Leute,
    Ich möchte nicht das aus meiner Map dinge kopiert werden oder das die Texturen geändert werden und die Map dann als eigene Map verkauft wird.
    Wie bei electric_razor_v6, ein gutes Beispiel sind Hidden und NoSpread, die haben einfach alles kopiert Texturen geändert und "Map by ..." an die Wand geklatscht.
    Das nenne ich einfach unfähige Mapper! Denen müsste man Source SDK verbieten. Ich will nicht das, das mit meiner Map passiert, deswegen wollte ich fragen.
    Wie kann ich meine Map "Un"Decompilebar machen. Damit z.B. einfach nur eine Fehlermeldung kommt oder etwas Ähnliches, damit nicht mal der kleinste Brush kopiert werden kann.

    Die Maps von KnY sind gut, seine Maps haben mich Inspiriert selber zu Mappen.
    Geändert von BaShoR (13.08.2011 um 00:49:28 Uhr)

  2. #2
    Mitglied Avatar von Hashimo
    Registriert seit
    18.06.2010
    Ort
    CCAA
    Alter
    35
    Beiträge
    338
    Blog-Einträge
    3
    Renommee-Modifikator
    8
    100%-ige Sicherheit wirst du wohl nie haben können.. aber VNIX aus unserer Software-Ecke ist sicherlich schonmal ein guter Schutz.
    No pity. No mercy. No regret.


  3. #3
    Mitglied
    Registriert seit
    23.06.2010
    Alter
    24
    Beiträge
    67
    Renommee-Modifikator
    8
    mhm gab hier mal n tutorial mit dem man seine map decompilsicher machen konnte gab 3 möglichkeiten soweit ich noch weiß aber weiß die auch nichts mehr so genau
    gab einen den man in bearbeitungsmodus also properties der map einstellen konnte einen den man über texteditor einfügen konnte und noch einen aber den weiß ich nich mehr und ich weiß auch leider nicht mehr wie das ging

    MfG
    Master of Terror

    PS: Vielleicht weiß es ja jemand und würde darüber ein tutorial schreiben oder es mir erklären dann mach ich eins drüber


    ___________________

    Es gab hier mal ein Tutorial, in welchem beschrieben wurde, wie man seine Map gegen Decompilieren schützen kann.
    Eine Möglichkeit ist, über die Mapproperties einen Schutz einzustellen, eine andere Möglichkeit ist, die .vmf mit einem Texteditor zu bearbeiten. Es gab noch eine weitere Möglichkeit, an diese kann ich mich aber nicht mehr erinnern.

    PS: Sofern jemand weiß, wie das mit dem Decompileschutz funktionierte, könnte ja ein Tutorial schreiben

    MfG, Frontschwein, Verfechter der deutschen Sprache w/o schnellem Internet und daher etwas mürrisch.

    // Für die Richtigkeit der Aussage übernehm ich keine Garantie, hab lediglich dieses Chaos in Sätze geordnet.
    Geändert von BaShoR (13.08.2011 um 19:42:22 Uhr)

  4. #4
    Spender Avatar von SyntaXx
    Registriert seit
    16.07.2010
    Ort
    Bei Ewald im Spreewald
    Beiträge
    166
    Blog-Einträge
    1
    Renommee-Modifikator
    8
    Ich meine es gab da mal eine Möglichkeit mit 'nem ganz normalen Light-Entity.
    Die Farbe musste grün und es hatte 'ne bestimmte Option. Nur keine Ahnung mehr welche. Ein Freund und ich haben das mal ausprobiert und ich konnte sie (die Map) nicht decompilen, bekam nur 'ne Fehermeldung.
    Aber wie gesagt, bin mir da nicht sicher.

    Alias CeintaXx

  5. #5
    Mitglied Avatar von Hashimo
    Registriert seit
    18.06.2010
    Ort
    CCAA
    Alter
    35
    Beiträge
    338
    Blog-Einträge
    3
    Renommee-Modifikator
    8
    Ja, da gibt es mehrere Möglichkeiten..
    Soweit ich weiß, geben viele davon nur eine "Nachricht" an VMEX, dass es die Map doch bitte bitte nicht decompilen möchte.
    Ich tendiere daher immernoch zu VNIX von Jodokus, da dieses Programm wohl etwas mehr macht.


    Möglichkeiten:

    1.) VNIX benutzen

    2.) cstrike.fdg mit Texteditor öffnen und "World"-Einstellungen heraussuchen, dann folgenden Eintrag ergänzen:
    Code:
    no_decomp(choices) : "Disallow Decompiling" : "If Yes, then new versions of VMEX will refuse to decompile your map." =
    	[
    		"" : "No"
    		1 : "Yes"
    	]
    (speichern)
    Jetzt solltest Du im Hammer unter Map --> Map Properties --> ClassInfo dein Eintrag "Disallow Decompiling" sehen.
    Diesen einfach auf "Yes" stellen. (apply)

    3.) Deine VMF mit einem Texteditor öffnen und beim Eintrag "world" folgendes über dem Eintrag "solid" ergänzen:
    Code:
    "no_decomp" "1"
    (speichern)

    4.) Irgendein Entity in die Map setzen und die Eigenschaften öffnen.
    SmartEdit ausschalten und neuen Key hinzufügen.
    Code:
    Key: no_decomp
    Wert: 1
    (ok ; apply)


    Mehr Möglichkeiten fallen mir gerade nicht ein.
    No pity. No mercy. No regret.


  6. #6
    Mitglied Avatar von ECNMY
    Registriert seit
    10.08.2010
    Beiträge
    258
    Renommee-Modifikator
    8
    Mach einfach alles was Hashimo beschrieben hat, und sie sollte ziemlich sicher sein.
    a
    a
    § 328 StGB Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer [...] eine [...] nukleare Explosion verursacht [...]

  7. #7
    Spender Avatar von Jacky
    Registriert seit
    19.06.2010
    Ort
    Graz
    Alter
    33
    Beiträge
    924
    Renommee-Modifikator
    9
    Sind ja alles ganz nette möglichkeiten, aber einmal google mit cracked vmex gefüttert und die ganze Arbeit war umsonst.

    Um es in jodokus worten zu sagen:
    Wenn man weiß wie die bsp aufgebaut ist, kann man sie immer decompilen. Denn css muss die bsp ja auch noch lesen können. (Kein wort für wort zitat )

    Daher hat hashimo mit seinem 1. Post recht. 100%ig sicher geht einfach nicht.

  8. #8
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10
    Aber Leute die wissen wie eine .bsp aufgebaut ist, können bestimmt selber mappen und haben es nicht nötig von anderen zu klauen. Ich will meine Map vor Noobs schützen die zu
    dumm zum mappen sind und sich nicht genug zeit nehmen den Hammer Editor zu studieren und deshalb von anderen klauen und die sind nicht schlau genug für so was.

    edit : hab ein problem mit meiner Map, das Compilen geht nicht. Es kommt ne Meldung "Das System kann die angegebene Datei nicht finden."

    hier mein Compilelog :
    Spoiler:

    ** Executing...
    ** Command: "g:\programme\steam\steamapps\xtothez1996\sourcesd k\bin\orangebox\bin\vbsp.exe"
    ** Parameters: -game "g:\programme\steam\steamapps\xtothez1996\coun ter-strike source\cstrike" "C:\Users\Denis\Desktop\Meine Map\neueste dateien\ba_jail_KinderDeagle_fx_v4.vmf"

    Valve Software - vbsp.exe (Jul 7 2010)
    2 threads
    materialPath: g:\programme\steam\steamapps\xtothez1996\counter-strike source\cstrike\materials
    Loading C:\Users\Denis\Desktop\Meine Map\neueste dateien\ba_jail_KinderDeagle_fx_v4.vmf
    ConVarRef mat_reduceparticles doesn't point to an existing ConVar
    material "/ad_corona" not found.
    Material not found!: /AD_CORONA
    Could not locate 'GameData' key in g:\programme\steam\steamapps\xtothez1996\counter-strike source\cstrike\gameinfo.txt
    Patching WVT material: maps/ba_jail_kinderdeagle_fx_v4/stone/blendstonefloor003asphalt_wvt_patch
    Patching WVT material: maps/ba_jail_kinderdeagle_fx_v4/de_train/blendgrassdirt001a_wvt_patch
    fixing up env_cubemap materials on brush sides...
    Material glass/glasswindowbreak070b is depending on itself through materialvar $crackmaterial! Ignoring...
    Too many switched lights (error at light flackerdiscolichtgrün), max = 32

    ** Executing...
    ** Command: "g:\programme\steam\steamapps\xtothez1996\sourcesd k\bin\orangebox\bin\vvis.exe"
    ** Parameters: -game "g:\programme\steam\steamapps\xtothez1996\coun ter-strike source\cstrike" "C:\Users\Denis\Desktop\Meine Map\neueste dateien\ba_jail_KinderDeagle_fx_v4"

    Valve Software - vvis.exe (Jul 7 2010)
    2 threads
    reading c:\users\denis\desktop\meine map\neueste dateien\ba_jail_KinderDeagle_fx_v4.bsp
    Error opening c:\users\denis\desktop\meine map\neueste dateien\ba_jail_KinderDeagle_fx_v4.bsp

    ** Executing...
    ** Command: "g:\programme\steam\steamapps\xtothez1996\sourcesd k\bin\orangebox\bin\vrad.exe"
    ** Parameters: -game "g:\programme\steam\steamapps\xtothez1996\coun ter-strike source\cstrike" "C:\Users\Denis\Desktop\Meine Map\neueste dateien\ba_jail_KinderDeagle_fx_v4"

    Valve Software - vrad.exe SSE (Jul 7 2010)

    Valve Radiosity Simulator
    2 threads
    [Reading texlights from 'lights.rad']
    [1 texlights parsed from 'lights.rad']

    Loading c:\users\denis\desktop\meine map\neueste dateien\ba_jail_KinderDeagle_fx_v4.bsp
    Error opening c:\users\denis\desktop\meine map\neueste dateien\ba_jail_KinderDeagle_fx_v4.bsp

    ** Executing...
    ** Command: Copy File
    ** Parameters: "C:\Users\Denis\Desktop\Meine Map\neueste dateien\ba_jail_KinderDeagle_fx_v4.bsp" "g:\programme\steam\steamapps\xtothez1996\coun ter-strike source\cstrike\maps\ba_jail_KinderDeagle_fx_v4.bsp "

    The command failed. Windows reported the error:
    "Das System kann die angegebene Datei nicht finden."
    Geändert von DNP (16.08.2011 um 16:35:38 Uhr)

  9. #9
    Mitglied Avatar von Hashimo
    Registriert seit
    18.06.2010
    Ort
    CCAA
    Alter
    35
    Beiträge
    338
    Blog-Einträge
    3
    Renommee-Modifikator
    8
    Man muss im Endeffekt einfach drauf hoffen, dass diese Menschen zu unbegabt sind bei google nach einer gecrackten VMEX-Version zu suchen..


    Wegen deinem Fehler:
    "Too many switched lights (error at light flackerdiscolichtgrün), max = 32"

    Da scheinst du es mit den an- /ausschaltbaren Lichtern etwas übertrieben zu haben.
    Wie der Log dir mitteilt, verträgt das Spiel nur max. 32 schaltbare Lichter..
    No pity. No mercy. No regret.


  10. #10
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10
    ach so, danke klappt wieder.

    edit :

    Zitat Zitat von Hashimo Beitrag anzeigen
    Ja, da gibt es mehrere Möglichkeiten..
    Soweit ich weiß, geben viele davon nur eine "Nachricht" an VMEX, dass es die Map doch bitte bitte nicht decompilen möchte.
    Ich tendiere daher immernoch zu VNIX von Jodokus, da dieses Programm wohl etwas mehr macht.


    Möglichkeiten:

    1.) VNIX benutzen

    2.) cstrike.fdg mit Texteditor öffnen und "World"-Einstellungen heraussuchen, dann folgenden Eintrag ergänzen:
    Code:
    no_decomp(choices) : "Disallow Decompiling" : "If Yes, then new versions of VMEX will refuse to decompile your map." =
    	[
    		"" : "No"
    		1 : "Yes"
    	]
    (speichern)
    Jetzt solltest Du im Hammer unter Map --> Map Properties --> ClassInfo dein Eintrag "Disallow Decompiling" sehen.
    Diesen einfach auf "Yes" stellen. (apply)

    3.) Deine VMF mit einem Texteditor öffnen und beim Eintrag "world" folgendes über dem Eintrag "solid" ergänzen:
    Code:
    "no_decomp" "1"
    (speichern)

    4.) Irgendein Entity in die Map setzen und die Eigenschaften öffnen.
    SmartEdit ausschalten und neuen Key hinzufügen.
    Code:
    Key: no_decomp
    Wert: 1
    (ok ; apply)


    Mehr Möglichkeiten fallen mir gerade nicht ein.

    Also zuerst Vnix benutzen und dann die ganzen schritte oder wie ?

    Edit Edit : "entdata [variable] 450417/393216 (114.5%) VERY FULL!" ist das schlimm ?


    Edit Edit Edit : wo sind die World einstellungen?

    Spoiler:
    //====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
    //
    // Purpose: Counter-Strike: Source game definition file (.fgd)
    //
    //================================================== ===========================

    @include "base.fgd"

    //-------------------------------------------------------------------------
    //
    // Base Classes
    //
    //-------------------------------------------------------------------------


    @BaseClass = Target
    [
    target(target_destination) : "Target"
    ]

    @BaseClass = TeamNum
    [
    TeamNum(choices) : "Team Number (int)" : 0 =
    [
    2 : "Terrorist"
    3 : "Counter-Terrorist"
    ]
    input SetTeam(integer) : "Changes the entity's team"
    ]

    @BaseClass color(0 0 200) base(Targetname, Angles) = Weapon
    [
    spawnflags(Flags) =
    [
    1 : "Start constrained" : 0
    ]

    output OnPlayerUse(void) : "Fires when the player +uses this weapon"
    output OnPlayerPickup(void) : "Fires when the player picks up this weapon"
    ]

    @FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_activator_team :
    "A filter that filters by the team of the activator."
    [
    filterteam(choices) : "Filter Team Number" : 2 : "The team number to filter by. If the filter mode is Allow, only entities whose "+
    "team number matches the given team will pass the filter. If the filter mode is Disallow, "+
    "all entities EXCEPT those whose team number matches the given team will pass the filter." =
    [
    2 : "Terrorist"
    3 : "Counter-Terrorist"
    ]
    ]

    //-------------------------------------------------------------------------
    //
    // Point Classes
    //
    //-------------------------------------------------------------------------

    @PointClass base(Angles) studio("models/player/ct_urban.mdl") = info_player_counterterrorist :
    "This entity marks the start point for counter-terrorists. One of these needs to be placed for each team member. " +
    "20 start points is typical. Should be placed at least 128 units away from each other and surrounding walls"
    [
    ]

    @PointClass base(Angles) studio("models/player/t_phoenix.mdl") = info_player_terrorist :
    "This entity marks the start point for terrorists. One of these needs to be placed for each team member. " +
    "20 start points is typical. Should be placed at least 128 units away from each other and surrounding walls."
    [
    ]

    @PointClass base(Angles) studio("models/editor/playerstart.mdl") = info_player_logo :
    "This is for logo maps for demos. All players will spawn here, and there will be no " +
    "class menu, team menu, or HUD."
    [
    ]

    @PointClass base(Angles) studio("models/Characters/hostage_04.mdl") = hostage_entity :
    "Hostage. A hostage NPC will spawn at this point.\n\n" +
    "There are usually four hostages placed in each hostage rescue map. The model for each Hostage is randomly chosen."
    [

    HostageType(choices) : "Hostage Model (int)" : 0 : "Not used. Hostage models are chosen randomly by the game." =
    [
    0 : "A"
    1 : "B"
    1 : "C"
    1 : "D"
    ]
    ]

    @PointClass base(Angles) = info_view_parameters :
    "This entity selects whether or not this level uses the Half-Life 2 view parameters (eye height: 64, FOV: 75) " +
    "or the old Counter-Strike settings (eye height: 53.5, FOV: 90)."
    [
    ViewMode(choices) : "View Mode" : 0 =
    [
    0 : "Old"
    1 : "New"
    ]
    ]

    @PointClass base(Targetname,Angles) = info_map_parameters :
    "Map parameters. Used to set which teams can buys, and the C4 bomb detonation radius."
    [
    buying(choices) : "Teams that can buy" : 0 =
    [
    0 : "Everyone"
    1 : "Only Counter-Terrorists"
    2 : "Only Terrorists"
    3 : "Nobody"
    ]

    bombradius(float) : "C4 Explosion Radius" : 500 : "Overrides the default radius of the explosion when the C4 bomb explodes. Max range is 2048"
    input FireWinCondition(integer) : "Fires win conditions for the win."
    ]

    @PointClass base(Angles) = env_detail_controller : "An entity that lets you control the fade distances for detail props."
    [
    fademindist(float) : "Start Fade Dist/Pixels" : 400 : "Distance at which the prop starts to fade."
    fademaxdist(float) : "End Fade Dist/Pixels" : 1200 : "Maximum distance at which the prop is visible."
    ]

    //-------------------------------------------------------------------------
    //
    // Weapons
    //
    //-------------------------------------------------------------------------

    @PointClass base(Weapon) studio("models/weapons/w_knife_t.mdl") = weapon_knife : "Knife" []

    @PointClass base(Weapon) studio("models/weapons/w_eq_fraggrenade.mdl") = weapon_flashbang : "Flashbang" []
    @PointClass base(Weapon) studio("models/weapons/w_eq_fraggrenade.mdl") = weapon_hegrenade : "HE Grenade" []
    @PointClass base(Weapon) studio("models/weapons/w_eq_smokegrenade.mdl") = weapon_smokegrenade : "Smoke Grenade" []

    @PointClass base(Weapon) studio("models/weapons/w_defuser.mdl") = item_defuser : "Defuse Kit" []
    @PointClass base(Weapon) studio("models/weapons/w_c4.mdl") = weapon_c4 : "C4 Bomb" []

    @PointClass base(Weapon) studio("models/weapons/w_pist_glock18.mdl") = weapon_glock : "9X19mm Sidearm" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_usp.mdl") = weapon_usp : "K&M .45 Tactical" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_p228.mdl") = weapon_p228 : "228 Compact" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_deagle.mdl") = weapon_deagle : "Night Hawk .50C" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_fiveseven.mdl") = weapon_fiveseven : "ES Five-Seven" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_elite.mdl") = weapon_elite : ".40 Dual Elites" []

    @PointClass base(Weapon) studio("models/weapons/w_shot_m3super90.mdl") = weapon_m3 : "Leone 12 Gauge Super" []
    @PointClass base(Weapon) studio("models/weapons/w_shot_xm1014.mdl") = weapon_xm1014 : "Leone YG1265 Auto Shotgun" []

    @PointClass base(Weapon) studio("models/weapons/w_smg_tmp.mdl") = weapon_tmp : "Schmidt Machine Pistol" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_mp5.mdl") = weapon_mp5navy : "K&M Sub-Machine Gun" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_ump45.mdl") = weapon_ump45 : "K&M UMP45" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_p90.mdl") = weapon_p90 : "ES C90" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_mac10.mdl") = weapon_mac10 : "Ingram MAC-10" []

    @PointClass base(Weapon) studio("models/weapons/w_rif_galil.mdl") = weapon_galil : "IDF Defender" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_ak47.mdl") = weapon_ak47 : "CV-47" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_sg552.mdl") = weapon_sg552 : "Krieg 552 Commando" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_famas.mdl") = weapon_famas : "Clarion 5.56" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_m4a1.mdl") = weapon_m4a1 : "Maverick M4A1 Carbine" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_aug.mdl") = weapon_aug : "Bullpup" []

    @PointClass base(Weapon) studio("models/weapons/w_snip_scout.mdl") = weapon_scout : "Schmidt Scout" []
    @PointClass base(Weapon) studio("models/weapons/w_snip_g3sg1.mdl") = weapon_g3sg1 : "D3/AU-1 Semi-Auto Sniper Rifle" []
    @PointClass base(Weapon) studio("models/weapons/w_snip_sg550.mdl") = weapon_sg550 : "Krieg 550 Commando" []
    @PointClass base(Weapon) studio("models/weapons/w_snip_awp.mdl") = weapon_awp : "Magnum Sniper Rifle" []

    @PointClass base(Weapon) studio("models/weapons/w_mach_m249para.mdl") = weapon_m249 : "ES M249 Para" []

    //-------------------------------------------------------------------------
    //
    // Solid Classes
    //
    //-------------------------------------------------------------------------

    @SolidClass = func_ladder :
    "Ladder. Players will be able to freely along this brush, as if it was a ladder. If you are using a model prop " +
    "for the visual representation of the ladder in the map, apply the toolsinvisibleladder material to the " +
    "func_ladder brush."
    [
    ]

    @SolidClass base(func_physbox) = func_physbox_multiplayer :
    "This class is the same as func_physbox, except the runtime collisions use a more bouncy method that avoids " +
    "the prediction errors normal physics objects get."
    [
    ]

    @SolidClass base(Targetname, TeamNum) = func_buyzone:
    "Buy Zone. Players can buy equipment while standing in this zone, if the zone matches their current team.\n\n" +
    "A single Buy Zone entity must be either terrorist or counter-terrorist, it cannot be both. Should have " +
    "the toolstrigger material applied to all sides"
    [
    ]

    @SolidClass base(Targetname, Parentname ) = func_bomb_target:
    "Bomb Target. The terrorists can place C4 explosives while standing in this zone.\n\n" +
    "When the bomb is planted and explodes inside this area, the BombExplode outputs are fired. The game handles " +
    "all of the bomb planting and scoring logic – the BombExplode outputs are provided to add visual and damage effects."
    [
    output BombExplode(void): "Fires when C4 explodes"
    output BombPlanted(void): "Fires when a C4 is planted"
    output BombDefused(void): "Fires when a C4 is defused"

    heistbomb(choices) : "Heist Mode bomb target" : 0 : "This is a Bomb Target designed for the Heist game mode." =
    [
    0 : "No"
    1 : "Yes"
    ]

    bomb_mount_target(string) : "Bomb Mount Target"
    ]

    @SolidClass base(Targetname) = func_hostage_rescue:
    "Hostage Rescue Zone. When a hostage is led into this zone, it is marked as rescued."
    [
    ]

    //-------------------------------------------------------------------------
    //
    // Sound Test Map Entities
    //
    //-------------------------------------------------------------------------

    @PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_surroundtest
    : "Surround Sound Test"
    [
    input FireCorrectOutput(void) : "Fire output based on snd_surround_speaker cvar value"
    output On2Speakers(void) : "Fired if player is using 2 speakers."
    output On4Speakers(void) : "Fired if player is using 4 speakers."
    output On51Speakers(void) : "Fired if player is using 5.1 speakers."
    ]


    @BaseClass base(Targetname, Angles) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = Territory
    [
    respawn_area(string) : "Respawn area name"
    buyzone(string) : "Buy Zone name"
    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_hospital : "Hospital Territory Control Point"
    [


    ]


    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_terrorist : "Terrorists' Base Territory Point (Non-Capturable)"
    [


    ]


    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_counterterrorist : "Counter-Terrorists' Base Territory Point (Non-Capturable)"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_barracks : "Barracks Territory Control Point"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_bank : "Bank Territory Control Point"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_encryption : "Encryption Center Territory Control Point"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_surveillance : "Surveillance Center Territory Control Point"
    [


    ]


    @PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_territory_control_rules
    : "The Territory Control rules entity (VERY IMPORTANT!)"
    [
    respawntime(float) : "Wave Respawn Time" : 30 : "Respawn time in seconds."
    ]

    @SolidClass base(Targetname) = func_territory_respawn_area:
    "Players will respawn inside this area."
    [
    ]



    Geändert von DNP (16.08.2011 um 20:09:47 Uhr) Grund: was vergessen

  11. #11
    Mitglied Avatar von damagefilter
    Registriert seit
    11.07.2010
    Ort
    Potsdam
    Beiträge
    363
    Blog-Einträge
    4
    Renommee-Modifikator
    9
    Very Full ist immer schlimm.
    Und, nichts persönliches, aber ich glaube nicht dass du eine Map gemacht hast, in der sowas auch nur ansatzweise passieren sollte.
    Das heißt im Umkehrschluss: Du machst was falsch.
    Ich tippe auf massiven Gebrauch von lights.

    Mein Vorschlag: Tu das nicht. Sei ein Pro und lerne, wie man ein Level richtig mit Licht versorgt.
    Wir haben reichlich Tutorials dafür. Man muss sie nur lesen.
    Logic is an amazing thing ...
    for people that have it.

  12. #12
    Administrator Avatar von BaShoR
    Registriert seit
    18.06.2010
    Ort
    Oberbayern
    Alter
    27
    Beiträge
    4.202
    Blog-Einträge
    1
    Renommee-Modifikator
    20
    Naja entdata ist eigentlich relativ egal. Das ist nur eine ungefähre Vorgabe, die sich Valve selbst gemacht hat.

    Das sagt auch folgendes schon aus: entdata [variable]

    Zu Entdata generell:
    -Speicherplatz der durch Entitys gefressen wird
    -z.B. viele func_details, Outputketten mit langen Begriffen (z.B. statt name namenamenamenamename) und alle anderen Entities und deren Keyvalues.

    Auswirkungen auf das Spiel hat es zwar keine, aber weniger ist immer besser (Dateigröße und Performancegründe).

    Optimieren kann man das zum Beispiel, indem man viele kleine func_details, die nebeneinanderstehen (z.B. Torbögen die einzelnen Elemente) zu einem großen func_detail macht.
    Außerdem kann man bei Entities, die nicht unbedingt einen Namen brauchen, diesen weglassen oder generell Namen verkürzen.
    Desweiteren kann man natürlich unnütze Entities löschen (30 Lichter in einem Raum auf 5 reduzieren).

  13. #13
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10
    Okey Danke, Ich versuche mal eure Ratschläge zu befolgen.
    Wo sind hier die World Einstellungen ?

    Spoiler:
    //====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
    //
    // Purpose: Counter-Strike: Source game definition file (.fgd)
    //
    //================================================== ===========================

    @include "base.fgd"

    //-------------------------------------------------------------------------
    //
    // Base Classes
    //
    //-------------------------------------------------------------------------


    @BaseClass = Target
    [
    target(target_destination) : "Target"
    ]

    @BaseClass = TeamNum
    [
    TeamNum(choices) : "Team Number (int)" : 0 =
    [
    2 : "Terrorist"
    3 : "Counter-Terrorist"
    ]
    input SetTeam(integer) : "Changes the entity's team"
    ]

    @BaseClass color(0 0 200) base(Targetname, Angles) = Weapon
    [
    spawnflags(Flags) =
    [
    1 : "Start constrained" : 0
    ]

    output OnPlayerUse(void) : "Fires when the player +uses this weapon"
    output OnPlayerPickup(void) : "Fires when the player picks up this weapon"
    ]

    @FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_activator_team :
    "A filter that filters by the team of the activator."
    [
    filterteam(choices) : "Filter Team Number" : 2 : "The team number to filter by. If the filter mode is Allow, only entities whose "+
    "team number matches the given team will pass the filter. If the filter mode is Disallow, "+
    "all entities EXCEPT those whose team number matches the given team will pass the filter." =
    [
    2 : "Terrorist"
    3 : "Counter-Terrorist"
    ]
    ]

    //-------------------------------------------------------------------------
    //
    // Point Classes
    //
    //-------------------------------------------------------------------------

    @PointClass base(Angles) studio("models/player/ct_urban.mdl") = info_player_counterterrorist :
    "This entity marks the start point for counter-terrorists. One of these needs to be placed for each team member. " +
    "20 start points is typical. Should be placed at least 128 units away from each other and surrounding walls"
    [
    ]

    @PointClass base(Angles) studio("models/player/t_phoenix.mdl") = info_player_terrorist :
    "This entity marks the start point for terrorists. One of these needs to be placed for each team member. " +
    "20 start points is typical. Should be placed at least 128 units away from each other and surrounding walls."
    [
    ]

    @PointClass base(Angles) studio("models/editor/playerstart.mdl") = info_player_logo :
    "This is for logo maps for demos. All players will spawn here, and there will be no " +
    "class menu, team menu, or HUD."
    [
    ]

    @PointClass base(Angles) studio("models/Characters/hostage_04.mdl") = hostage_entity :
    "Hostage. A hostage NPC will spawn at this point.\n\n" +
    "There are usually four hostages placed in each hostage rescue map. The model for each Hostage is randomly chosen."
    [

    HostageType(choices) : "Hostage Model (int)" : 0 : "Not used. Hostage models are chosen randomly by the game." =
    [
    0 : "A"
    1 : "B"
    1 : "C"
    1 : "D"
    ]
    ]

    @PointClass base(Angles) = info_view_parameters :
    "This entity selects whether or not this level uses the Half-Life 2 view parameters (eye height: 64, FOV: 75) " +
    "or the old Counter-Strike settings (eye height: 53.5, FOV: 90)."
    [
    ViewMode(choices) : "View Mode" : 0 =
    [
    0 : "Old"
    1 : "New"
    ]
    ]

    @PointClass base(Targetname,Angles) = info_map_parameters :
    "Map parameters. Used to set which teams can buys, and the C4 bomb detonation radius."
    [
    buying(choices) : "Teams that can buy" : 0 =
    [
    0 : "Everyone"
    1 : "Only Counter-Terrorists"
    2 : "Only Terrorists"
    3 : "Nobody"
    ]

    bombradius(float) : "C4 Explosion Radius" : 500 : "Overrides the default radius of the explosion when the C4 bomb explodes. Max range is 2048"
    input FireWinCondition(integer) : "Fires win conditions for the win."
    ]

    @PointClass base(Angles) = env_detail_controller : "An entity that lets you control the fade distances for detail props."
    [
    fademindist(float) : "Start Fade Dist/Pixels" : 400 : "Distance at which the prop starts to fade."
    fademaxdist(float) : "End Fade Dist/Pixels" : 1200 : "Maximum distance at which the prop is visible."
    ]

    //-------------------------------------------------------------------------
    //
    // Weapons
    //
    //-------------------------------------------------------------------------

    @PointClass base(Weapon) studio("models/weapons/w_knife_t.mdl") = weapon_knife : "Knife" []

    @PointClass base(Weapon) studio("models/weapons/w_eq_fraggrenade.mdl") = weapon_flashbang : "Flashbang" []
    @PointClass base(Weapon) studio("models/weapons/w_eq_fraggrenade.mdl") = weapon_hegrenade : "HE Grenade" []
    @PointClass base(Weapon) studio("models/weapons/w_eq_smokegrenade.mdl") = weapon_smokegrenade : "Smoke Grenade" []

    @PointClass base(Weapon) studio("models/weapons/w_defuser.mdl") = item_defuser : "Defuse Kit" []
    @PointClass base(Weapon) studio("models/weapons/w_c4.mdl") = weapon_c4 : "C4 Bomb" []

    @PointClass base(Weapon) studio("models/weapons/w_pist_glock18.mdl") = weapon_glock : "9X19mm Sidearm" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_usp.mdl") = weapon_usp : "K&M .45 Tactical" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_p228.mdl") = weapon_p228 : "228 Compact" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_deagle.mdl") = weapon_deagle : "Night Hawk .50C" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_fiveseven.mdl") = weapon_fiveseven : "ES Five-Seven" []
    @PointClass base(Weapon) studio("models/weapons/w_pist_elite.mdl") = weapon_elite : ".40 Dual Elites" []

    @PointClass base(Weapon) studio("models/weapons/w_shot_m3super90.mdl") = weapon_m3 : "Leone 12 Gauge Super" []
    @PointClass base(Weapon) studio("models/weapons/w_shot_xm1014.mdl") = weapon_xm1014 : "Leone YG1265 Auto Shotgun" []

    @PointClass base(Weapon) studio("models/weapons/w_smg_tmp.mdl") = weapon_tmp : "Schmidt Machine Pistol" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_mp5.mdl") = weapon_mp5navy : "K&M Sub-Machine Gun" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_ump45.mdl") = weapon_ump45 : "K&M UMP45" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_p90.mdl") = weapon_p90 : "ES C90" []
    @PointClass base(Weapon) studio("models/weapons/w_smg_mac10.mdl") = weapon_mac10 : "Ingram MAC-10" []

    @PointClass base(Weapon) studio("models/weapons/w_rif_galil.mdl") = weapon_galil : "IDF Defender" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_ak47.mdl") = weapon_ak47 : "CV-47" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_sg552.mdl") = weapon_sg552 : "Krieg 552 Commando" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_famas.mdl") = weapon_famas : "Clarion 5.56" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_m4a1.mdl") = weapon_m4a1 : "Maverick M4A1 Carbine" []
    @PointClass base(Weapon) studio("models/weapons/w_rif_aug.mdl") = weapon_aug : "Bullpup" []

    @PointClass base(Weapon) studio("models/weapons/w_snip_scout.mdl") = weapon_scout : "Schmidt Scout" []
    @PointClass base(Weapon) studio("models/weapons/w_snip_g3sg1.mdl") = weapon_g3sg1 : "D3/AU-1 Semi-Auto Sniper Rifle" []
    @PointClass base(Weapon) studio("models/weapons/w_snip_sg550.mdl") = weapon_sg550 : "Krieg 550 Commando" []
    @PointClass base(Weapon) studio("models/weapons/w_snip_awp.mdl") = weapon_awp : "Magnum Sniper Rifle" []

    @PointClass base(Weapon) studio("models/weapons/w_mach_m249para.mdl") = weapon_m249 : "ES M249 Para" []

    //-------------------------------------------------------------------------
    //
    // Solid Classes
    //
    //-------------------------------------------------------------------------

    @SolidClass = func_ladder :
    "Ladder. Players will be able to freely along this brush, as if it was a ladder. If you are using a model prop " +
    "for the visual representation of the ladder in the map, apply the toolsinvisibleladder material to the " +
    "func_ladder brush."
    [
    ]

    @SolidClass base(func_physbox) = func_physbox_multiplayer :
    "This class is the same as func_physbox, except the runtime collisions use a more bouncy method that avoids " +
    "the prediction errors normal physics objects get."
    [
    ]

    @SolidClass base(Targetname, TeamNum) = func_buyzone:
    "Buy Zone. Players can buy equipment while standing in this zone, if the zone matches their current team.\n\n" +
    "A single Buy Zone entity must be either terrorist or counter-terrorist, it cannot be both. Should have " +
    "the toolstrigger material applied to all sides"
    [
    ]

    @SolidClass base(Targetname, Parentname ) = func_bomb_target:
    "Bomb Target. The terrorists can place C4 explosives while standing in this zone.\n\n" +
    "When the bomb is planted and explodes inside this area, the BombExplode outputs are fired. The game handles " +
    "all of the bomb planting and scoring logic – the BombExplode outputs are provided to add visual and damage effects."
    [
    output BombExplode(void): "Fires when C4 explodes"
    output BombPlanted(void): "Fires when a C4 is planted"
    output BombDefused(void): "Fires when a C4 is defused"

    heistbomb(choices) : "Heist Mode bomb target" : 0 : "This is a Bomb Target designed for the Heist game mode." =
    [
    0 : "No"
    1 : "Yes"
    ]

    bomb_mount_target(string) : "Bomb Mount Target"
    ]

    @SolidClass base(Targetname) = func_hostage_rescue:
    "Hostage Rescue Zone. When a hostage is led into this zone, it is marked as rescued."
    [
    ]

    //-------------------------------------------------------------------------
    //
    // Sound Test Map Entities
    //
    //-------------------------------------------------------------------------

    @PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_surroundtest
    : "Surround Sound Test"
    [
    input FireCorrectOutput(void) : "Fire output based on snd_surround_speaker cvar value"
    output On2Speakers(void) : "Fired if player is using 2 speakers."
    output On4Speakers(void) : "Fired if player is using 4 speakers."
    output On51Speakers(void) : "Fired if player is using 5.1 speakers."
    ]


    @BaseClass base(Targetname, Angles) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = Territory
    [
    respawn_area(string) : "Respawn area name"
    buyzone(string) : "Buy Zone name"
    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_hospital : "Hospital Territory Control Point"
    [


    ]


    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_terrorist : "Terrorists' Base Territory Point (Non-Capturable)"
    [


    ]


    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_counterterrorist : "Counter-Terrorists' Base Territory Point (Non-Capturable)"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_barracks : "Barracks Territory Control Point"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_bank : "Bank Territory Control Point"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_encryption : "Encryption Center Territory Control Point"
    [


    ]

    @PointClass base(Territory) studio( "models/props/cs_assault/consolepanelloadingbay.mdl" ) = info_territory_control_surveillance : "Surveillance Center Territory Control Point"
    [


    ]


    @PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_territory_control_rules
    : "The Territory Control rules entity (VERY IMPORTANT!)"
    [
    respawntime(float) : "Wave Respawn Time" : 30 : "Respawn time in seconds."
    ]

    @SolidClass base(Targetname) = func_territory_respawn_area:
    "Players will respawn inside this area."
    [
    ]

  14. #14
    Mitglied Avatar von damagefilter
    Registriert seit
    11.07.2010
    Ort
    Potsdam
    Beiträge
    363
    Blog-Einträge
    4
    Renommee-Modifikator
    9
    Ich würde meinen, die sind nicht im cstrike fgd sondern in base.fgd.
    Aber ich will ehrlich sein, der Aufwandt deine map vor dem decompilen schützen zu wollen ist für den Mülleimer.
    Du kämpfst dort eine verlorene Schlacht.
    Willst du das niemand deine Maps decompilen kann, dann fang gar nicht erst an welche zu machen.

    Mal abgesehen davon reicht VNIX absolut aus um es dem geneigten Decompiler schwer zu machen.
    Wenn du deine Map, wie du sagst, vor Noobs schützen willst, dann ist das mehr als genug.
    Geändert von damagefilter (18.08.2011 um 13:25:36 Uhr)
    Logic is an amazing thing ...
    for people that have it.

  15. #15
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10
    Also ich habe meine 10´000 func_details auf ca. 10 reduziert aber an der EndData ändert sich gar nichts,
    aber es ist zudem ein guter Schutz vor Decompiling den falls jemand es schafft und etwas aus meiner Map kopieren möchte
    wird es sehr umständlich wenn ich alle func_detail´s (die möglich sind) zu einem großen mache,
    kann der jenige nicht einzelne dinge kopieren, weil die alle miteinander verbunden sind und es schwer wäre sie zu trennen,
    den ich weiß nicht wie man etwas, was aus vielen Brushes zu einem func_detail gemacht wurde trennt.
    Und wenn ich es nicht weiß, dann weiß es der Decompiler auch nicht. Den die haben meiner Meinung nach
    keine Ahnung vom mappen, was auch der Grund für das Decompilen ist.

    Werde mir gleich die base.fdg ansehen.

    Edit : Wie kann ich ein Profilbild machen? Hat sich erledigt.
    Geändert von DNP (18.08.2011 um 14:05:53 Uhr)

  16. #16
    Mapping-Profi Avatar von eMo
    Registriert seit
    10.12.2010
    Beiträge
    2.021
    Renommee-Modifikator
    19
    Ich denke du mappst einfach unsauber
    Das soll kein Vorwurf sein, du hast es halt einfach noch nicht so wirklich drauf, das passiert dann nunmal
    Les dir die Threads zu Optimierung und so weiter durch, dann kannst du die EntData bestimmt reduzieren.
    Ein kreativer Geist findet immer eine Möglichkeit, sich auszuleben.

  17. #17
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10
    Ich weiß schon wie ich sie reduzieren kann, nur das ist zu viel Arbeit!

  18. #18
    Mitglied Avatar von Hashimo
    Registriert seit
    18.06.2010
    Ort
    CCAA
    Alter
    35
    Beiträge
    338
    Blog-Einträge
    3
    Renommee-Modifikator
    8
    - Nein, nicht alle nacheinander. Das sind mögliche Alternativen ; ECNMY hatte das nicht ernst gemeint.
    VNIX sollte trotzdem reichen.

    - EntData: Schließe mich BaShoRs Meinung an.

    - World Einstellungen: Kann sein, dass es tatsächlich die base.fgd ist.
    Kann es leider gerade nicht nachgucken, weil ich noch arbeiten bin.

    - func_details sind absolut kein Schutz vor Decompiling.
    Sie erschweren dem Dieb auch nichts, weil beim Decompiling Brush-Entities ignoriert und
    als normale World-Brushs dagestellt werden.
    (Habe ich so in Erinnerung ; korrigiert mich, wenn's falsch ist.
    Habe aber schon lange nichts mehr dekompiliert.)

    Eine Trennung der Brushs ist recht einfach: Oben im Hammer den "ig"-Button benutzen.

    Dazu kommt, dass es nicht sinnvoll ist, alle func_details zu einem einzigen zusammen zu
    fassen, denn damit machste dem Rechner nur mehr Arbeit beim Berechnen der sichtbaren Leafs.

    - Unsauberes Mapping: Das befürchte ich auch fast.
    So klein sind die Grenzen der Source-Engine jetzt nicht und wenn du schon sagt,
    dass dir die (wichtige!) Optimierung zu viel Arbeit ist.. *naja*.

    Zu guter letzt ein Tipp abseits vom Mapping: Bilde kürzere Sätze.
    Dann klappt's auch mit'm Fronti.
    No pity. No mercy. No regret.


  19. #19
    Erfahrenes Mitglied Avatar von DNP
    Registriert seit
    29.07.2011
    Ort
    Dortmund
    Alter
    21
    Beiträge
    732
    Renommee-Modifikator
    10
    Ich habe 80 Outputs wo ich den Namen ändern muss.
    Wo genau ist der "ig" Button? Ich will die Brushes trennen,
    Da das schlecht ist.
    Und was hat das zu bedeuten?

    Error: displacement found on a(n) func_detail entity - not supported (entity 1367, brush 595)

  20. #20
    Mitglied Avatar von damagefilter
    Registriert seit
    11.07.2010
    Ort
    Potsdam
    Beiträge
    363
    Blog-Einträge
    4
    Renommee-Modifikator
    9
    Sagte ich doch bereits.
    Displacements können keine Entities sein und um die func_details auseinanderzunehmen musst du sie entweder zurück in WorldBrushes verwandeln.
    Oder du nimmst den IG Button oben in der Tools Leiste unter dem Programmmenü und verschiebst alles wie du es brauchst.
    Logic is an amazing thing ...
    for people that have it.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]