#include new gTeam[MAX_PLAYERS]; new Text:ScoreDraw; new Place[200]; new Score[200]; forward Scores(); forward SpawnPlayers(); main() { print("\n----------------------------------"); print(" Baseball TDM made by FateTrip"); print("----------------------------------\n"); } public OnGameModeInit() { SetGameModeText("Beta V1.1"); //SetTimer("Scores",500,1); //AddPlayerClass(115, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //team1 AddPlayerClass(116, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //team1 AddPlayerClass(28, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //team2 AddPlayerClass(120, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //team2 AddPlayerClass(217, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //team3 return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1955.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); if(classid == 0 || classid == 1) gTeam[playerid] = 1; else if(classid == 2 || classid == 3) gTeam[playerid] = 2; else gTeam[playerid] = 3; return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid,0xFFFF00AA,"* Listed below are the rules for this server:"); SendClientMessage(playerid,0x1111F8AA,"* No teamkilling"); SendClientMessage(playerid,0x1111F8AA,"* No Flaming"); SendClientMessage(playerid,0x1111F8AA,"* No Cheating/Hacking"); Place[playerid] = 1; SetTimer("SpawnPlayers",3000,1); return 1; } public OnPlayerRequestSpawn(playerid) { if(Place[playerid] == 1) { Place[playerid] = 0; return 0; } return 1; } public OnPlayerSpawn(playerid) { new string[15]; if(gTeam[playerid] != 3) { GivePlayerWeapon(playerid, 26, 99999); GivePlayerWeapon(playerid, 31, 99999); GivePlayerWeapon(playerid, 32, 99999); } format(string,sizeof(string),"~r~Team%d",gTeam[playerid]); GameTextForPlayer(playerid,string,1000,1); return 1; } public OnPlayerText(playerid, text[]) { if(text[0] == '!') { new Name[24],string[128]; GetPlayerName(playerid,Name,24); format(string,sizeof(string),"%s[Team]:%s",Name,text[1]); for(new i=0; i<200; i++) if(IsPlayerConnected(i) && gTeam[i] == gTeam[playerid]) SendClientMessage(i,0x00FF00AA,string); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/reset", true) == 0) for(new i=0; i<200; i++) if(IsPlayerConnected(i)) { Score[i] = 0; return 1; } if(strcmp(cmdtext, "/rules", true) == 0) { SendClientMessage(playerid,0xFFFF00AA,"* Listed below are the rules for this server:"); SendClientMessage(playerid,0x1111F8AA,"* No teamkilling"); SendClientMessage(playerid,0x1111F8AA,"* No Flaming"); SendClientMessage(playerid,0x1111F8AA,"* No Cheating/Hacking"); return 1; } return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(gTeam[playerid] == gTeam[killerid]) { Score[killerid]--; SetPlayerHealth(killerid,0); SendClientMessage(playerid,0xFF0000AA,"* [Teamkill] You have been penalized for murdering a fellow team mate."); } Score[playerid]++; return 1; } public Scores() { new pCount,Players[200],string[128],Name[24],List; for(new i=0; i<200; i++) if(IsPlayerConnected(i)) { pCount++; Players[i] = 1; } for(new i=0; i<200; i++) if(Players[i] == 1 && pCount != 0) { GetPlayerName(i,Name,24); if(pCount > 10) { if(List >= 14) format(string,sizeof(string),"%s ~n~ ~b~...",string); else { if(!strlen(string)) format(string,sizeof(string),"~g~%s [%d]",Name,Score[i]); else format(string,sizeof(string),"%s ~n~~w~%s [%s]",string,Name,Score[i]); } List++; } ScoreDraw = TextDrawCreate(630,420,string); if(pCount <= 5) TextDrawLetterSize(ScoreDraw, 12, 10); else if(pCount > 5 && pCount < 10) TextDrawLetterSize(ScoreDraw, 6, 6); else TextDrawLetterSize(ScoreDraw, 1, 1); } } public SpawnPlayers() { for(new i=0; i<200; i++) if(Place[i] == 1) { SpawnPlayer(i); Place[i] = 0; } return 1; }