14.11.2012, 19:27
Observem este cуdigo:
Eu tenho 3 cidades no SA-MP, Los Santos, San Fierro e Las Venturas. Agora vamos supor que eu esteja em Las Venturas e que no chat do SA-MP apareзa o repуrter de Los Santos falando. Usando IsPlayerInLosSantos, IsPlayerInSanFierro e IsPlayerInLasVenturas, quero "separar" os repуrteres. Ou seja, se o player estiver em Los Santos, fazer com que ele sу veja as notнcias do repуrter de Los Santos, se o player estiver em San Fierro, fazer com que ele sу veja as notнcias do repуrter de San Fierro. Resumindo: Minha dъvida й como enviar uma mensagem para todos os players, mas o player sу poder ver a mensagem se estiver numa certa regiгo... Desde jб agradeзo!
Код:
if(strcmp(cmd, "/noticias", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pMembro] == 9 || PlayerInfo[playerid][pLider] == 9) { new tmpcar = GetPlayerVehicleID(playerid); if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nao poder falar, Vocк foi calado"); return true; } if(IsAJornalCar(tmpcar)||PlayerToPoint(5,playerid,361.2997,203.8503,1008.3828)) { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /noticias [Texto]"); return true; } if(TentouDivulgar(result)) { if(cdivulgar[playerid] >= 4) { SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!"); SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!"); SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!"); PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0); Kick(playerid); } GetPlayerName(playerid, playername, MAX_PLAYER_NAME); format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,playername,result); ABroadCast(COLOR_YELLOW,string,1); DivulgouLog(string); cdivulgar[playerid] += 1; return true; } format(string, sizeof(string), "Reporter %s: %s", sendername, result); OOCNews(COLOR_NEWS,string); PlayerInfo[playerid][pNewsSkill] ++; if(PlayerInfo[playerid][pNewsSkill] == 50) { SendClientMessage(playerid, COLOR_YELLOW, "* Seu Reporter Agora e cargo 2, logo logo ja pode voar no helicoptero e falar AoVivo."); } else if(PlayerInfo[playerid][pNewsSkill] == 100) { SendClientMessage(playerid, COLOR_YELLOW, "* Seu Reporter Agora e cargo 3, logo logo ja pode voar no helicoptero e falar AoVivo."); } else if(PlayerInfo[playerid][pNewsSkill] == 200) { SendClientMessage(playerid, COLOR_YELLOW, "* O Seu Reporter Agora e cargo 4 e pode fazer coberturas com helicoptero"); } else if(PlayerInfo[playerid][pNewsSkill] == 400) { SendClientMessage(playerid, COLOR_YELLOW, "* O Seu Reporter Agora e cargo 5 e pode conversar AoVivo com quem ele quizer."); } } else { SendClientMessage(playerid, COLOR_GREY, " Vocк nгo estб no Jornal ou na Van !"); return true; } } else { SendClientMessage(playerid, COLOR_GREY, " Vocк nгo й um Reporter !"); } }//not connected return true; }