Перейти к содержимому
View in the app

A better way to browse. Learn more.

Zloplay community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[MOD-Problem] Servercrash after one hour

Опубликовано:

Hey,

I edited the normal GunGamemod. I changed only the weapeons, but after one hour my server crashs all the time. I will post the end of the console_mp.log and the edited GunGamemod.

 

server_mp.log:

    status
   [  37148329] map: mp_highrise
   [  37148329] num score ping guid                             name            lastmsg address               qport rate
   [  37148330] --- ----- ---- -------------------------------- --------------- ------- --------------------- ----- -----
   [  37148330]   0     1   69                 011000010002d113 Minikruku!^7            0 46.174.24.10:16864    20125 25000
   [  37148330]   1     1  101                 011000010002caf1 GuMaK111^7             50 46.148.151.26:4294934838  690 25000
   [  37148330]   2     1  175                 0110000100003fb4 phantom1151^7           0 99.65.51.216:28960    10929 25000
   [  37148330]   3     1   49                 011000010003ed88 isidora10^7             0 178.149.5.149:429496262727388 25000
   [  37148330]   4     1   31                 011000018e87f252 [^5RnK^0] ^4B^7              50 94.220.203.158:28960  26213 25000
   [  37148330]
   [  37148330] handled rcon: status
   [  37151692] ERROR: No languages available because no localized assets were found
   [  37151693] ERROR:
   [  37151693] Fatal error (0xc0000005) at 0x0061e92e.
   A minidump has been written to iw4m-3.0-104-20120926082106.dmp.

 

GunGame.gsc

#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
/*
Gun Game
Objective: 	Progress through all weapon tiers by killing enemy players
Map ends:	When a player progresses through all weapon tiers
Respawning:	No wait / Away from other players

Level requirements
------------------
	Spawnpoints:
		classname		mp_dm_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_global_intermission
		Spectators spawn from these and intermission is viewed from these positions.
		Atleast one is required, any more and they are randomly chosen between.
*/

/*QUAKED mp_dm_spawn (1.0 0.5 0.0) (-16 -16 0) (16 16 72)
Players spawn away from enemies at one of these positions.*/


main()
{

maps\mp\gametypes\_globallogic::init();
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
maps\mp\gametypes\_globallogic::SetupCallbacks();

registerTimeLimitDvar( level.gameType, 0, 0, 1440 );
registerScoreLimitDvar( level.gameType, 0, 0, 5000 );
registerWinLimitDvar( level.gameType, 1, 0, 5000 );
registerRoundLimitDvar( level.gameType, 1, 0, 10 );
registerNumLivesDvar( level.gameType, 0, 0, 10 );
registerHalfTimeDvar( level.gameType, 0, 0, 1 );

level.onPrecacheGameType = ::onPrecacheGameType;
level.onStartGameType = ::onStartGameType;
level.getSpawnPoint = ::getSpawnPoint;

setDvar("sv_cheats", 1);
setDvar("scr_game_allowkillcam", 1);
setDvar("scr_game_hardpoints", 0);
setDvar("scr_game_matchstarttime", 5);
setDvar("ui_showEndOfGame", 1);
setDvar("g_hardcore", 1);
setDvar("cg_drawCrosshair", 1);
setDvar("scr_dm_scorelimit", 0);
setDvar("sv_cheats", 0);

game["dialog"]["gametype"] = "gg";

if ( getDvarInt( "camera_thirdPerson" ) )
	game["dialog"]["gametype"] = "thirdp_" + game["dialog"]["gametype"];
else if ( getDvarInt( "scr_diehard" ) )
	game["dialog"]["gametype"] = "dh_" + game["dialog"]["gametype"];
else if (getDvarInt( "scr_" + level.gameType + "_promode" ) )
	game["dialog"]["gametype"] = game["dialog"]["gametype"] + "_pro";

level thread onPlayerConnect();

}

onPlayerConnect()
{
for ( ;; )
{
	level waittill( "connected", player );
	player thread doConnect();
	player thread onJoinedTeam();
}
}

