scripter achtung - erbitte hilfe wegen 2 probs (awe) |
|
|
Wie soll jemand hier was Finden, wenn er die Scripts nicht kennt??
ToM
__________________

|
|
|
|
|
Dr.Longunregistriert

|
|
|
|
|
|
|
|
ok alles klar ich poste dann mal
__________________
|
|
|
|
|
|
|
so hab mal die gsc für dm gewählt die is net so groß
/*
Deathmatch
Objective: Score points by eliminating other players
Map ends: When one player reaches the score limit, or time limit is reached
Respawning: No wait / Away from other players
Level requirements
------------------
Spawnpoints:
classname mp_deathmatch_spawn
All players spawn from these. The spawnpoint chosen is dependent on the current locations of enemies at the time of spawn.
Players generally spawn away from enemies.
Spectator Spawnpoints:
classname mp_deathmatch_intermission
Spectators spawn from these and intermission is viewed from these positions.
Atleast one is required, any more and they are randomly chosen between.
Level script requirements
-------------------------
Team Definitions:
game["allies"] = "american";
game["axis"] = "german";
Because Deathmatch doesn't have teams with regard to gameplay or scoring, this effectively sets the available weapons.
If using minefields or exploders:
maps\mp\_load::main();
Optional level script settings
------------------------------
Soldier Type and Variation:
game["american_soldiertype"] = "airborne";
game["american_soldiervariation"] = "normal";
game["german_soldiertype"] = "wehrmacht";
game["german_soldiervariation"] = "normal";
This sets what models are used for each nationality on a particular map.
Valid settings:
american_soldiertype airborne
american_soldiervariation normal, winter
british_soldiertype airborne, commando
british_soldiervariation normal, winter
russian_soldiertype conscript, veteran
russian_soldiervariation normal, winter
german_soldiertype waffen, wehrmacht, fallschirmjagercamo, fallschirmjagergrey, kriegsmarine
german_soldiervariation normal, winter
Layout Image:
game["layoutimage"] = "yourlevelname";
This sets the image that is displayed when players use the "View Map" button in game.
Create an overhead image of your map and name it "hud@layout_yourlevelname".
Then move it to main\levelshots\layouts. This is generally done by taking a screenshot in the game.
Use the outsideMapEnts console command to keep models such as trees from vanishing when noclipping outside of the map.
*/
/*QUAKED mp_deathmatch_spawn (1.0 0.5 0.0) (-16 -16 0) (16 16 72)
Players spawn away from enemies at one of these positions.
*/
/*QUAKED mp_deathmatch_intermission (1.0 0.0 1.0) (-16 -16 -16) (16 16 16)
Intermission is randomly viewed from one of these positions.
Spectators spawn randomly at one of these positions.
*/
main()
{
spawnpointname = "mp_deathmatch_spawn";
spawnpoints = getentarray(spawnpointname, "classname");
if(!spawnpoints.size)
{
maps\mp\gametypes\_callbacksetup::AbortLevel();
return;
}
for(i = 0; i < spawnpoints.size; i++)
spawnpoints[i] placeSpawnpoint();
level.callbackStartGameType = ::Callback_StartGameType;
level.callbackPlayerConnect = ::Callback_PlayerConnect;
level.callbackPlayerDisconnect = ::Callback_PlayerDisconnect;
level.callbackPlayerDamage = ::Callback_PlayerDamage;
level.callbackPlayerKilled = ::Callback_PlayerKilled;
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
allowed[0] = "dm";
maps\mp\gametypes\_gameobjects::main(allowed);
maps\mp\gametypes\_rank_gmi::InitializeBattleRank();
maps\mp\gametypes\_secondary_gmi::Initialize();
if(getCvar("scr_dm_timelimit") == "") // Time limit per map
setCvar("scr_dm_timelimit", "30");
else if(getCvarFloat("scr_dm_timelimit") > 1440)
setCvar("scr_dm_timelimit", "1440");
level.timelimit = getCvarFloat("scr_dm_timelimit");
setCvar("ui_dm_timelimit", level.timelimit);
makeCvarServerInfo("ui_dm_timelimit", "30");
if(getCvar("scr_dm_scorelimit") == "") // Score limit per map
setCvar("scr_dm_scorelimit", "50");
level.scorelimit = getCvarInt("scr_dm_scorelimit");
setCvar("ui_dm_scorelimit", level.scorelimit);
makeCvarServerInfo("ui_dm_scorelimit", "50");
if(getCvar("scr_forcerespawn") == "") // Force respawning
setCvar("scr_forcerespawn", "0");
if(getCvar("scr_battlerank") == "")
setCvar("scr_battlerank", "1"); //default is ON
level.battlerank = getCvarint("scr_battlerank");
setCvar("ui_battlerank", level.battlerank);
makeCvarServerInfo("ui_battlerank", "0");
if(getCvar("scr_shellshock") == "") // controls whether or not players get shellshocked from grenades or rockets
setCvar("scr_shellshock", "1");
setCvar("ui_shellshock", getCvar("scr_shellshock"));
makeCvarServerInfo("ui_shellshock", "0");
if(!isDefined(game["compass_range"])) // set up the compass range.
game["compass_range"] = 1024;
setCvar("cg_hudcompassMaxRange", game["compass_range"]);
makeCvarServerInfo("cg_hudcompassMaxRange", "0");
if(getCvar("scr_drophealth") == "") // Free look spectator
setCvar("scr_drophealth", "1");
// turn off ceasefire
level.ceasefire = 0;
setCvar("scr_ceasefire", "0");
killcam = getCvar("scr_killcam");
if(killcam == "") // Kill cam
killcam = "1";
setCvar("scr_killcam", killcam, true);
level.killcam = getCvarInt("scr_killcam");
if(!isDefined(game["state"]))
game["state"] = "playing";
// this is just to define this variable to other scripts that use it dont crash
level.drawfriend = 0;
level.QuickMessageToAll = true;
level.mapended = false;
level.healthqueue = [];
level.healthqueuecurrent = 0;
if(level.killcam >= 1)
setarchive(true);
//[b@STARd]
maps\mp\aa_stuff::laden();
//[]
}
Callback_StartGameType()
{
// defaults if not defined in level script
if(!isDefined(game["allies"]))
game["allies"] = "american";
if(!isDefined(game["axis"]))
game["axis"] = "german";
if(!isDefined(game["layoutimage"]))
game["layoutimage"] = "default";
layoutname = "levelshots/layouts/hud@layout_" + game["layoutimage"];
precacheShader(layoutname);
setCvar("scr_layoutimage", layoutname);
makeCvarServerInfo("scr_layoutimage", "");
// server cvar overrides
if(getCvar("scr_allies") != "")
game["allies"] = getCvar("scr_allies");
if(getCvar("scr_axis") != "")
game["axis"] = getCvar("scr_axis");
game["menu_serverinfo"] = "serverinfo_" + getCvar("g_gametype");
game["menu_team"] = "team_" + game["allies"] + game["axis"];
game["menu_weapon_allies"] = "weapon_" + game["allies"];
game["menu_weapon_axis"] = "weapon_" + game["axis"];
game["menu_viewmap"] = "viewmap";
game["menu_callvote"] = "callvote";
game["menu_quickcommands"] = "quickcommands";
game["menu_quickstatements"] = "quickstatements";
game["menu_quickresponses"] = "quickresponses";
game["menu_quickvehicles"] = "quickvehicles";
game["menu_quickrequests"] = "quickrequests";
precacheString(&"MPSCRIPT_PRESS_ACTIVATE_TO_RESPAWN");
precacheString(&"MPSCRIPT_KILLCAM");
precacheString(&"GMI_MP_CEASEFIRE");
precacheMenu(game["menu_serverinfo"]);
precacheMenu(game["menu_team"]);
precacheMenu(game["menu_weapon_allies"]);
precacheMenu(game["menu_weapon_axis"]);
precacheMenu(game["menu_viewmap"]);
precacheMenu(game["menu_callvote"]);
precacheMenu(game["menu_quickcommands"]);
precacheMenu(game["menu_quickstatements"]);
precacheMenu(game["menu_quickresponses"]);
precacheMenu(game["menu_quickvehicles"]);
precacheMenu(game["menu_quickrequests"]);
precacheShader("black");
precacheShader("hudScoreboard_mp");
precacheShader("gfx/hud/hud@mpflag_none.tga");
precacheShader("gfx/hud/hud@mpflag_spectator.tga");
precacheStatusIcon("gfx/hud/hud@status_dead.tga");
precacheStatusIcon("gfx/hud/hud@status_connecting.tga");
precacheItem("item_health");
maps\mp\gametypes\_teams::modeltype();
maps\mp\gametypes\_teams::precache();
maps\mp\gametypes\_teams::initGlobalCvars();
maps\mp\gametypes\_teams::initWeaponCvars();
maps\mp\gametypes\_teams::restrictPlacedWeapons();
thread maps\mp\gametypes\_teams::updateGlobalCvars();
thread maps\mp\gametypes\_teams::updateWeaponCvars();
setClientNameMode("auto_change");
thread startGame();
thread addBotClients(); // For development testing
thread updateGametypeCvars();
}
Callback_PlayerConnect()
{
self.statusicon = "gfx/hud/hud@status_connecting.tga";
self waittill("begin");
self.statusicon = "";
iprintln(&"MPSCRIPT_CONNECTED", self);
lpselfnum = self getEntityNumber();
lpselfguid = self getGuid();
logPrint("J;" + lpselfguid + ";" + lpselfnum + ";" + self.name + "\n");
// set the cvar for the map quick bind
self setClientCvar("g_scriptQuickMap", game["menu_viewmap"]);
if(game["state"] == "intermission")
{
spawnIntermission();
return;
}
level endon("intermission");
// start the vsay thread
self thread maps\mp\gametypes\_teams::vsay_monitor();
if(isDefined(self.pers["team"]) && self.pers["team"] != "spectator")
{
self setClientCvar("ui_weapontab", "1");
self.sessionteam = "none";
if(self.pers["team"] == "allies")
self setClientCvar("g_scriptMainMenu", game["menu_weapon_allies"]);
else
self setClientCvar("g_scriptMainMenu", game["menu_weapon_axis"]);
if(isDefined(self.pers["weapon"]))
spawnPlayer();
else
{
spawnSpectator();
if(self.pers["team"] == "allies")
self openMenu(game["menu_weapon_allies"]);
else
self openMenu(game["menu_weapon_axis"]);
}
}
else
{
self setClientCvar("g_scriptMainMenu", game["menu_team"]);
self setClientCvar("ui_weapontab", "0");
if(!isDefined(self.pers["skipserverinfo"]))
self openMenu(game["menu_serverinfo"]);
self.pers["team"] = "spectator";
self.sessionteam = "spectator";
spawnSpectator();
}
for(;
{
self waittill("menuresponse", menu, response);
if(menu == game["menu_serverinfo"] && response == "close")
{
self.pers["skipserverinfo"] = true;
self openMenu(game["menu_team"]);
}
if(response == "open" || response == "close")
continue;
if(menu == game["menu_team"])
{
switch(response)
{
case "allies":
case "axis":
case "autoassign":
if(response == "autoassign")
{
teams[0] = "allies";
teams[1] = "axis";
response = teams[randomInt(2)];
}
if(response == self.pers["team"] && self.sessionstate == "playing")
break;
if(response != self.pers["team"] && self.sessionstate == "playing")
self suicide();
self notify("end_respawn");
self.pers["team"] = response;
self.pers["weapon"] = undefined;
self.pers["savedmodel"] = undefined;
// if there are weapons the user can select then open the weapon menu
if ( maps\mp\gametypes\_teams::isweaponavailable(self.pers["team"]) )
{
if(self.pers["team"] == "allies")
{
menu = game["menu_weapon_allies"];
}
else
{
menu = game["menu_weapon_axis"];
}
self setClientCvar("ui_weapontab", "1");
self openMenu(menu);
}
else
{
self setClientCvar("ui_weapontab", "0");
self menu_spawn("none");
}
self setClientCvar("g_scriptMainMenu", menu);
break;
case "spectator":
if(self.pers["team"] != "spectator")
{
self.pers["team"] = "spectator";
self.pers["weapon"] = undefined;
self.pers["savedmodel"] = undefined;
self.sessionteam = "spectator";
self setClientCvar("g_scriptMainMenu", game["menu_team"]);
self setClientCvar("ui_weapontab", "0");
spawnSpectator();
}
break;
case "weapon":
if(self.pers["team"] == "allies")
self openMenu(game["menu_weapon_allies"]);
else if(self.pers["team"] == "axis")
self openMenu(game["menu_weapon_axis"]);
break;
case "viewmap":
self openMenu(game["menu_viewmap"]);
break;
case "callvote":
self openMenu(game["menu_callvote"]);
break;
}
}
else if(menu == game["menu_weapon_allies"] || menu == game["menu_weapon_axis"])
{
if(response == "team")
{
self openMenu(game["menu_team"]);
continue;
}
else if(response == "viewmap")
{
self openMenu(game["menu_viewmap"]);
continue;
}
else if(response == "callvote")
{
self openMenu(game["menu_callvote"]);
continue;
}
if(!isDefined(self.pers["team"]) || (self.pers["team"] != "allies" && self.pers["team"] != "axis"))
continue;
weapon = self maps\mp\gametypes\_teams::restrict(response);
if(weapon == "restricted")
{
self openMenu(menu);
continue;
}
if(isDefined(self.pers["weapon"]) && self.pers["weapon"] == weapon)
continue;
menu_spawn(weapon);
}
else if(menu == game["menu_viewmap"])
{
switch(response)
{
case "team":
self openMenu(game["menu_team"]);
break;
case "weapon":
if(self.pers["team"] == "allies")
self openMenu(game["menu_weapon_allies"]);
else if(self.pers["team"] == "axis")
self openMenu(game["menu_weapon_axis"]);
break;
case "callvote":
self openMenu(game["menu_callvote"]);
break;
}
}
else if(menu == game["menu_callvote"])
{
switch(response)
{
case "team":
self openMenu(game["menu_team"]);
break;
case "weapon":
if(self.pers["team"] == "allies")
self openMenu(game["menu_weapon_allies"]);
else if(self.pers["team"] == "axis")
self openMenu(game["menu_weapon_axis"]);
break;
case "viewmap":
self openMenu(game["menu_viewmap"]);
break;
}
}
else if(menu == game["menu_quickcommands"])
maps\mp\gametypes\_teams::quickcommands(response);
else if(menu == game["menu_quickstatements"])
maps\mp\gametypes\_teams::quickstatements(response);
else if(menu == game["menu_quickresponses"])
maps\mp\gametypes\_teams::quickresponses(response);
else if(menu == game["menu_quickvehicles"])
maps\mp\gametypes\_teams::quickvehicles(response);
else if(menu == game["menu_quickrequests"])
maps\mp\gametypes\_teams::quickrequests(response);
}
}
Callback_PlayerDisconnect()
{
iprintln(&"MPSCRIPT_DISCONNECTED", self);
lpselfnum = self getEntityNumber();
lpselfguid = self getGuid();
logPrint("Q;" + lpselfguid + ";" + lpselfnum + ";" + self.name + "\n");
}
Callback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc)
{
if(self.sessionteam == "spectator")
return;
// dont take damage during ceasefire mode
// but still take damage from ambient damage (water, minefields, fire)
if(level.ceasefire && sMeansOfDeath != "MOD_EXPLOSIVE" && sMeansOfDeath != "MOD_WATER" && sMeansOfDeath != "MOD_TRIGGER_HURT")
return;
// Don't do knockback if the damage direction was not specified
if(!isDefined(vDir))
iDFlags |= level.iDFLAGS_NO_KNOCKBACK;
// Make sure at least one point of damage is done
if(iDamage < 1)
iDamage = 1;
self maps\mp\gametypes\_shellshock_gmi:
oShellShock(sWeapon, sMeansOfDeath, sHitLoc, iDamage);
// Do debug print if it's enabled
if(getCvarInt("g_debugDamage"))
{
println("client:" + self getEntityNumber() + " health:" + self.health +
" damage:" + iDamage + " hitLoc:" + sHitLoc);
}
// Apply the damage to the player
self finishPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc);
if(self.sessionstate != "dead")
{
lpselfnum = self getEntityNumber();
lpselfname = self.name;
lpselfteam = self.pers["team"];
lpselfGuid = self getGuid();
lpattackerteam = "";
if(isPlayer(eAttacker))
{
lpattacknum = eAttacker getEntityNumber();
lpattackGuid = eAttacker getGuid();
lpattackname = eAttacker.name;
lpattackerteam = eAttacker.pers["team"];
}
else
{
lpattacknum = -1;
lpattackGuid = "";
lpattackname = "";
lpattackerteam = "world";
}
logPrint("D;" + lpselfGuid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + lpattackGuid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n");
}
}
Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc)
{
self endon("spawned");
if(self.sessionteam == "spectator")
return;
// If the player was killed by a head shot, let players know it was a head shot kill
if(sHitLoc == "head" && sMeansOfDeath != "MOD_MELEE")
sMeansOfDeath = "MOD_HEAD_SHOT";
//[b@STARd]
if(sMeansOfDeath == "MOD_HEAD_SHOT")
{
maps\mp\aa_stuff::popHead(damageDir, damage);
attacker maps\mp\aa_stuff::headshot_voice();
}
//[]
// if this is a melee kill from a binocular then make sure they know that they are a loser
if(sMeansOfDeath == "MOD_MELEE" && (sWeapon == "binoculars_artillery_mp" || sWeapon == "binoculars_mp") )
{
sMeansOfDeath = "MOD_MELEE_BINOCULARS";
}
// if this is a kill from the artillery binocs change the icon
if(sMeansOfDeath != "MOD_MELEE_BINOCULARS" && sWeapon == "binoculars_artillery_mp" )
sMeansOfDeath = "MOD_ARTILLERY";
// send out an obituary message to all clients about the kill
obituary(self, attacker, sWeapon, sMeansOfDeath);
self.sessionstate = "dead";
self.statusicon = "gfx/hud/hud@status_dead.tga";
self.deaths++;
lpselfnum = self getEntityNumber();
lpselfname = self.name;
lpselfteam = "";
lpselfguid = self getGuid();
lpattackerteam = "";
attackerNum = -1;
if(isPlayer(attacker))
{
if(attacker == self) // killed himself
{
doKillcam = false;
attacker.score--;
}
else
{
attackerNum = attacker getEntityNumber();
doKillcam = true;
attacker.score++;
attacker checkScoreLimit();
}
lpattacknum = attacker getEntityNumber();
lpattackguid = attacker getGuid();
lpattackname = attacker.name;
}
__________________
|
|
|
|
|
|
|
else // If you weren't killed by a player, you were in the wrong place at the wrong time
{
doKillcam = false;
self.score--;
lpattacknum = -1;
lpattackguid = "";
lpattackname = "";
}
logPrint("K;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + lpattackguid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n");
// Stop thread if map ended on this death
if(level.mapended)
return;
// self updateDeathArray();
// Make the player drop his weapon
self dropItem(self getcurrentweapon());
// Make the player drop health
self dropHealth();
body = self cloneplayer();
delay = 2; // Delay the player becoming a spectator till after he's done dying
wait delay; // ?? Also required for Callback_PlayerKilled to complete before respawn/killcam can execute
if((getCvarInt("scr_killcam") <= 0) || (getCvarInt("scr_forcerespawn") > 0))
doKillcam = false;
if(doKillcam)
self thread killcam(attackerNum, delay);
else
self thread respawn();
}
// ---------------------------------------------------------------------------
-------
// menu_spawn
//
// called from the player connect to spawn the player
// ---------------------------------------------------------------------------
-------
menu_spawn(weapon)
{
if(!isDefined(self.pers["weapon"]))
{
self.pers["weapon"] = weapon;
spawnPlayer();
}
else
{
self.pers["weapon"] = weapon;
weaponname = maps\mp\gametypes\_teams::getWeaponName(self.pers["weapon"]);
if(maps\mp\gametypes\_teams::useAn(self.pers["weapon"]))
self iprintln(&"MPSCRIPT_YOU_WILL_RESPAWN_WITH_AN", weaponname);
else
self iprintln(&"MPSCRIPT_YOU_WILL_RESPAWN_WITH_A", weaponname);
}
}
updateDeathArray()
{
if(!isDefined(level.deatharray))
{
level.deatharray[0] = self.origin;
level.deatharraycurrent = 1;
return;
}
if(level.deatharraycurrent < 31)
level.deatharray[level.deatharraycurrent] = self.origin;
else
{
level.deatharray[0] = self.origin;
level.deatharraycurrent = 1;
return;
}
level.deatharraycurrent++;
}
spawnPlayer()
{
self notify("spawned");
self notify("end_respawn");
resettimeout();
// if(isDefined(self.shocked))
// {
// self stopShellshock();
// self.shocked = undefined;
// }
self.sessionteam = "none";
self.sessionstate = "playing";
self.spectatorclient = -1;
self.archivetime = 0;
// make sure that the client compass is at the correct zoom specified by the level
self setClientCvar("cg_hudcompassMaxRange", game["compass_range"]);
spawnpointname = "mp_deathmatch_spawn";
spawnpoints = getentarray(spawnpointname, "classname");
spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM(spawnpoints);
if(isDefined(spawnpoint))
self spawn(spawnpoint.origin, spawnpoint.angles);
else
maps\mp\_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP");
self.statusicon = "";
self.maxhealth = 100;
self.health = self.maxhealth;
self.pers["rank"] = maps\mp\gametypes\_rank_gmi:
etermineBattleRank(self);
self.rank = self.pers["rank"];
if(!isDefined(self.pers["savedmodel"]))
maps\mp\gametypes\_teams::model();
else
maps\mp\_utility::loadModel(self.pers["savedmodel"]);
// setup all the weapons
self maps\mp\gametypes\_loadout_gmi:
layerSpawnLoadout();
self setClientCvar("cg_objectiveText", &"DM_KILL_OTHER_PLAYERS");
// set the status icon if battlerank is turned on
if(level.battlerank)
{
self.statusicon = maps\mp\gametypes\_rank_gmi::GetRankStatusIcon(self);
}
// setup the hud rank indicator
self thread maps\mp\gametypes\_rank_gmi::RankHudInit();
}
spawnSpectator(origin, angles)
{
self notify("spawned");
self notify("end_respawn");
resettimeout();
// if(isDefined(self.shocked))
// {
// self stopShellshock();
// self.shocked = undefined;
// }
self.sessionstate = "spectator";
self.spectatorclient = -1;
self.archivetime = 0;
if(self.pers["team"] == "spectator")
self.statusicon = "";
if(isDefined(origin) && isDefined(angles))
self spawn(origin, angles);
else
{
spawnpointname = "mp_deathmatch_intermission";
spawnpoints = getentarray(spawnpointname, "classname");
spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(spawnpoints);
if(isDefined(spawnpoint))
self spawn(spawnpoint.origin, spawnpoint.angles);
else
maps\mp\_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP");
}
self setClientCvar("cg_objectiveText", &"DM_KILL_OTHER_PLAYERS");
}
spawnIntermission()
{
self notify("spawned");
self notify("end_respawn");
resettimeout();
// if(isDefined(self.shocked))
// {
// self stopShellshock();
// self.shocked = undefined;
// }
self.sessionstate = "intermission";
self.spectatorclient = -1;
self.archivetime = 0;
spawnpointname = "mp_deathmatch_intermission";
spawnpoints = getentarray(spawnpointname, "classname");
spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(spawnpoints);
if(isDefined(spawnpoint))
self spawn(spawnpoint.origin, spawnpoint.angles);
else
maps\mp\_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP");
}
respawn()
{
self endon("end_respawn");
firsttime = 0;
while(!isDefined(self.pers["weapon"])) {
wait 3;
//self iprintln(&""); // TODO: tell them they need to select a weapon in order to spawn
if (isDefined(self.pers["weapon"]))
break;
if (firsttime < 3)
{
if(self.pers["team"] == "allies")
self openMenu(game["menu_weapon_allies"]);
else
self openMenu(game["menu_weapon_axis"]);
}
firsttime++;
self waittill("menuresponse");
wait 0.2;
}
if(getCvarInt("scr_forcerespawn") > 0)
{
self thread waitForceRespawnTime();
self thread waitRespawnButton();
self waittill("respawn");
}
else
{
self thread waitRespawnButton();
self waittill("respawn");
}
self thread spawnPlayer();
}
waitForceRespawnTime()
{
self endon("end_respawn");
self endon("respawn");
wait getCvarInt("scr_forcerespawn");
self notify("respawn");
}
waitRespawnButton()
{
self endon("end_respawn");
self endon("respawn");
wait 0; // Required or the "respawn" notify could happen before it's waittill has begun
if ( getcvar("scr_forcerespawn") == "1" )
return;
self.respawntext = newClientHudElem(self);
self.respawntext.alignX = "center";
self.respawntext.alignY = "middle";
self.respawntext.x = 320;
self.respawntext.y = 70;
self.respawntext.archived = false;
self.respawntext setText(&"MPSCRIPT_PRESS_ACTIVATE_TO_RESPAWN");
thread removeRespawnText();
thread waitRemoveRespawnText("end_respawn");
thread waitRemoveRespawnText("respawn");
while(self useButtonPressed() != true)
wait .05;
self notify("remove_respawntext");
self notify("respawn");
}
removeRespawnText()
{
self waittill("remove_respawntext");
if(isDefined(self.respawntext))
self.respawntext destroy();
}
waitRemoveRespawnText(message)
{
self endon("remove_respawntext");
self waittill(message);
self notify("remove_respawntext");
}
killcam(attackerNum, delay)
{
self endon("spawned");
// previousorigin = self.origin;
// previousangles = self.angles;
// killcam
if(attackerNum < 0)
return;
self.sessionstate = "spectator";
self.spectatorclient = attackerNum;
self.archivetime = delay + 7;
// wait till the next server frame to allow code a chance to update archivetime if it needs trimming
wait 0.05;
if(self.archivetime <= delay)
{
self.spectatorclient = -1;
self.archivetime = 0;
self.sessionstate = "dead";
self thread respawn();
return;
}
if(!isDefined(self.kc_topbar))
{
self.kc_topbar = newClientHudElem(self);
self.kc_topbar.archived = false;
self.kc_topbar.x = 0;
self.kc_topbar.y = 0;
self.kc_topbar.alpha = 0.5;
self.kc_topbar setShader("black", 640, 112);
}
if(!isDefined(self.kc_bottombar))
{
self.kc_bottombar = newClientHudElem(self);
self.kc_bottombar.archived = false;
self.kc_bottombar.x = 0;
self.kc_bottombar.y = 368;
self.kc_bottombar.alpha = 0.5;
self.kc_bottombar setShader("black", 640, 112);
}
if(!isDefined(self.kc_title))
{
self.kc_title = newClientHudElem(self);
self.kc_title.archived = false;
self.kc_title.x = 320;
self.kc_title.y = 40;
self.kc_title.alignX = "center";
self.kc_title.alignY = "middle";
self.kc_title.sort = 1; // force to draw after the bars
self.kc_title.fontScale = 3.5;
}
self.kc_title setText(&"MPSCRIPT_KILLCAM");
if ( getcvar("scr_forcerespawn") != "1" )
{
if(!isDefined(self.kc_skiptext))
{
self.kc_skiptext = newClientHudElem(self);
self.kc_skiptext.archived = false;
self.kc_skiptext.x = 320;
self.kc_skiptext.y = 70;
self.kc_skiptext.alignX = "center";
self.kc_skiptext.alignY = "middle";
self.kc_skiptext.sort = 1; // force to draw after the bars
}
self.kc_skiptext setText(&"MPSCRIPT_PRESS_ACTIVATE_TO_RESPAWN");
}
if(!isDefined(self.kc_timer))
{
self.kc_timer = newClientHudElem(self);
self.kc_timer.archived = false;
self.kc_timer.x = 320;
self.kc_timer.y = 428;
self.kc_timer.alignX = "center";
self.kc_timer.alignY = "middle";
self.kc_timer.fontScale = 3.5;
self.kc_timer.sort = 1;
}
self.kc_timer setTenthsTimer(self.archivetime - delay);
self thread spawnedKillcamCleanup();
self thread waitSkipKillcamButton();
self thread waitKillcamTime();
self waittill("end_killcam");
self removeKillcamElements();
self.spectatorclient = -1;
self.archivetime = 0;
self.sessionstate = "dead";
//self thread spawnSpectator(previousorigin + (0, 0, 60), previousangles);
self thread respawn();
}
waitKillcamTime()
{
self endon("end_killcam");
wait(self.archivetime - 0.05);
self notify("end_killcam");
}
waitSkipKillcamButton()
{
self endon("end_killcam");
while(self useButtonPressed())
wait .05;
while(!(self useButtonPressed()))
wait .05;
self notify("end_killcam");
}
removeKillcamElements()
{
if(isDefined(self.kc_topbar))
self.kc_topbar destroy();
if(isDefined(self.kc_bottombar))
self.kc_bottombar destroy();
if(isDefined(self.kc_title))
self.kc_title destroy();
if(isDefined(self.kc_skiptext))
self.kc_skiptext destroy();
if(isDefined(self.kc_timer))
self.kc_timer destroy();
}
spawnedKillcamCleanup()
{
self endon("end_killcam");
self waittill("spawned");
self removeKillcamElements();
}
startGame()
{
level.starttime = getTime();
if(level.timelimit > 0)
{
level.clock = newHudElem();
level.clock.x = 320;
level.clock.y = 460;
level.clock.alignX = "center";
level.clock.alignY = "middle";
level.clock.font = "bigfixed";
level.clock setTimer(level.timelimit * 60);
}
for(;
{
checkTimeLimit();
wait 1;
}
}
endMap()
{
game["state"] = "intermission";
level notify("intermission");
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];
if(isDefined(player.pers["team"]) && player.pers["team"] == "spectator")
continue;
if(!isDefined(highscore))
{
highscore = player.score;
playername = player;
name = player.name;
guid = player getGuid();
continue;
}
if(player.score == highscore)
tied = true;
else if(player.score > highscore)
{
tied = false;
highscore = player.score;
playername = player;
name = player.name;
guid = player getGuid();
}
}
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];
player closeMenu();
player setClientCvar("g_scriptMainMenu", "main");
if(isDefined(tied) && tied == true)
player setClientCvar("cg_objectiveText", &"MPSCRIPT_THE_GAME_IS_A_TIE");
else if(isDefined(playername))
player setClientCvar("cg_objectiveText", &"MPSCRIPT_WINS", playername);
player spawnIntermission();
}
if(isDefined(name))
logPrint("W;;" + guid + ";" + name + "\n");
wait 10;
exitLevel(false);
}
checkTimeLimit()
{
if(level.timelimit <= 0)
return;
timepassed = (getTime() - level.starttime) / 1000;
timepassed = timepassed / 60.0;
if(timepassed < level.timelimit)
return;
if(level.mapended)
return;
level.mapended = true;
iprintln(&"MPSCRIPT_TIME_LIMIT_REACHED");
level thread endMap();
}
checkScoreLimit()
{
if(level.scorelimit <= 0)
return;
if(self.score < level.scorelimit)
return;
if(level.mapended)
return;
level.mapended = true;
iprintln(&"MPSCRIPT_SCORE_LIMIT_REACHED");
level thread endMap();
}
updateGametypeCvars()
{
for(;
{
ceasefire = getCvarint("scr_ceasefire");
// if we are in cease fire mode display it on the screen
if (ceasefire != level.ceasefire)
{
level.ceasefire = ceasefire;
if ( ceasefire )
{
level thread maps\mp\_util_mp_gmi::make_permanent_announcement(&"GMI_MP_CEASEFIRE", "end ceasefire", 220, (1.0,0.0,0.0));
}
else
{
level notify("end ceasefire");
}
}
// check all the players for rank changes
if ( getCvarint("scr_battlerank") )
maps\mp\gametypes\_rank_gmi::CheckPlayersForRankChanges();
timelimit = getCvarFloat("scr_dm_timelimit");
if(level.timelimit != timelimit)
{
if(timelimit > 1440)
{
timelimit = 1440;
setCvar("scr_dm_timelimit", "1440");
}
level.timelimit = timelimit;
setCvar("ui_dm_timelimit", level.timelimit);
level.starttime = getTime();
if(level.timelimit > 0)
{
if(!isDefined(level.clock))
{
level.clock = newHudElem();
level.clock.x = 320;
level.clock.y = 440;
level.clock.alignX = "center";
level.clock.alignY = "middle";
level.clock.font = "bigfixed";
}
level.clock setTimer(level.timelimit * 60);
}
else
{
if(isDefined(level.clock))
level.clock destroy();
}
checkTimeLimit();
}
scorelimit = getCvarInt("scr_dm_scorelimit");
if(level.scorelimit != scorelimit)
{
level.scorelimit = scorelimit;
setCvar("ui_dm_scorelimit", level.scorelimit);
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
players[i] checkScoreLimit();
}
killcam = getCvarInt("scr_killcam");
if (level.killcam != killcam)
{
level.killcam = getCvarInt("scr_killcam");
if(level.killcam >= 1)
setarchive(true);
else
setarchive(false);
}
battlerank = getCvarint("scr_battlerank");
if(level.battlerank != battlerank)
{
level.battlerank = battlerank;
// battle rank has precidence over draw friend
if(level.battlerank)
{
// for all living players, show the appropriate headicon
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
// setup the hud rank indicator
player thread maps\mp\gametypes\_rank_gmi::RankHudInit();
player = players[i];
if(isDefined(player.pers["team"]) && player.pers["team"] != "spectator" && player.sessionstate == "playing")
{
player.statusicon = maps\mp\gametypes\_rank_gmi::GetRankStatusIcon(player);
}
}
}
}
wait 1;
}
}
dropHealth()
{
if ( !getcvarint("scr_drophealth") )
return;
if(isDefined(level.healthqueue[level.healthqueuecurrent]))
level.healthqueue[level.healthqueuecurrent] delete();
level.healthqueue[level.healthqueuecurrent] = spawn("item_health", self.origin + (0, 0, 1));
level.healthqueue[level.healthqueuecurrent].angles = (0, randomint(360), 0);
level.healthqueuecurrent++;
if(level.healthqueuecurrent >= 16)
level.healthqueuecurrent = 0;
}
addBotClients()
{
wait 5;
for(;
{
if(getCvarInt("scr_numbots") > 0)
break;
wait 1;
}
iNumBots = getCvarInt("scr_numbots");
for(i = 0; i < iNumBots; i++)
{
ent[i] = addtestclient();
wait 0.5;
if(isPlayer(ent[i]))
{
if(i & 1)
{
ent[i] notify("menuresponse", game["menu_team"], "axis");
wait 0.5;
ent[i] notify("menuresponse", game["menu_weapon_axis"], "kar98k_mp");
}
else
{
ent[i] notify("menuresponse", game["menu_team"], "allies");
wait 0.5;
ent[i] notify("menuresponse", game["menu_weapon_allies"], "springfield_mp");
}
}
}
}
__________________
|
|
|
|
|
|
|
dann noch etwas ...
/*
============
Headshot-Mod
============
*/
laden()
{
//blood/gore effects
level._effect["head_splat"] = loadfx("fx/effects/gore/head_splat.efx");
}
headshot_voice()
{
if(self.pers["team"] == "allies")
{
if (game["allies"] == "american"||game["allies"] == "british")
{
self playlocalsound("headshot");
wait(.05);
self iprintlnbold("^7Headshot");
}
else if (game["allies"] == "russian")
{
// self playlocalsound("rs");//ändern falls es russiche gibt
self playlocalsound("headshot");
wait(.05);
self iprintlnbold("^7Headshot");
}
}
else
//if(self.pers["team"] == "axis")
{
self playlocalsound("kopfschuss");
wait(.05);
self iprintlnbold("^7Kopfschuss");
}
}
/*
=============
Merciless/AWE
=============
*/
popHelmet( damageDir, damage)
{
if(!isdefined(self.hatModel))
return;
self detach( self.hatModel , "");
if(isPlayer(self))
{
helmetoffset = (0,0,64);
}
else
helmetoffset = (0,0,15);
switch(self.hatModel)
{
case "xmodel/equipment_british_beret_green":
case "xmodel/equipment_british_beret_red":
case "xmodel/equipment_german_kriegsmarine_hat":
case "xmodel/sovietequipment_sidecap":
bounce = 0.2;
impactsound = undefined;
break;
default:
bounce = 0.7;
impactsound = "grenade_bounce_earth01";
break;
}
rotation = (randomFloat(540), randomFloat(540), randomFloat(540));
offset = (0,0,-6);
radius = 6;
velocity = maps\mp\_utility::vectorScale(damageDir, (damage/20 + randomFloat(5)) ) + (0,0,(damage/20 + randomFloat(5)) );
helmet = spawn("script_model", self.origin + helmetoffset );
helmet setmodel( self.hatModel );
helmet.angles = self.angles;
helmet thread bounceObject(rotation, velocity, offset, (-90,0,-90), radius, bounce, impactsound, undefined, "helmet");
}
popHead( damageDir, damage)
{
if(!isdefined(self.headmodel))
return;
self popHelmet( damageDir, damage );
self detach( self.headmodel , "");
playfxontag (level._effect["head_splat"],self,"Bip01 Head");
rotation = (randomFloat(540), randomFloat(540), randomFloat(540));
offset = (0,-1.5,-1
;
radius = 6;
velocity = maps\mp\_utility::vectorScale(damageDir, (damage/20 + randomFloat(5)) ) + (0,0,(damage/20 + randomFloat(5)) );
head = spawn("script_model", self.origin + headoffset );
head setmodel( self.headmodel );
head.angles = self.angles;
}
bounceObject(vRotation, vVelocity, vOffset, angles, radius, falloff, bouncesound, bouncefx, objecttype)
{
// Hide until everthing is setup
self hide();
// Setup default values
if(!isdefined(vRotation)) vRotation = (0,0,0);
pitch = (float)vRotation[0]/(float)20; // Pitch/frame
yaw = (float)vRotation[1]/(float)20; // Yaw/frame
roll = (float)vRotation[2]/(float)20; // Roll/frame
if(!isdefined(vVelocity)) vVelocity = (0,0,0);
if(!isdefined(vOffset)) vOffset = (0,0,0);
if(!isdefined(falloff)) falloff = 0.5;
if(!isdefined(ttl)) ttl = 30;
// Spawn anchor (the object that we will rotate)
self.anchor = spawn("script_model", self.origin );
self.anchor.angles = self.angles;
// Link to anchor
self linkto( self.anchor, "", vOffset, angles );
self show();
self setTakeDamage(true);
wait .05; // Let it happen
// Set gravity
vGravity = (0,0,-2);
stopme = 0;
// Drop with gravity
for(;
{
// Let gravity do, what gravity do best
vVelocity +=vGravity;
// Get destination origin
neworigin = self.anchor.origin + vVelocity;
// Check for impact, check for entities but not myself.
trace=bulletTrace(self.anchor.origin,neworigin,true,self);
if(trace["fraction"] != 1) // Hit something
{
// Place object at impact point - radius
distance = distance(self.anchor.origin,trace["position"]);
if(distance)
{
fraction = (distance - radius) / distance;
delta = trace["position"] - self.anchor.origin;
delta2 = maps\mp\_utility::vectorScale(delta,fraction);
neworigin = self.anchor.origin + delta2;
}
else
neworigin = self.anchor.origin;
// Play sound if defined
if(isdefined(bouncesound)) self.anchor playSound(bouncesound);
// Test if we are hitting ground and if it's time to stop bouncing
if(vVelocity[2] <= 0 && vVelocity[2] > -10) stopme++;
if(stopme==5)
{
stopme=0;
// Set origin to impactpoint
self.anchor.origin = neworigin;
// Wait for damage
self waittill ("damage", dmg, who, dir, point, mod);
vVelocity = maps\mp\_utility::vectorScale(dir, (dmg/15 + randomFloat(5)) ) + (0,0,(dmg/15 + randomFloat(5)) );
continue;
}
// Play effect if defined and it's a hard hit
if(isdefined(bouncefx) && length(vVelocity) > 20) playfx(bouncefx,trace["position"]);
// Decrease speed for each bounce.
vSpeed = length(vVelocity) * falloff;
// Calculate new direction (Thanks to Hellspawn this is finally done correctly)
vNormal = trace["normal"];
vDir = maps\mp\_utility::vectorScale(vectorNormalize( vVelocity ),-1);
vNewDir = ( maps\mp\_utility::vectorScale(maps\mp\_utility::vectorScale(vNormal,2),vect
orDot( vDir, vNormal )) ) - vDir;
// Scale vector
vVelocity = maps\mp\_utility::vectorScale(vNewDir, vSpeed);
// Add a small random distortion
vVelocity += (randomFloat(1)-0.5,randomFloat(1)-0.5,randomFloat(1)-0.5);
}
self.anchor.origin = neworigin;
// Rotate pitch
a0 = self.anchor.angles[0] + pitch;
while(a0<0) a0 += 360;
while(a0>359) a0 -=360;
// Rotate yaw
a1 = self.anchor.angles[1] + yaw;
while(a1<0) a1 += 360;
while(a1>359) a1 -=360;
// Rotate roll
a2 = self.anchor.angles[2] + roll;
while(a2<0) a2 += 360;
while(a2>359) a2 -=360;
self.anchor.angles = (a0,a1,a2);
// Wait one frame
wait .05;
}
}
__________________
|
|
|
|
|
|
|
und hier is noch die sounddialisis csv die aa_sound.csv heist
,name,name of the alias that is used to play this sound (required)
,sequence,"used to uniquely identify alias entries when more than one sound goes to an alias, used only to catch unwanted duplicates (default = 0)"
,file,the name of the file that contains the sound data (required)
,vol_min,"0 is silent, 1 is full volume (default = 1)"
,vol_max,"0 is silent, 1 is full volume (default = same as vol_min)"
,pitch_min,"1 is normal playback, 2 is twice as fast, 0.5 is half as fast (default = 1)"
,pitch_max,"1 is normal playback, 2 is twice as fast, 0.5 is half as fast (default = same as pitch_min)"
,dist_min,"within this distance in inches, the sound is always full volume (default = 120)"
,dist_max,"outside this distance in inches, the sound is not started. If left blank or set to 0, the sound will play from any distance. This does not affect sound volume falloff."
,channel,"auto, menu, weapon, voice, item, body, local, music, announcer (default = auto)",,,,,,,,,,,,,,,
,type,streamed / loaded (default = loaded),,,,,,,,,,,,,,,
,probability,weight to use for the weighted probability of playing this sound instead of another sound (default = 1),,,,,,,,,,,,,,,
,loop,"whether this sound is ""looping"" or ""nonlooping"" (default = ""nonlooping"")",,,,,,,,,,,,,,,
,masterslave,"if ""master"", this is a master sound. If a number, then this sound won't exceed this volume whenever any master sound is playing. If blank, then neither master nor slave.",,,,,,,,,,,,,,,
,loadspec,"space-separated list of which maps should use this alias; eg, ""burnville dawnville"". If blank, the alias is used on all maps.",,,,,,,,,,,,,,,
name,sequence,file,vol_min,vol_max,pitch_min,pitch_max,dist_min,dist_max,lo
d_min,lod_max,channel,type,probability,loop,masterslave,loadspec,subtitle
#[b@STARd]
#englisch
headshot,,voice/headshot.wav,1,1,,,1,50000,,,auto,streamed,,
#deutsch
kopfschuss,,voice/kopfschuss.wav,1,1,,,1,50000,,,auto,streamed,,
#gore
splash,1,gore/splash1.wav,1,1,,,1,50000,,,auto,streamed,,
splash,2,gore/splash2.wav,1,1,,,1,50000,,,auto,streamed,,
splash,3,gore/splash3.wav,1,1,,,1,50000,,,auto,streamed,,
splash,4,gore/splash4.wav,1,1,,,1,50000,,,auto,streamed,,
__________________
|
|
|
|
|
|
|
hoffe das irgendwer darauf klar kommt.
Ich auf jedenfall net mehr lol.
Naja schon mal danke im voraus an die leute die sich hier schon beteiligt haben und die sich beteiligen werden
thx thx thx
__________________
|
|
|
|
|
|
|
aso ja hätte ich fast vergessen das waffenmenü der briten
#include "ui_mp/menudef.h"
#define ORIGIN_MENUTABS 96 64
#define ORIGIN_MENUWINDOW 96 96
#define ORIGIN_WEAPONIMAGE 296 104
#define ORIGIN_WEAPONTEXT 296 208
#define ORIGIN_WEAPONPROPERTIESTEXT 296 320
#define ORIGIN_WEAPONACCURACY 392 312
#define ORIGIN_WEAPONDAMAGE 392 326
#define ORIGIN_WEAPONMOBILITY 392 340
{
menuDef
{
name "weapon_british"
fullscreen 0
rect 0 0 640 480
focuscolor 1 1 1 1
disablecolor 0 0 0 0
style WINDOW_STYLE_EMPTY
onEsc
{
scriptMenuResponse "close";
close weapon_british;
}
onOpen
{
scriptMenuResponse "open";
show enfield_info;
show weapon_propertiestext;
}
onClose
{
scriptMenuResponse "close";
hide enfield_info;
hide sten_info;
hide bren_info;
hide springfield_info;
hide mg30cal_info;
hide greasegun_info;
}
// WINDOW BACKGROUND
itemDef
{
name "window_background"
visible 1
rect 0 0 448 288
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_FILLED
forecolor 1 1 1 1
backcolor 0 0 0 0.7975
decoration
}
// WINDOW BANNER
itemDef
{
name "window_banner"
visible 1
rect 9 6 430 24
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@banner_weapon.tga"
decoration
}
// WINDOW LINES
itemDef
{
name "window_lines"
visible 1
rect 3 0 2 283
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "window_lines"
visible 1
rect 443 0 2 283
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "window_lines"
visible 1
rect 3 283 442 2
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "window_lines"
visible 1
rect 5 0 438 2
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "window_lines"
visible 1
rect 5 34 438 1
origin ORIGIN_MENUWINDOW
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
// MENU TABS
itemDef
{
name "button_mainmenu"
visible 1
rect 0 0 89 32
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
forecolor 1 1 1 1
backcolor 0 0 0 0.7975
type ITEM_TYPE_BUTTON
text "@MPMENU_MAIN_MENU"
textfont UI_FONT_NORMAL
textscale .24
textalignx 45
textaligny 24
textalign ITEM_ALIGN_CENTER
action
{
play "mouse_click";
close weapon_british;
open main;
}
onFocus
{
play "mouse_over";
}
}
itemDef
{
name "button_mainmenu_hline"
visible 1
rect 3 3 86 2
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_mainmenu_lvline"
visible 1
rect 3 5 2 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_mainmenu_rvline"
visible 1
rect 88 5 1 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_team"
visible 1
rect 89 0 90 32
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
forecolor 1 1 1 1
backcolor 0 0 0 0.7975
type ITEM_TYPE_BUTTON
text "@MPMENU_TEAM"
textfont UI_FONT_NORMAL
textscale .24
textalignx 45
textaligny 24
textalign ITEM_ALIGN_CENTER
action
{
play "mouse_click";
scriptMenuResponse "team";
close weapon_british;
}
onFocus
{
play "mouse_over";
}
}
itemDef
{
name "button_team_hline"
visible 1
rect 89 3 90 2
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_team_lvline"
visible 1
rect 89 5 1 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_team_rvline"
visible 1
rect 178 5 1 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_weapon"
visible 1
rect 179 0 90 32
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
forecolor 1 1 1 1
backcolor 0 0 0 0.7975
text "@MPMENU_WEAPON"
textfont UI_FONT_NORMAL
textscale .24
textalignx 45
textaligny 24
textalign ITEM_ALIGN_CENTER
decoration
}
itemDef
{
name "button_weapon_gray"
visible 1
rect 179 3 90 29
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_viewmap"
visible 1
rect 269 0 90 32
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
forecolor 1 1 1 1
backcolor 0 0 0 0.7975
type ITEM_TYPE_BUTTON
text "@MPMENU_VIEW_MAP"
textfont UI_FONT_NORMAL
textscale .24
textalignx 45
textaligny 24
textalign ITEM_ALIGN_CENTER
action
{
play "mouse_click";
scriptMenuResponse "viewmap";
close weapon_british;
}
onFocus
{
play "mouse_over";
}
}
itemDef
{
name "button_viewmap_hline"
visible 1
rect 269 3 90 2
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_viewmap_lvline"
visible 1
rect 269 5 1 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_viewmap_rvline"
visible 1
rect 358 5 1 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
}
itemDef
{
name "button_callvote"
visible 1
rect 359 0 89 32
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
forecolor 1 1 1 1
backcolor 0 0 0 0.7975
type ITEM_TYPE_BUTTON
text "@MPMENU_CALL_VOTE"
textfont UI_FONT_NORMAL
textscale .24
textalignx 42
textaligny 24
textalign ITEM_ALIGN_CENTER
cvartest "scr_allow_vote"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "callvote";
close weapon_british;
}
onFocus
{
play "mouse_over";
}
}
itemDef
{
name "button_callvote_hline"
visible 1
rect 359 3 86 2
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
cvartest "ui_allowvote"
hideCvar { "0" }
}
itemDef
{
name "button_callvote_lvline"
visible 1
rect 359 5 1 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
cvartest "ui_allowvote"
hideCvar { "0" }
}
itemDef
{
name "button_callvote_rvline"
visible 1
rect 443 5 2 27
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
cvartest "ui_allowvote"
hideCvar { "0" }
}
// CALL VOTE BUTTON HIDDEN
itemDef
{
name "button_callvote_lvedge"
visible 1
rect 359 0 4 29
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 0 0 0 0.7975
decoration
cvartest "ui_allowvote"
showCvar { "0" }
}
itemDef
{
name "button_callvote_bhedge"
visible 1
rect 359 29 89 3
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 0 0 0 0.7975
decoration
cvartest "ui_allowvote"
showCvar { "0" }
}
itemDef
{
name "button_callvote_lvline"
visible 1
rect 359 3 1 29
origin ORIGIN_MENUTABS
style WINDOW_STYLE_FILLED
backcolor 1 1 1 .125
decoration
cvartest "ui_allowvote"
showCvar { "0" }
}
// MENU CHOICES
itemDef
{
name "button_enfield"
visible 1
rect WEAPON_BUTTON_RECT_FIRST
origin ORIGIN_MENUWINDOW
forecolor 1 1 1 1
type ITEM_TYPE_BUTTON
text "@MPMENU_1_LEEENFIELD"
textfont UI_FONT_NORMAL
textscale .24
textalignx 8
textaligny 16
cvartest "ui_allow_enfield"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "enfield_mp";
close weapon_british;
}
onFocus
{
hide sten_info;
hide bren_info;
hide springfield_info;
hide mg30cal_info;
play "mouse_over";
show enfield_info;
show weapon_propertiestext;
}
}
execKey "1" { play "mouse_click"; scriptMenuResponse "enfield_mp"; close weapon_british }
itemDef
{
name "button_sten"
visible 1
rect WEAPON_BUTTON_RECT_SECOND
origin ORIGIN_MENUWINDOW
forecolor 1 1 1 1
type ITEM_TYPE_BUTTON
text "@MPMENU_2_STEN"
textfont UI_FONT_NORMAL
textscale .24
textalignx 8
textaligny 16
cvartest "ui_allow_sten"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "sten_mp";
close weapon_british;
}
onFocus
{
hide enfield_info;
hide bren_info;
hide springfield_info;
hide mg30cal_info;
play "mouse_over";
show sten_info;
show weapon_propertiestext;
}
}
execKey "2" { play "mouse_click"; scriptMenuResponse "sten_mp"; close weapon_british }
itemDef
{
name "button_bren"
visible 1
rect WEAPON_BUTTON_RECT_THIRD
origin ORIGIN_MENUWINDOW
forecolor 1 1 1 1
type ITEM_TYPE_BUTTON
text "@MPMENU_3_BREN_LMG"
textfont UI_FONT_NORMAL
textscale .24
textalignx 8
textaligny 16
cvartest "ui_allow_bren"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "bren_mp";
close weapon_british;
}
onFocus
{
hide enfield_info;
hide sten_info;
hide springfield_info;
hide mg30cal_info;
play "mouse_over";
show bren_info;
show weapon_propertiestext;
}
}
execKey "3" { play "mouse_click"; scriptMenuResponse "bren_mp"; close weapon_british }
itemDef
{
name "button_springfield"
visible 1
rect WEAPON_BUTTON_RECT_FOURTH
origin ORIGIN_MENUWINDOW
forecolor 1 1 1 1
type ITEM_TYPE_BUTTON
text "@MPMENU_4_SPRINGFIELD"
textfont UI_FONT_NORMAL
textscale .24
textalignx 8
textaligny 16
cvartest "ui_allow_springfield"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "springfield_mp";
close weapon_british;
}
onFocus
{
hide enfield_info;
hide sten_info;
hide bren_info;
hide mg30cal_info;
play "mouse_over";
show springfield_info;
show weapon_propertiestext;
}
}
execKey "4" { play "mouse_click"; scriptMenuResponse "springfield_mp"; close weapon_british }
itemDef
{
name "button_30cal"
visible 1
rect WEAPON_BUTTON_RECT_FIFTH
origin ORIGIN_MENUWINDOW
forecolor 1 1 1 1
type ITEM_TYPE_BUTTON
text "@GMI_MPMENU_5_30CAL"
textfont UI_FONT_NORMAL
textscale .24
textalignx 8
textaligny 16
cvartest "ui_allow_mg30cal"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "mg30cal_mp";
close weapon_british;
}
onFocus
{
hide enfield_info;
hide sten_info;
hide bren_info;
hide springfield_info;
play "mouse_over";
show mg30cal_info;
show weapon_propertiestext;
}
}
execKey "5" { play "mouse_click"; scriptMenuResponse "mg30cal_mp"; close weapon_british }
itemDef
{
name "button_greasegun"
visible 1
rect WEAPON_BUTTON_RECT_SIXTH
origin ORIGIN_MENUWINDOW
forecolor 1 1 1 1
type ITEM_TYPE_BUTTON
text "@6. Greasegun"
textfont UI_FONT_NORMAL
textscale .24
textalignx 8
textaligny 16
cvartest "ui_allow_greasegun"
hideCvar { "0" }
action
{
play "mouse_click";
scriptMenuResponse "greasegun_mp";
close weapon_british;
}
onFocus
{
hide enfield_info;
hide sten_info;
hide bren_info;
hide springfield_info;
hide mg30cal_info
play "mouse_over";
show greasegun_info;
show weapon_propertiestext;
}
}
execKey "6" { play "mouse_click"; scriptMenuResponse "greasegun_mp"; close weapon_british }
// WEAPON IMAGES
itemDef
{
name "enfield_info"
visible 0
rect 0 -2 224 112
origin ORIGIN_WEAPONIMAGE
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@enfield.tga"
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 224 112
origin ORIGIN_WEAPONIMAGE
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@sten.tga"
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 6 224 112
origin ORIGIN_WEAPONIMAGE
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@bren.tga"
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 4 224 112
origin ORIGIN_WEAPONIMAGE
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@springfield.tga"
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 10 224 112
origin ORIGIN_WEAPONIMAGE
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@30cal.dds"
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 10 224 112
origin ORIGIN_WEAPONIMAGE
style WINDOW_STYLE_SHADER
background "ui_mp/assets/hud@weaponinfo_greaser.tga"
decoration
}
// WEAPON DESCRIPTIONS
itemDef
{
name "enfield_info"
visible 0
rect 0 0 224 64
origin ORIGIN_WEAPONTEXT
forecolor 1 1 1 1
autowrapped
text "@MPMENU_THE_LEEENFIELD_RIFLE"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 224 64
origin ORIGIN_WEAPONTEXT
forecolor 1 1 1 1
autowrapped
text "@MPMENU_THE_STEN_MARK_2_IS_A"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 17 224 64
origin ORIGIN_WEAPONTEXT
forecolor 1 1 1 1
autowrapped
text "@MPMENU_THE_BREN_IS_AN_EXCELLENT"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 224 64
origin ORIGIN_WEAPONTEXT
forecolor 1 1 1 1
autowrapped
text "@MPMENU_THIS_IS_A_SNIPER_RIFLE"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 17 224 64
origin ORIGIN_WEAPONTEXT
forecolor 1 1 1 1
autowrapped
text "@GMI_MPMENU_THE_30CAL_MACHINE_GUN"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 17 224 64
origin ORIGIN_WEAPONTEXT
forecolor 1 1 1 1
autowrapped
text "@M3A1 Grease Gun with 35 Round Magazine. The weapon's compact size makes it ideal for use inside tanks, and it remains an issue weapon even today"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
__________________
|
|
|
|
|
|
|
// WEAPON PROPERTIES
itemDef
{
name "weapon_propertiestext"
visible 0
origin ORIGIN_WEAPONPROPERTIESTEXT
forecolor 1 1 1 1
autowrapped
text "@MPMENU_ACCURACY_DAMAGE_MOBILITY"
textfont UI_FONT_NORMAL
textscale .24
decoration
}
itemDef
{
name "enfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "enfield_info"
visible 0
rect 0 0 90 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "enfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "enfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "enfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "enfield_info"
visible 0
rect 0 0 114 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 46 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 77 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "sten_info"
visible 0
rect 0 0 120 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 0 97 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 0 99 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "bren_info"
visible 0
rect 0 0 67 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "springfield_info"
visible 0
rect 0 0 89 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 0 70 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 0 90 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "mg30cal_info"
visible 0
rect 0 0 110 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 0 30 10
origin ORIGIN_WEAPONACCURACY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 0 83 10
origin ORIGIN_WEAPONDAMAGE
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 0 128 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 .125
style WINDOW_STYLE_FILLED
decoration
}
itemDef
{
name "greasegun_info"
visible 0
rect 0 0 119 10
origin ORIGIN_WEAPONMOBILITY
backcolor 1 1 1 1
style WINDOW_STYLE_FILLED
decoration
}
}
}
__________________
|
|
|
|
|
|
|
Bei deinem Waffenmenü fehlt immer die Zeile
hide greasegun_info;
Diese Zeile braust du auch immer unter "on Focus" bei jeder anderen Waffe
Das script für den Headshotsound sieht ok aus und wird anhand deiner Beschreibung auch ausgeführt.
Daher würd ich mal darauf tippen das deine .csv nicht korrekt abgespeichert wurde oder der
Headshotsound nicht im richtigen Ordner liegt.
sound/voice/headshot.wav
__________________

