- 0
Problema
-
Similar Content
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
Question
Mathiew
Salutare, am si eu comanda :
if(strcmp(cmd, "/startwar", true) == 0) { if(IsPlayerConnected(playerid)) { if(wtimer[playerid] < 1) { } else { SendClientMessage(playerid, COLOR_GREY, "Trebuie sa astepti 12 ore la fiecare war!"); return 1; } if(PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] == 12) { provoked = 1; new x_nr[256]; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, "Tasteaza: /startwar list , /startwar [locul]"); return 1; } if(strcmp(x_nr,"list",true) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "_________Lista Locuri_________"); SendClientMessage(playerid, COLOR_GRAD1, "1:GS/LS 2: BS/LS 3: Madd Dog House 4: Banca"); return 1; } else if(strcmp(x_nr,"1",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {8B5A2B}Guneo-{DBDB70}Carleone{D3D3D3}-{66CD00}Barzini {00FA9A}au declarat WAR , zona: {FFFFFF}GS/LS"); return 1; } else if(strcmp(x_nr,"2",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {8B5A2B}Guneo-{DBDB70}Carleone{D3D3D3}-{66CD00}Barzini {00FA9A}au declarat WAR , zona: {FFFFFF}BS/LS"); return 1; } else if(strcmp(x_nr,"3",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {8B5A2B}Guneo-{DBDB70}Carleone{D3D3D3}-{66CD00}Barzini {00FA9A}au declarat WAR , zona: {FFFFFF}Madd Dog House"); return 1; } else if(strcmp(x_nr,"4",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {8B5A2B}Guneo-{DBDB70}Carleone{D3D3D3}-{66CD00}Barzini {00FA9A}au declarat WAR , zona: {FFFFFF}Banca"); return 1; } } else if(PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pLeader] == 14 || PlayerInfo[playerid][pLeader] == 15) { provoked = 1; new x_nr[256]; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, "Tasteaza: /startwar list , /startwar [locul]"); return 1; } if(strcmp(x_nr,"list",true) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "_________Lista Locuri_________"); SendClientMessage(playerid, COLOR_GRAD1, "1: GS/LS 2: BS/LS 3: Madd Dog House 4: Banca"); return 1; } else if(strcmp(x_nr,"1",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {EE2C2C}Tattagalia{D3D3D3}-{97FFFF}Paterno{D3D3D3}-{CD3278}Stracci {00FA9A}au declarat WAR , zona: {FFFFFF}GS/LS"); return 1; } else if(strcmp(x_nr,"2",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {EE2C2C}Tattagalia{D3D3D3}-{97FFFF}Paterno{D3D3D3}-{CD3278}Stracci {00FA9A}au declarat WAR , zona: {FFFFFF}BS/LS"); return 1; } else if(strcmp(x_nr,"3",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {EE2C2C}Tattagalia{D3D3D3}-{97FFFF}Paterno{D3D3D3}-{CD3278}Stracci {00FA9A}au declarat WAR , zona: {FFFFFF}Madd Dog House"); return 1; } else if(strcmp(x_nr,"4",true) == 0) { SendClientMessageToAll(COLOR_GREEN, "{00FA9A}[WAR]: {EE2C2C}Tattagalia{D3D3D3}-{97FFFF}Paterno{D3D3D3}-{CD3278}Stracci {00FA9A}au declarat WAR , zona: {FFFFFF}Banca"); return 1; } } else { SendClientMessage(playerid, COLOR_GRAD2, "Tu nu esti leader in Mafie!"); return 1; } wtimer[playerid] = 3000000; } return 1; } if(strcmp(cmd, "/acceptwar", true) == 0) { if(IsPlayerConnected(playerid)) { if (provoked == 1) { if (PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pLeader] == 14 || PlayerInfo[playerid][pLeader] == 15) { new hour,minuite; gettime(hour,minuite); FixHour(hour); SetTimer("wartime", 1800000, false); SendClientMessageToAll(COLOR_WHITE, "{6EF83C}|____War Started____|"); format(string, sizeof(string), "{006633}Guneo - {CC9933}Carleone - {663300}Barzini {660099}Tattagalia - {99FFFF}Paterno - {990033}Stracci"); SendClientMessageToAll(COLOR_WHITE,string); SendClientMessageToAll(COLOR_WHITE, "Premiul: {F81414}50.000 {33AA33}$ {F81414}5000 {33AA33}Mats {F81414}200 {33AA33}Drugs"); format(string, sizeof(string), "War inceput la ora: {F81414}%d: %d", hour, minuite); SendClientMessageToAll(COLOR_WHITE,string); SendClientMessageToAll(COLOR_WHITE, "Va rugam evitati acea zona!"); SendClientMessageToAll(COLOR_WHITE, "{6EF83C}|____War Started____|"); provoked = 0; } } else { SendClientMessage(playerid, COLOR_GREY, "Tu nu esti leader in Mafie."); } } return 1; }Dar nu functioneaza... Tot scriptul:#define TAKEOVER_TIME 600 // how many seconds needed to take over the zone #define MIN_DEATHS_TO_START_WAR 2 // how many team members must be killed in a zone to start a war #define TEAM_GROVE 1 #define TEAM_BALLAS 2 enum eZone { Float:zMinX, Float:zMinY, Float:zMaxX, Float:zMaxY, zTeam } new ZoneInfo[][eZone] = { {2337.9004,-1808.8383,2590.2043,-1610.3673,TEAM_GROVE}, {2084.7,-1808.8383,2337.9004,-1610.3673,TEAM_BALLAS}, {1429.3770,-1732.4554,1529.1932,-1592.1989,TEAM_GROVE} }; new ZoneAttacker[sizeof(ZoneInfo)] = {-1, ...}; new ZoneAttackTime[sizeof(ZoneInfo)]; new ZoneDeaths[sizeof(ZoneInfo)]; new ZoneID[sizeof(ZoneInfo)];OnPlayerDeathif(IsPlayerConnected(killerid) && GetPlayerTeam(playerid) != GetPlayerTeam(killerid)) // not a suicide or team kill { new zoneid = GetPlayerZone(playerid); if(zoneid != -1 && ZoneInfo[zoneid][zTeam] == GetPlayerTeam(playerid)) // zone member has been killed in the zone { ZoneDeaths[zoneid]++; if(ZoneDeaths[zoneid] == MIN_DEATHS_TO_START_WAR) { ZoneDeaths[zoneid] = 0; ZoneAttacker[zoneid] = GetPlayerTeam(killerid); ZoneAttackTime[zoneid] = 0; GangZoneFlashForAll(ZoneID[zoneid], GetTeamZoneColor(ZoneAttacker[zoneid])); } } }OnPlayerSpawnfor(new i=0; i < sizeof(ZoneInfo); i++) { GangZoneShowForPlayer(playerid, ZoneID[i], GetTeamZoneColor(ZoneInfo[i][zTeam])); } for(new i=0; i < sizeof(ZoneInfo); i++) { GangZoneShowForPlayer(playerid, ZoneID[i], GetTeamZoneColor(ZoneInfo[i][zTeam])); if(ZoneAttacker[i] != -1) GangZoneFlashForPlayer(playerid, ZoneID[i], GetTeamZoneColor(ZoneAttacker[i])); }OnGameModeInItfor(new i=0; i < sizeof(ZoneInfo); i++) { ZoneID[i] = GangZoneCreate(ZoneInfo[i][zMinX], ZoneInfo[i][zMinY], ZoneInfo[i][zMaxX], ZoneInfo[i][zMaxY]); } SetTimer("ZoneTimer", 1000, true);Si stock-urilestock IsPlayerInZone(playerid, zoneid) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); return (x > ZoneInfo[zoneid][zMinX] && x < ZoneInfo[zoneid][zMaxX] && y > ZoneInfo[zoneid][zMinY] && y < ZoneInfo[zoneid][zMaxY]); } stock GetTeamZoneColor(teamid) { switch(teamid) { case TEAM_GROVE: return 0x00FF0088; case TEAM_BALLAS: return 0xFF00FF88; } return -1; } stock GetPlayerZone(playerid) { for(new i=0; i < sizeof(ZoneInfo); i++) { if(IsPlayerInTurf(playerid, i)) { return i; } } return -1; } stock GetPlayersInZone(zoneid, teamid) { new count; for(new i=0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && GetPlayerTeam(i) == teamid && IsPlayerInZone(i, zoneid)) { count++; } } return count; } forward ZoneTimer(); public ZoneTimer() { for(new i=0; i < sizeof(ZoneInfo); i++) // loop all zones { if(ZoneAttacker[i] != -1) // zone is being attacked { if(GetPlayersInZone(i, ZoneAttacker[i]) >= 1) // there must be at least 1 attacker left { ZoneAttackTime[i]++; if(ZoneAttackTime[i] == TAKEOVER_TIME) // zone has been under attack for enough time and attackers take over the zone { GangZoneStopFlashForAll(ZoneID[i]); ZoneInfo[i][zTeam] = ZoneAttacker[i]; GangZoneShowForAll(ZoneID[i], GetTeamZoneColor(ZoneInfo[i][zTeam])); // update the zone color for new team ZoneAttacker[i] = -1; } } else // attackers failed to take over the zone { GangZoneStopFlashForAll(ZoneID[i]); ZoneAttacker[i] = -1; } } } }1 answer to this question
Recommended Posts