onJoinedTeam()
{
self endon("disconnect");

for(;
{
	self waittill( "joined_team" );
	self thread onPlayerSpawned();
}
}

onPlayerSpawned()
{
self endon("disconnect");

for(;
{
	self waittill("spawned_player");
	wait 0.01;
	self thread doSpawn();
}
}

onPrecacheGameType()
{
precacheShader("cardtitle_bloodsplat");
precacheShader("hud_icon_wager");
}

onStartGameType()
{
setClientNameMode("auto_change");

setObjectiveText( "allies", &"OBJECTIVES_DM" );
setObjectiveText( "axis", &"OBJECTIVES_DM" );

if ( level.splitscreen )
{
	setObjectiveScoreText( "allies", &"OBJECTIVES_DM" );
	setObjectiveScoreText( "axis", &"OBJECTIVES_DM" );
}
else
{
	setObjectiveScoreText( "allies", &"OBJECTIVES_DM_SCORE" );
	setObjectiveScoreText( "axis", &"OBJECTIVES_DM_SCORE" );
}
setObjectiveHintText( "allies", &"OBJECTIVES_DM_HINT" );
setObjectiveHintText( "axis", &"OBJECTIVES_DM_HINT" );

level.spawnMins = ( 0, 0, 0 );
level.spawnMaxs = ( 0, 0, 0 );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_dm_spawn" );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_dm_spawn" );
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
setMapCenter( level.mapCenter );

allowed[0] = "dm";
maps\mp\gametypes\_gameobjects::main(allowed);

maps\mp\gametypes\_rank::registerScoreInfo( "kill", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 10 );
maps\mp\gametypes\_rank::registerScoreInfo( "suicide", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "teamkill", 0 );

level.ggended = false;
level thread registerWeapons();
level.highestRank = [];
level.scores = [];
level thread doRanking();

level.QuickMessageToAll = true;
}


getSpawnPoint()
{
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM( spawnPoints );

return spawnPoint;
}

doConnect()
{
self closepopupMenu();
self closeInGameMenu();
self notify("menuresponse", "changeclass", "class1");
self thread maps\mp\gametypes\_bohud::createIcons(self);
self.tier = 1;
wait 1.0;
self thread monitorPos();
}

doSpawn()
{
self.score = self.tier;

foreach (player in level.players)
{
	player UpdateDMScores();
}

self.aliveText.alpha = 0;

self.ggspawn = true;

self takeAllWeapons();
self.scoreText setText("Weapon Tier: " + self.tier + " of 20");
if ( self.tier == 2 || self.tier == 8 )
{
	self giveWeapon(level.weaponList[self.tier], 0, true);
}
else
{
	self giveWeapon(level.weaponList[self.tier], 0, false);
}
self giveMaxAmmo(level.weaponList[self.tier]);
wait 0.2;
self switchToWeapon(level.weaponList[self.tier]);

self _clearPerks();
self.notifying = false;
self setClientDvar("g_compassShowEnemies", 1);
self thread monitorAmmo();
self thread monitorAmmo2();
self thread monitorKnives();
self thread sillyWeaponCheck();

}

monitorAmmo()
{
self endon("death");
self endon("disconnect");
while(1)
{
	self thread updateHUDAmmo();

	wait 0.3;
}
}

monitorKnives()
{

self endon("disconnect");
self endon("death");

while(1)
{
	if ( self.tier == 1 )
	{
		wait 1.0;
		self giveMaxAmmo(level.weaponList[self.tier]);
	}
	wait 0.01;

	if ( self.tier == 20 )
	{
		wait 1.0;
		self giveMaxAmmo(level.weaponList[self.tier]);
	}
	wait 0.01;
}

}

monitorAmmo2()
{
self endon("death");
self endon("disconnect");
while(1)
{
	self waittill("weapon_fired");
	self thread updateHUDAmmo();

	wait 0.01;
}
}

monitorPos()
{

self endon("disconnect");

while(1)
{
	self waittill("sentStats");
	for(i = 1; i < level.finalRanking.size + 1; i++)
	{
		if(level.finalRanking[i].name == self.name)
		{
			self.rankText setText( i );
			self.rankShadow setText( "^0" + i );
			self.rankShadow2 setText( "^0" + i );
		}
	}
	wait 0.05;
}

}

updateHUDAmmo()
{

if ( self.tier == 2 || self.tier == 8 )
{
	self.ammoClip2.alpha = 1.0;
	self.ammoSep.alpha = 0.35;
	self.ammoClip1 setText(self GetWeaponAmmoClip( self getCurrentWeapon(), "right" ));
	self.ammoClip2 setText(self GetWeaponAmmoClip( self getCurrentWeapon(), "left" ));
	self.ammoStock setText(self getWeaponAmmoStock( self getCurrentWeapon() ));
}
else
{
	self.ammoClip2.alpha = 0;
	self.ammoSep.alpha = 0;
	self.ammoClip1 setText(self GetWeaponAmmoClip( self getCurrentWeapon() ));
	self.ammoStock setText(self getWeaponAmmoStock( self getCurrentWeapon() ));
}

}

registerWeapons()
{

level.weaponList = [];

level.weaponList[1] = "semtex_mp";
level.weaponList[2] = "aa12_silencer_mp";
level.weaponList[3] = "mp5k_akimbo_mp";
level.weaponList[4] = "tmp_reflex_mp";
level.weaponList[5] = "coltanaconda_fmj_mp";
level.weaponList[6] = "beretta_silencer_mp";
level.weaponList[7] = "spas12_silencer_mp";
level.weaponList[8] = "striker_reflex_silencer_mp";
level.weaponList[9] = "fal_mp";
level.weaponList[10] = "ak47_eotech_mp";
level.weaponList[11] = "scar_shotgun_mp";
level.weaponList[12] = "fn2000_fmj_heartbeat_mp";
level.weaponList[13] = "kriss_thermal_xmags_mp";
level.weaponList[14] = "m4_heartbeat_mp";
level.weaponList[15] = "cheytac_mp";
level.weaponList[16] = "at4_mp";
level.weaponList[17] = "barrett_acog_mp";
level.weaponList[18] = "javelin_mp";
level.weaponList[19] = "famas_fmj_mp";
level.weaponList[20] = "claymore_mp";

}

sillyWeaponCheck()
{
self endon("death");
self endon("disconnect");

while(1)
{
	if ( self getCurrentWeapon() != level.weaponList[self.tier] )
	{
		self takeAllWeapons();
		if ( self.tier == 2 || self.tier == 8 )
		{
			self giveWeapon(level.weaponList[self.tier], 0, true);
		}
		else
		{
			self giveWeapon(level.weaponList[self.tier], 0, false);
		}
		self giveMaxAmmo(level.weaponList[self.tier]);
		wait 0.2;
		self switchToWeapon(level.weaponList[self.tier]);
	}
	wait 0.1;
}

}

killedEnemy( means )
{

if ( means == "MOD_MELEE" )
{
	self thread maps\mp\gametypes\_bohud::noticeAnim("Humiliation", "Demoted enemy!");
}
else
{
	if ( self.tier == 20 )
	{
		level.ggended = true;
		self thread endGameFinal();
	}
	else
	{
		self.tier += 1;
		self thread maps\mp\gametypes\_bohud::noticeAnim("Player Killed", "Advanced to next tier!");
		self.scoreText setText("Weapon Tier: " + self.tier + " of 20");
		wait 0.25;
		self takeAllWeapons();
		if ( self.tier == 2 || self.tier == 8 )
		{
			self giveWeapon(level.weaponList[self.tier], 0, true);
		}
		else
		{
			self giveWeapon(level.weaponList[self.tier], 0, false);
		}
		self giveMaxAmmo(level.weaponList[self.tier]);
		wait 0.2;
		self switchToWeapon(level.weaponList[self.tier]);
	}
}
}

endGameFinal()
{

self thread doRanking();
self notify("gameEnded");

self thread maps\mp\gametypes\_gamelogic::endGame(level.finalRanking[1], "", false);

}

gotKilled( means, suicide )
{

if ( means == "MOD_MELEE" && self.tier > 1 )
{
	self thread maps\mp\gametypes\_bohud::noticeAnim("Humiliated", "Demoted!");
	self.tier -= 1;
	self.scoreText setText("Weapon Tier: " + self.tier + " of 20");
	self.score = self.tier;

	foreach (player in level.players)
	{
		player UpdateDMScores();
	}
}
if ( suicide && self.tier > 1 )
{
	self.tier -= 1;
	self.scoreText setText("Weapon Tier: " + self.tier + " of 20");
	self.score = self.tier;

	foreach (player in level.players)
	{
		player UpdateDMScores();
	}
}

}

addPlayer(rplayer, score)
{
player = spawnstruct();
player.player = rplayer;
player.score = score;
return player;
}


sortScore(array, start, end)
{
i = start;
k = end;

if (end - start >= 1)
   {
       pivot = array[start].score;  

       while (k > i)         
       {
        while (array[i].score <= pivot && i <= end && k > i)  
        	i++;                                 
        while (array[k].score > pivot && k >= start && k >= i) 
            k--;                                      
        if (k > i)                                 
           array = swapArr(array, i, k);                    
       }
       array = swapArr(array, start, k);                                               
       array = sortScore(array, start, k - 1); 
       array = sortScore(array, k + 1, end);   
   }
else
   	return array;

   return array;
}

swapArr(array, index1, index2) 
{
temp = array[index1];          
array[index1] = array[index2];     
array[index2] = temp;   
return array;         
}


doRanking() 
{ 

self endon("disconnect");
self endon("gameEnded");

while(1)
{

	level.scores = [];
	level.preFinalRanking = [];
	level.finalRanking = [];
	i = 0;
	h = 1;
	tplayer = false;

	exists = false;

	foreach ( player in level.players )
	{
		level.scores[i] = addPlayer(player, player.tier);

		i += 1;
	}

	level.preFinalRanking = self thread sortScore(level.scores, 0, level.scores.size);

	for(e = level.preFinalRanking.size - 1; e > -1; e--)
	{
			level.finalRanking[h] = level.preFinalRanking[e].player;
			h += 1;
	}

	foreach( player in level.players )
	{
		player notify("sentStats");
	}
	wait 1.0;
}

}

 

I hope you can help me.

Thanks in advance

MAGIC

Featured Replies

No posts to show

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу

Важная информация

Используя этот сайт, вы соглашаетесь Условия использования.

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.