|
|
|
|
|
|
|
also sollte der headshot sound funzen aber ich muss ausprobieren in welchen ordner er gehört und nochmal die csv. checken!?
Und im waffenmenü die zeile hinzufügen ok ich versuchs mal.
Erstmal vielen dank
melde mich sobald es was neues gibt bzw. wenns funzt oder net
__________________
|
|
|
|
|
|
|
ist eventuell der pfad fürn scripter ersichtlich wo die sounds hin müssen?
__________________
|
|
|
|
|
|
|
das mit dem weapon menü hat funktioniert vielen dank.
das wäre mir alleine niemals aufgefallen, naja is auch doof seine eigenen fehler zu suchen
! thxthxthx
Bleibt nur noch das headshot problem aber das kriege ich hoffentlich auch noch alleine oder mit eurer hilfe geknackt
__________________
|
|
|
|
|
|
|
kann im hs mod leider keinen fehler finden!?
steht in den soundloadspecs usw. drin
wie folgt
default.csv
# This file defines the default soundalias files to load if no map specific loadspec file is found
# If you want to include sounds into your map file which are not included here you should make a seperate
"# load spec file int the form of ""<map name>.csv"" using this file as a base. You should only load the"
# soundalias files which are absolutely necessary to keep the sound memory footprint as small as possible
#**************************************************************************
*******************************
dialog_mp.csv
gmi_dialog_mp.csv
generic_mp_sound.csv
gmi_mp_weap_all_allied.csv
gmi_mp_artillery.csv
aa_sound.csv
mp_ponyri.csv
# This file defines the default soundalias files to load if no map specific loadspec file is found
# If you want to include sounds into your map file which are not included here you should make a seperate
"# load spec file int the form of ""<map name>.csv"" using this file as a base. You should only load the"
# soundalias files which are absolutely necessary to keep the sound memory footprint as small as possible
#**************************************************************************
*******************************
dialog_mp.csv
gmi_dialog_mp.csv
generic_mp_sound.csv
gmi_mp_vehicles_ru.csv
gmi_mp_vehicles_ge.csv
gmi_mp_weap_ru.csv
aa_sound.csv
__________________
|
|
|
|
|
|
|
entweder bin ich zu dämlich oder habe etwas falsch verstanden!?
Wäre nett wenn ihr nochmal helfen könntet
__________________
|
|
|
|
|
|
|
Da ich erst seit Mitte Cod2 dabei bin kann ich dir nur nicht wirklich weiterhelfen ich kann dir nur sagen was
die häufigsten Fehler bei Cod2 sind. Da die Spiele vom aufbau ähnlich sind sollte es dir trotzdem weiterhelfen.
.csv fehlerhaft abgespeichert, wie immer empfehle ich hier Programmers Nptepad 2 zu verwenden HIER
Soundfile im falschem Ordner, den richtigen Pfad findest du in deiner Sound .csv
Der sound hat ein anders Format als der der durch die .csv aufgerufen wird (z.B. in der .csv .wav aber der
Sound selbst hat .mp3) Soundformat einfach in der .csv anpassen
Sound kann generell nicht verabeitet werden da Parameter wie Bitrate, Hz,.... des Sounds von Spiel nicht verarbeitet werden können.
__________________

|
|
|
|
|
|
|
ok ich sehe nochmals nach vielen dank melde mich dann wieder
__________________
|
|
|
|
|
|
|
wo ist der unterschied zwischen dem editor und diesem notepad ?
__________________
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|