示例#1
0
func Initialize()
{
	AddEffect("DefMana", nil, 1, 4, nil);

	InitTeamExclusiveChamps(2);
	InitScoreboard();
	
	team_score = CreateArray(2);

	var fx = AddEffect("CheckWipf", this, 1, 5, this);
	fx.counter = resetTime;
	
	var pos = GameCall("LeftGoalPos");
	leftgoal = CreateObject(Dummy, pos[0], pos[1], -1);
	leftgoal.Visibility = VIS_All;
	var fxl = AddEffect("GoalCheck", leftgoal, 1, 1, this, nil, 1, 2);
	fxl.teamid = 1;
	fxl.enemy = 2;
	leftshield_params = GameCall("LeftShieldParams");
	leftshield = CreateObject(PortalWall,leftshield_params[0], leftshield_params[1],-1);
	
	pos = GameCall("RightGoalPos");
	rightgoal = CreateObject(Dummy, pos[0], pos[1], -1);
	rightgoal.Visibility = VIS_All;
	var fxr = AddEffect("GoalCheck", rightgoal, 1, 1, this, nil, 2, 1);
	fxr.teamid = 2;
	fxr.enemy = 1;
	rightshield_params = GameCall("RightShieldParams");
	rightshield = CreateObject(PortalWall,rightshield_params[0],rightshield_params[1],-1);
	
	SpawnBall();
	
	ScheduleCall(this, "Set", 80);
}
示例#2
0
文件: Script.c 项目: 772/openclonk
func GotNugget()
{
	--num_to_collect;
	if (num_to_collect == 0) GameCall("Finished");
	Sound("Cash");
	RemoveObject();
}
示例#3
0
global func FxCheckForFlagTimer(pTarget, iEffectNumber) {
	// Lost the flag?
	if (!ObjectCount(FLAG))
		// Relaunch!
		GameCall("RelaunchPlayer", GetPlayerByIndex());
	return(1);
}
示例#4
0
protected func Activate(iPlr)
{
    var pClonk = GetCursor(iPlr);
    var iPlayer;
    CreateMenu(_PLO, pClonk, this(), 0, "Teams", 0, 1);
    for(var iTeam = 1; GameCall("GetTeamName", iTeam); iTeam++)
    {
        if(!GetTeamCount(iTeam)) continue;
        AddMenuItem(GameCall("GetTeamName", iTeam), "", _PLO, pClonk);
        var iPlayer;
        for(var i = 0; i < GetTeamCount(iTeam); i++)
        {
            iPlayer = GetPlrByTeam(iTeam, i);
            AddMenuItem(Format("   <c %x>%s</c>", GetPlrColorDw(iPlayer), GetPlayerName(iPlayer)), "", GetID(), pClonk, 0, 0, 0, 2, 1);
        }
    }
}
示例#5
0
文件: Script.c 项目: aburgm/openclonk
func Initialize()
{
	if(ObjectCount(Find_ID(GetID()), Find_Exclude(this)))
	{
		(FindObject(Find_ID(GetID()), Find_Exclude(this)).maxkills) += 2;
		return RemoveObject();
	}
	maxkills = GameCall("WinKillCount");
	if(maxkills == nil || maxkills < 1) maxkills = 4;
	return _inherited(...);
}
global func StartSzen()
{
	for(var i = 0; i < GetPlayerCount(C4PT_User); i++)
	{
		GetCursor(GetPlayerByIndex(i,C4PT_User))->~StopClonkEx();
		GameCall("PlayerStart", GetPlayerByIndex(i,C4PT_User));
	}
	GameCall("DoStartSzen", GetPlayerByIndex(i,C4PT_User));

	// Spielziel erzeugen
	if(!FindObject(SCRG)) CreateObject(SCRG);
	
	// Neu Initialisierung
	var story = FindObject(_STY);
	if(GetID() == _STY) story = this;
	if(!story) story = CreateObject(_STY);
	story->~DoStartSzen();

	// Gemeinschaftskonto
	if(!FindObject(TACC) && GetPlayerCount(C4PT_User) > 1) CreateObject(TACC);
}
示例#7
0
// Inform scenario script that player destroys something invincible
global func FxIntInvincibleDamage(target)
{
	GameCall("OnInvincibleDamage", target);
	return 0;
}