X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fcampaign.qc;h=5a68e96058ce0acd36724480d955d9a7213fb44f;hb=616650bb18362024afeed71fed91d33dc1708d09;hp=9a36546716d6dc644512e2536a1f449791be55c8;hpb=3188aedc78fc6c0f613adbfe8f1297ef5cb6a730;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/campaign.qc b/qcsrc/server/campaign.qc index 9a36546716..5a68e96058 100644 --- a/qcsrc/server/campaign.qc +++ b/qcsrc/server/campaign.qc @@ -108,7 +108,7 @@ void CampaignPreInit() title = campaign_shortdesc[0]; title = strzone(strcat("Level ", ftos(campaign_level + 1), ": ", title)); - campaign_message = strzone(strcat("\n\n\n\n\n\n\n\n\n\n^1\n", title, "\n^3\n", campaign_longdesc[0], "\n\n^1press jump to enter the game")); + campaign_message = strzone(strcat(title, "\n^3\n", campaign_longdesc[0], "\n\n^1press jump to enter the game")); strunzone(title); } @@ -169,7 +169,7 @@ void CampaignPreIntermission() entity head; float won; float lost; - local string savevar; + string savevar; won = 0; @@ -219,10 +219,13 @@ void CampaignPreIntermission() if(campaign_entries < 2) { // I have won - savevar = strcat("g_campaign", campaign_name, "_won"); - CampaignSaveCvar(savevar, 1); - // advance level (for menu to show it right) - CampaignSaveCvar(campaign_index_var, campaign_level + 1); + if(campaign_level == cvar_normal(campaign_index_var)) + { + savevar = strcat("g_campaign", campaign_name, "_won"); + CampaignSaveCvar(savevar, 1); + // advance level (for menu to show it right) + CampaignSaveCvar(campaign_index_var, campaign_level + 1); + } } else if(campaign_level == cvar_normal(campaign_index_var)) { @@ -256,6 +259,8 @@ void CampaignPostIntermission() void CampaignLevelWarp(float n) { + if(n < 0) + n = campaign_level + 1; CampaignFile_Unload(); CampaignFile_Load(n, 1); if(campaign_entries)