Jaysyn904 04165202c0 Initial upload
Initial upload
2024-11-25 19:36:07 -05:00

71 lines
2.3 KiB
Plaintext

// rts_it_twkickp
#include "header_sounds"
void fnAnnounce(string sMsg="")
{ // announce message to players
object oNext=GetFirstPC();
while(oNext!=OBJECT_INVALID)
{ // announce
SendMessageToPC(oNext,"ANNOUNCEMENT:"+sMsg);
AssignCommand(oNext,fnSoundAlert("as_cv_bell2"));
oNext=GetNextPC();
} // announce
} // fnAnnounce()
void fnSetFactionToEnemy(object oPC,string sID)
{ // Set faction that you control to friendly
object oMember=GetObjectByTag(sID+"0");
object oWP;
int nCreate=FALSE;
if(oMember==OBJECT_INVALID)
{ // create dummy
nCreate=TRUE;
oWP=GetWaypointByTag(sID+"_START");
oMember=CreateObject(OBJECT_TYPE_CREATURE,sID+"0",GetLocation(oWP));
} // create dummy
if (oMember!=OBJECT_INVALID)
{ // !OI
AdjustReputation(oPC,oMember,0);
} // !OI
else
{
SendMessageToPC(oPC,"CRITICAL AREA: A creature placed with tag "+sID+"0 could not be found and is required to set faction you control to friendly!!!");
}
if (nCreate==TRUE) DestroyObject(oMember);
} // fnSetFactionToEnemy()
void fnSendToInProgress(object oTarg)
{ // send to inprogress room
int nKicked=GetLocalInt(oTarg,"nKicked");
object oWP=GetWaypointByTag("");
nKicked++;
SetLocalInt(oTarg,"nKicked",nKicked);
if (nKicked>3) BootPC(oTarg);
else
{ // move
AssignCommand(oTarg,JumpToObject(oWP));
ExecuteScript("rts_save_player",oTarg);
DelayCommand(5.0,AssignCommand(oTarg,ActionStartConversation(oTarg,"inprogress_join",TRUE,FALSE)));
fnAnnounce(GetName(oTarg)+" was kicked off of the team they were part of.");
SendMessageToPC(oTarg,"WARNING!: If you get kicked off a team more than 3 times you will be booted out of the game!");
} // move
} // fnSendToInProgress()
void main()
{
object oTarg=GetLocalObject(GetPCSpeaker(),"oTarget");
string sMsg="ATTENTION!: You have been kicked off this team by "+GetName(GetPCSpeaker())+".";
object oItem;
string sID=GetLocalString(oTarg,"sTeamID");
SendMessageToPC(oTarg,sMsg);
AssignCommand(oTarg,ClearAllActions());
AssignCommand(oTarg,SpeakString(sMsg));
oItem=GetItemPossessedBy(oTarg,"RTSUnit_Creation");
DestroyObject(oItem);
oItem=GetItemPossessedBy(oTarg,"RTSCreation_Tool");
DestroyObject(oItem);
DeleteLocalString(oTarg,"sTeamID");
DelayCommand(31.0,fnSetFactionToEnemy(oTarg,sID));
DelayCommand(30.0,fnSendToInProgress(oTarg));
}