Den_Wilson
Умник
PHP:
Ко всем #define:
#define MAX_REKLAMA 130//Макс. количество рекламных 3D текстов
PHP:
enum rInfo
{
rOwned,
Float:rPos_X,
Float:rPos_Y,
Float:rPos_Z,
rText[1024],
rType
};
new ReklamaInfo[MAX_REKLAMA][rInfo]; // Рекламаинфо
после for(new h = 0; h < sizeof(SBizzInfo); h++) у кого как.
Вставим:
PHP:
new Float:radius;
new buffer[256];
LoadReklama();
for(new r = 0; r < sizeof(ReklamaInfo); r++)
{
if(ReklamaInfo[r][rOwned] == 1)
{
if(ReklamaInfo[r][rType] == 1)
{
format(buffer,sizeof(buffer),"Рекламный листок:\n%s\nРекламное место [№%d]",ReklamaInfo[r][rText],r);
radius = 50;
}
else
{
format(buffer,sizeof(buffer),"Рекламный щит:\n%s\nРекламное место [№%d]",ReklamaInfo[r][rText],r);
radius = 150;
}
}
else
{
if(ReklamaInfo[r][rType] == 1)
{
format(buffer,sizeof(buffer),"Здесь могла быть ваша реклама!\nРекламное место [№%d]\nОбращаться в SA News CNN",r);
radius = 50;
}
else
{
format(buffer,sizeof(buffer),"Здесь могла быть ваша реклама!\nРекламное место [№%d]\nОбращаться в SA News CNN",r);
radius = 150;
}
}
rekltext[r] = Create3DTextLabel(buffer, COLOR_LIGHTBLUE, ReklamaInfo[r][rPos_X], ReklamaInfo[r][rPos_Y],ReklamaInfo[r][rPos_Z], radius, 0, 1 );
}
после while (idx < sizeof(HouseInfo))
вставим:
PHP:
idx = 0;
while (idx < sizeof(ReklamaInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%s,%d\n",
ReklamaInfo[idx][rOwned],
ReklamaInfo[idx][rPos_X],
ReklamaInfo[idx][rPos_Y],
ReklamaInfo[idx][rPos_Z],
ReklamaInfo[idx][rText],
ReklamaInfo[idx][rType]);
if(idx == 0)
{
file2 = fopen("reklama.cfg", io_write);
}
else
{
file2 = fopen("reklama.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
PHP:
if(strcmp(cmd, "/rekldel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pMember] == 9)
{
if(PlayerInfo[playerid][pRank] < 4 && PlayerInfo[playerid][pLeader] != 9)
{
SendClientMessage(playerid,COLOR_GREY,"Команда будет доступна вам с 4 ранга!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Подсказка: /deladvertising [номер площадки]");
return 1;
}
new id = strval(tmp);
new buffer[1024];
ReklamaInfo[id][rOwned] = 0;
if(ReklamaInfo[id][rType] == 1)
{
format(buffer,sizeof(buffer),"Здесь могла быть ваша реклама!\nРекламное место [№%d]\nОбращаться в SA News CNN",id);
}
else
{
format(buffer,sizeof(buffer),"Здесь могла быть ваша реклама!\nРекламное место [№%d]\nОбращаться в SA News CNN",id);
}
Update3DTextLabelText(rekltext[id],COLOR_LIGHTBLUE,buffer);
format(string,sizeof(string),"Вы успешно удалили рекламу №%d",id);
SendClientMessage(playerid,COLOR_YELLOW,string);
OnPropUpdate();
}
}
return 1;
}
if(strcmp(cmd, "/reklnew", true) == 0)
{
if (PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pMember] == 9)
{
if(PlayerInfo[playerid][pRank] < 4 && PlayerInfo[playerid][pLeader] != 9)
{
SendClientMessage(playerid,COLOR_GREY,"Вам нужен хотя-бы 4ый ранг чтобы использовать эту команду!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_SYSTEM, "Подсказка: /newadvertising [Номер рекламного места] [Текст]");
return 1;
}
new id = strval(tmp);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[1024];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_SYSTEM, "Подсказка: /newadvertising [Номер рекламного места] [Текст]");
return 1;
}
spaceGroupsToSpaces(result);
trimSideSpaces(result);
new word[256],Index;while(Index < strlen(result)) { // проверка сообщения на рекламу серверов и ее вырезание
word = strtok(result,Index);
if(Adv(word)==1||ZP(word)||U(word)||T(word)||MY1(word)||MY2(word)||MY3(word)||MY4(word)||MY5(word)||MY6(word)||N(word)||P(word)||V(word )||R(word)||PL(word)||ZV(word)||I(word)||ST(word)||DL(word)||RE(word)||VOC(word)||A(word)||NO(word)||TCZ(word)||BOP(word)){
new i=strfind(result,word),j=i+strlen(word)-1; result[i++]='[';
while(i<j) {result[i]='|';i++;}
result[j]=']';
SendClientMessage(playerid,COLOR_RED,"Реклама чужих ресурсов запрещена на сервере!");
SendClientMessage(playerid,COLOR_RED,"Администрация была оповещена о вашей рекламе!");
}
}
if(strfind( result , "," , true ) == -1)
{
new buffer[1024];
strmid(ReklamaInfo[id][rText], (result), 0, strlen((result)), 128);
ReklamaInfo[id][rOwned] = 1;
if(ReklamaInfo[id][rType] == 1)
{
format(buffer,sizeof(buffer),"Рекламный листок:\n%s",ReklamaInfo[id][rText]);
}
if(ReklamaInfo[id][rType] == 2)
{
format(buffer,sizeof(buffer),"Рекламный щит:\n%s",ReklamaInfo[id][rText]);
}
Update3DTextLabelText(rekltext[id],COLOR_LIGHTBLUE,buffer);
format(string, sizeof(string), "Вы добавили новую рекламу: [%s][Место:%d]",(result),id);
OnPropUpdate();
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Вы не сотрудник CNN!");
return 1;
}
}
//===============================реклама========================================
PHP:
forward LoadReklama();
public LoadReklama(){
new arrCoords[6][1024];
new strFromFile2[256];
new File: file = fopen("reklama.cfg", io_read);
if (file)
{
new idx;
while (idx < sizeof(ReklamaInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
ReklamaInfo[idx][rOwned] = strval(arrCoords[0]);
ReklamaInfo[idx][rPos_X] = floatstr(arrCoords[1]);
ReklamaInfo[idx][rPos_Y] = floatstr(arrCoords[2]);
ReklamaInfo[idx][rPos_Z] = floatstr(arrCoords[3]);
strmid(ReklamaInfo[idx][rText], arrCoords[4], 0, strlen(arrCoords[4]), 255);
ReklamaInfo[idx][rType] = strval(arrCoords[5]);
idx++;
}
fclose(file);
}
return 1;
}
stock MY1(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word," .", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,'.');
ip[1] = strtok(word,index,'.');
ip[2] = strtok(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
stock MY2(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word,". ", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,'.');
ip[1] = strtok(word,index,'.');
ip[2] = strtok(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
stock MY3(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word," . ", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,'.');
ip[1] = strtok(word,index,'.');
ip[2] = strtok(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
stock MY4(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word," : ", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,'.');
ip[1] = strtok(word,index,'.');
ip[2] = strtok(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
stock MY5(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word,": ", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,'.');
ip[1] = strtok(word,index,'.');
ip[2] = strtok(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
stock MY6(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word," :", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,'.');
ip[1] = strtok(word,index,'.');
ip[2] = strtok(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование:
