Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- SKRIPTU IZRADIO : FyoDoR (Bvana iz Lagune ili CYX) hahahah xD
- Iime skripte: BVANA Oglasnik
- Jebes ime, svakako ce te pokrast i creditse i ime i sve hahaha
- Nema veze, napravio sam ovo iz dobre volje, vidite dole da nisam nigdje svoje ime stavio, samo ovdje.
- A i nije vam neka satisfakcije uzeti ovu FS i predstaviti kao svoju :D
- I hajd sve to, ovo je prelagano napraviti..
- Vrijeme izrade ove skripte sve ukupno nije preko 2 sata :$
- NE TRAZI JE SINEEEEEEEEE, REČEEEEEE MAJKA NJENAAAAAAAAAAAAA NE DIRAJ U NJENUUUU ZAPOČETU SRECUUUUUUU
- */
- #include <a_samp>
- #include <sscanf2>
- #include <zcmd>
- #include < YSI\y_ini >
- #include < foreach >
- //Textdraw oglasa
- new Text:bvana0;
- new Text:bvana1;
- new Text:bvana2;
- new Text:bvana3;
- //Skracenice
- #define SCM SendClientMessage
- #define SCMTA SendClientMessageToAll
- //definicije dialog
- #define GLAVNI_DIALOG 2
- #define CIJENA_DIALOG 3
- #define VRIJEME_DIALOG 4
- #define INFO_DIALOG 5
- //boje
- #define SPLAVA "{0535F7}"
- #define CRVENA "{F81414}"
- #define SZELENA "{C9FFAB}"
- #define ZUTA "{F3FF02}"
- #define BILB "{CC00FF}"
- #define SIVA "{9E9E9E}"
- //zabranjene riječi dodajete pod navodnike, prije toga zarez, na zadnju riječ ne ide zarez
- new ZabranjeneReci[][] =
- {
- "jebem","picka","pi.cko","je.bem",
- "majmun","jebe","pizdo"
- };
- #define OGLAS_FILE "BVANA/Oglasnik.ini"
- enum oinfo
- {
- Ukljucen,
- Cijena,
- Vrijeme,
- Boja1,
- Boja2
- }
- new Oglasnik[oinfo];
- ///Tajmer za oglase
- forward OglasTimer();
- new OGVrijeme;
- public OnFilterScriptInit()
- {
- printf("Ucitano ADFS");
- //Vrijeme za oglas svake sekunde OGVrijeme varijabla se smanjuje za 1
- SetTimer("OglasTimer", 1000, true); // Set a timer of 1000 miliseconds (1 second)
- OGVrijeme = 0;
- #pragma tabsize 0
- // In OnGameModeInit prefferably, we procced to create our textdraws:
- bvana0 = TextDrawCreate(650.000000, 428.000000, "__");
- TextDrawBackgroundColor(bvana0, 255);
- TextDrawFont(bvana0, 1);
- TextDrawLetterSize(bvana0, 0.539999, 1.500000);
- TextDrawColor(bvana0, -1);
- TextDrawSetOutline(bvana0, 0);
- TextDrawSetProportional(bvana0, 1);
- TextDrawSetShadow(bvana0, 1);
- TextDrawUseBox(bvana0, 1);
- TextDrawBoxColor(bvana0, 150);
- TextDrawTextSize(bvana0, -20.000000, 70.000000);
- TextDrawSetSelectable(bvana0, 0);
- bvana1 = TextDrawCreate(2.000000, 430.000000, "OGLAS :");
- TextDrawBackgroundColor(bvana1, 255);
- TextDrawFont(bvana1, 1);
- TextDrawLetterSize(bvana1, 0.310000, 1.000000);
- TextDrawColor(bvana1, 16711935);
- TextDrawSetOutline(bvana1, 0);
- TextDrawSetProportional(bvana1, 1);
- TextDrawSetShadow(bvana1, 1);
- TextDrawSetSelectable(bvana1, 0);
- //78 max string
- bvana2 = TextDrawCreate(46.000000, 430.000000, " ");
- TextDrawBackgroundColor(bvana2, 255);
- TextDrawFont(bvana2, 1);
- TextDrawLetterSize(bvana2, 0.310000, 1.000000);
- TextDrawColor(bvana2, -1);
- TextDrawSetOutline(bvana2, 0);
- TextDrawSetProportional(bvana2, 1);
- TextDrawSetShadow(bvana2, 1);
- TextDrawSetSelectable(bvana2, 0);
- //21max string
- bvana3 = TextDrawCreate(512.000000, 430.000000, " ");
- TextDrawBackgroundColor(bvana3, -1);
- TextDrawFont(bvana3, 1);
- TextDrawLetterSize(bvana3, 0.310000, 1.000000);
- TextDrawColor(bvana3, 7012351);
- TextDrawSetOutline(bvana3, 0);
- TextDrawSetProportional(bvana3, 1);
- TextDrawSetShadow(bvana3, 0);
- TextDrawSetSelectable(bvana3, 0);
- //Ucitavanja postavki iz fajla
- new srvFile[80]; format(srvFile,sizeof(srvFile),OGLAS_FILE);
- if(fexist(srvFile))
- {
- INI_ParseFile(srvFile, "UcitajOglasP");
- print("Ucitana podesavanja oglasa.");
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- SacuvajOglasP();
- TextDrawDestroy(bvana0);
- TextDrawDestroy(bvana1);
- TextDrawDestroy(bvana2);
- TextDrawDestroy(bvana3);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if(Oglasnik[Ukljucen] == 1)
- {
- TextDrawShowForPlayer(playerid, bvana0);
- TextDrawShowForPlayer(playerid, bvana1);
- TextDrawShowForPlayer(playerid, bvana2);
- TextDrawShowForPlayer(playerid, bvana3);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(Oglasnik[Ukljucen] == 1)
- {
- TextDrawHideForPlayer(playerid, bvana0);
- TextDrawHideForPlayer(playerid, bvana1);
- TextDrawHideForPlayer(playerid, bvana2);
- TextDrawHideForPlayer(playerid, bvana3);
- }
- return 1;
- }
- CMD:postavkeoglasa(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, ""CRVENA" Postavke BVANA Oglasnika mogu mjenjati samo RCON administratori.");
- ShowPlayerDialog(playerid, GLAVNI_DIALOG, DIALOG_STYLE_LIST, ""SPLAVA"Podesavanje oglasa", ""CRVENA"1 "SZELENA"-Informacije\n"CRVENA"2 "SZELENA"-Ukljuci/Iskljuci\n"CRVENA"3 "SZELENA"-Cijena oglasa\n"CRVENA"4 "SZELENA"-Vrijeme izmedju oglasa", "Ok", "Izlaz");
- return 1;
- }
- COMMAND:pogl(playerid, params[])
- {
- return cmd_postavkeoglasa(playerid, params);
- }
- CMD:oglas(playerid, params[])
- {
- //#pragma unused help
- //#pragma unused params
- new result[80],string[21], string2[83], logg[106];
- if(Oglasnik[Ukljucen] == 0) return SendClientMessage(playerid,-1, ""BILB" BVANA Oglasnik | "SIVA"Oglasavanje je trenutno iskljuceno.");
- if(sscanf(params, "s[78]", result)) return SendClientMessage(playerid,-1, ""BILB" BVANA Oglasnik | "SIVA"Pomoc | /oglas [tekst]");
- ProvjeraOglasa(result);
- new cijena = Oglasnik[Cijena];
- if(OGVrijeme > 0) return SCMF(playerid, -1, ""BILB" BVANA Oglasnik | "SIVA"Oglas izlazi svakih %d sekundi, do sljedeceg oglasa %d sekunda", Oglasnik[Vrijeme], OGVrijeme);
- if(cijena > GetPlayerMoney(playerid)) return SCMF(playerid, -1, ""BILB" BVANA Oglasnik | "SIVA"Nemate dovoljno novca da objavite oglas! Cijena:%d$", cijena);
- for(new words; words < sizeof(ZabranjeneReci); words++)
- if(strfind(result,ZabranjeneReci[words],true) != -1 ) return SendClientMessage(playerid,-1, ""BILB" BVANA Oglasnik | "SIVA"Upisali ste zabranjenu rijec, oglas odbijen !");
- OGVrijeme = Oglasnik[Vrijeme];
- GivePlayerMoney(playerid, -cijena);
- format(string, sizeof(string), "%s", ImeIgraca(playerid));
- format(string2, sizeof(string2), "%s.", result);
- TextDrawSetString(bvana2, string2);
- TextDrawSetString(bvana3, string);
- format(logg, sizeof(logg), ""BILB" BVANA Oglasnik | "SPLAVA"Autor: %s ", ImeIgraca(playerid));
- SCMTA(-1,logg);
- format(logg, sizeof(logg), "{FFFFFF}- %s.", result);
- SCMTA(-1,logg);
- format(logg, sizeof(logg), "[OGLAS] %s : %s.",ImeIgraca(playerid), result);
- OglasLog(logg);
- new gtst[100];
- format(gtst, sizeof(gtst), "~w~Uspjesno ste dali oglas za %d $!", cijena);
- GameTextForPlayer(playerid, gtst, 3000,3);
- return 1;
- }
- CMD:ad(playerid, params[])
- {
- return cmd_oglas(playerid, params);
- }
- ///////////////////////FUNKCIJE/////////////////
- forward UcitajOglasP(name[],value[]);
- public UcitajOglasP(name[],value[])
- {
- INI_Int("Ukljucen",Oglasnik[Ukljucen]);
- INI_Int("Cijena",Oglasnik[Cijena]);
- INI_Int("Vrijeme",Oglasnik[Vrijeme]);
- return 1;
- }
- stock SacuvajOglasP()
- {
- new sFile[80];
- format(sFile,sizeof(sFile),OGLAS_FILE);
- new INI:File = INI_Open(sFile);
- INI_WriteInt(File,"Ukljucen",Oglasnik[Ukljucen]);
- INI_WriteInt(File,"Cijena",Oglasnik[Cijena]);
- INI_WriteInt(File,"Vrijeme",Oglasnik[Vrijeme]);
- INI_Close(File);
- return 1;
- }
- stock OglasLog(string[])
- {
- new entry[256];
- format(entry, sizeof(entry), "%s\r\n",string);
- new File:hFile;
- hFile = fopen("BVANA/OglasLog.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- stock ImeIgraca(playerid)
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid, ime, sizeof(ime));
- return ime;
- }
- stock ProvjeraOglasa(string[], s_size = sizeof(string))
- {
- new brojevi[] = { '1','2','3','4','5','6','7','8','9'};
- for(new b = 0; b < sizeof brojevi; b++)
- {
- strlen(string);
- for(new i = 0; i< s_size-1; i++)
- {
- if(string[i] == brojevi[b])
- string[i] = 'x' ;
- }
- }
- return 1;
- }
- public OglasTimer()
- {
- if(OGVrijeme > 0) return OGVrijeme -= 1;
- return 1;
- }
- stock SCMF(playerid,color,fstring[],{Float, _}:...)
- {
- new n=(numargs()-3)*4;
- if(n)
- {
- new message[128],arg_start,arg_end;
- #emit CONST.alt fstring
- #emit LCTRL 5
- #emit ADD
- #emit STOR.S.pri arg_start
- #emit LOAD.S.alt n
- #emit ADD
- #emit STOR.S.pri arg_end
- do
- {
- #emit LOAD.I
- #emit PUSH.pri
- arg_end-=4;
- #emit LOAD.S.pri arg_end
- }
- while(arg_end>arg_start);
- #emit PUSH.S fstring
- #emit PUSH.C 255
- #emit PUSH.ADR message
- n+=4*3;
- #emit PUSH.S n
- #emit SYSREQ.C format
- n+=4;
- #emit LCTRL 4
- #emit LOAD.S.alt n
- #emit ADD
- #emit SCTRL 4
- return SCM(playerid,color,message);
- }
- else return SCM(playerid,color,fstring);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == GLAVNI_DIALOG)
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0:
- {
- new string[128], ukisk[11];
- if(Oglasnik[Ukljucen] == 1) ukisk = "Ukljuceno";
- else if(Oglasnik[Ukljucen] == 0) ukisk = "Iskljuceno";
- format(string,sizeof string, ""SZELENA"Oglasavanje : %s\n"ZUTA"Cijena oglasa : %d\n"SZELENA"Vrijeme izmedju oglasa : %d",ukisk, Oglasnik[Cijena],Oglasnik[Vrijeme]);
- ShowPlayerDialog(playerid, INFO_DIALOG, DIALOG_STYLE_MSGBOX, ""SPLAVA"Informacije o oglasima", string, "Zatvori", "");
- }
- case 1:
- {
- if(Oglasnik[Ukljucen] == 1)
- {
- Oglasnik[Ukljucen] = 0;
- SendClientMessage(playerid,-1,""BILB" BVANA Oglasnik | "SIVA"Uspjesno ste iskljucili oglasavanje.");
- TextDrawHideForAll(bvana0);
- TextDrawHideForAll(bvana1);
- TextDrawHideForAll(bvana2);
- TextDrawHideForAll(bvana3);
- }
- else
- {
- Oglasnik[Ukljucen] = 1;
- SendClientMessage(playerid,-1,""BILB" BVANA Oglasnik | "SIVA"Uspjesno ste ukljucili oglasavanje.");
- TextDrawShowForAll(bvana0);
- TextDrawShowForAll(bvana1);
- TextDrawShowForAll(bvana2);
- TextDrawShowForAll(bvana3);
- }
- SacuvajOglasP();
- }
- case 2:
- {
- ShowPlayerDialog(playerid, CIJENA_DIALOG, DIALOG_STYLE_INPUT, ""SPLAVA"Cijena oglasa", ""SZELENA"Unesite cijenu oglasa", "Promjeni", "Izlaz");
- }
- case 3:
- {
- ShowPlayerDialog(playerid, VRIJEME_DIALOG, DIALOG_STYLE_INPUT, ""SPLAVA"Vrijeme izmedju oglasa", ""SZELENA"Unesite vrijeme izmedju oglasa.(u sekundama).", "Promjeni", "Izlaz");
- }
- }
- }
- if(dialogid == CIJENA_DIALOG)
- {
- if(response)
- {
- new cijena;
- if(sscanf(inputtext, "i", cijena)) return ShowPlayerDialog(playerid, CIJENA_DIALOG, DIALOG_STYLE_INPUT, ""SPLAVA"Cijena oglasa", ""SZELENA"Unesite novu cijenu oglasa, i nemoj se zajebavat! "ZUTA":P", "Promjeni", "Izlaz");
- if(cijena < 1 || cijena > 1000) return SCM(playerid,-1,""BILB" BVANA Oglasnik | "SIVA"Cijena ne moze biti manja od 1$ niti veca od 1000$");
- SCMF(playerid, -1, ""BILB" BVANA Oglasnik | "SIVA"Uspjesno si promjenio cijenu oglasa. Nova cijena:%d$ || Stara cijena: %d$ ", cijena,Oglasnik[Cijena]);
- Oglasnik[Cijena] = cijena;
- SacuvajOglasP();
- }
- }
- if(dialogid == VRIJEME_DIALOG)
- {
- if(response)
- {
- new vrijeme;
- if(sscanf(inputtext, "i", vrijeme)) return ShowPlayerDialog(playerid, VRIJEME_DIALOG, DIALOG_STYLE_INPUT, ""SPLAVA"Vrijeme izmedju oglasa", ""SZELENA"Unesite novo vrijeme izmedju oglasa.(u sekundama).", "Promjeni", "Izlaz");
- if(vrijeme < 1 || vrijeme > 1000) return SCM(playerid,-1,""BILB" BVANA Oglasnik | "SIVA"Vrijeme izmedju oglasa, ne moze biti manja od 1 niti vise od 1000 sekundi.");
- SCMF(playerid, -1, ""BILB" BVANA Oglasnik | "SIVA"Uspjesno si promjenio vrijeme izmedju oglasa. Nova vrijeme:%d || Staro vrijeme: %d", vrijeme,Oglasnik[Vrijeme]);
- Oglasnik[Vrijeme] = vrijeme;
- SacuvajOglasP();
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement