Salut. Am o problema la comanda /attack. Cand nu sunt pe turf si dau /attack imi spune ca e comanda invalida, comanda merge doar pe turf, si eu as vrea ca, comanda sa functioneze doar in intervalul orelor 20:00 - 22:00, acum pot da attack cand vreau. Ma puteti ajuta? Vreau sa mentionez ca, chiar daca sunt sub 3 membrii online merge sa dau /attack. Rog seriozitate, chiar sunt pe la inceput si n-am idee. Gamemode Burned ( Last-Time ). Cod:
YCMD:attack(playerid, params[], help) {
if(!IsAMember(playerid)) return SCM(playerid,COLOR_GREY, "Nu faci parte dintr-o mafie.");
if(PlayerInfo[playerid][pRank] < 3) return SCM(playerid,COLOR_LIGHTBLUE,"You do not have rank 3.");
new turf,string[100];
for(new i = 1; i <= sizeof(TurfInfo); i++) {
if(IsPlayerInTurf(playerid, i) == 1) {
turf = i;
break;
}
}
new hour,minute,second, year, month, day;
gettime(hour,minute,second);
getdate(year, month, day);
new days[180];
format(days, sizeof(days), GetWeekDay(day, month, year));
if(PlayerInfo[playerid][pAdmin] < 7) {
if(strcmp(days,"Saturday",true) == 0 || strcmp(days,"Sunday",true) == 0) return SCM(playerid, COLOR_LIGHTRED, "Nu se dau war-uri in weekend!");
if(hour == 20 || hour == 23) {}
else return SCM(playerid, COLOR_LIGHTRED, "War-uri se pot da doar in intervalul 20:00 - 22:00!");
if(GetFactionMembersOn2(PlayerInfo[playerid][pMember]) < 2) return SCM(playerid, COLOR_LGREEN, "Nu poti folosi aceasta comanda deoarece nu sunt minim 3 membri conectati din factiunea ta!");
if(GetFactionMembersOn2(TurfInfo[turf][zOwned]) < 2) return SCM(playerid, COLOR_LGREEN, "Nu poti folosi aceasta comanda deoarece nu sunt minim 3 membri conectati din factiunea care detine teritoriul!");
}
if(turf == 0) return SCM(playerid, COLOR_WHITE, "Nu esti pe un teritoriu!");
new faction = PlayerInfo[playerid][pMember];
if(TurfInfo[turf][zOwned] == faction) return SCM(playerid, COLOR_GREY, "Nu poti ataca turful mafiei tale.");
if(WarInfo[turf][wAttacker] != 0) return SCM(playerid, COLOR_WHITE, "Acest turf este deja atacat.");
if(InWar[faction] == 1) return SCM(playerid, COLOR_WHITE, "Este deja un war activ.");
if(InWar[TurfInfo[turf][zOwned]] == 1) return SCM(playerid, COLOR_WHITE, "Aceasta mafie are deja un war activ.");
if(FactionDeelay[PlayerInfo[playerid][pMember]] != 0) {
format(string, sizeof(string), "Poti folosi aceasta comanda peste %d minute (%d secunde).", FactionDeelay[PlayerInfo[playerid][pMember]]/60, FactionDeelay[PlayerInfo[playerid][pMember]]);
SCM(playerid, COLOR_LGREEN, string);
return 1;
}
format(string, sizeof(string), "[WAR] started a war with %s.",FactionName(WarInfo[turf][wAttacker]), FactionName(TurfInfo[turf][zOwned]));
SendAdminMessage(COLOR_LOGS, string, 1);
format(string, sizeof(string), "[WAR] %s a atacat teritoriul %d detinut de factiunea %s.",GetName(playerid),turf,FactionName(TurfInfo[turf][zOwned]));
SendFactionMessage(faction,COLOR_MONEY,string);
format(string, sizeof(string), "[WAR] %s (%s) a atacat teritoriul %d detinut de factiunea ta.",FactionName(WarInfo[turf][wAttacker]),GetName(playerid),turf);
SendFactionMessage(TurfInfo[turf][zOwned],COLOR_MONEY,string);
new query[128];
format(query,sizeof(query),"UPDATE `turfs` SET `Time`='24' WHERE `ID`='%d'",turf);
mysql_query(SQL,query);
TurfInfo[turf][zTime] = 24;
if(PlayerInfo[playerid][pAdmin] == 7) WarInfo[turf][wTime] = 120;
else WarInfo[turf][wTime] = 1200;
WarInfo[turf][wAttacker] = faction;
WarInfo[turf][wFaction] = TurfInfo[turf][zOwned];
worstscoreat[turf] = 0;
worstmemberat[turf] = 999;
bestscoreat[turf] = 0;
bestmemberat[turf] = 999;
worstscoredf[turf] = 0;
worstmemberdf[turf] = 999;
bestscoredf[turf] = 0;
bestmemberdf[turf] = 999;
InWar[TurfInfo[turf][zOwned]] = 1;
InWar[faction] = 1;
InWarTurf[faction] = turf;
InWarTurf[TurfInfo[turf][zOwned]] = turf;
foreach(Player, i) {
if(IsPlayerLogged[i] == 1) {
if(PlayerInfo[i][pMember] == faction || PlayerInfo[i][pMember] == TurfInfo[turf][zOwned]) UpdateVar(i, "WarTurf", turf);
}
}
SetVehicle(faction, turf);
SetVehicle(TurfInfo[turf][zOwned], turf);
return 1; }
function SetVehicle(fid, turf) {
for(new i; i < MAX_SVEHICLES; i++) {
if(ServerVehicles[i][vFaction] == fid) SetVehicleVirtualWorld(i, turf);
}
return 1; }
function RespawnVehicle(fid) {
for(new i; i < MAX_SVEHICLES; i++) {
if(ServerVehicles[i][vFaction] == fid) {
SetVehicleVirtualWorld(i, 0);
SetVehicleToRespawn(i);
}
}
return 1; }
Va doresc o zi buna. Sper sa ma puteti ajuta.