Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////////////#include////////////////////////////////////
- #include <a_samp >
- #include <sscanf >
- #include <zcmd >
- #include <YSI/y_ini>
- #include <streamer >
- #pragma tabsize 0
- ////////////////////////////////////#define boje////////////////////////////////
- #define DARKORANGE 0xFF3F00AA
- #define BLUE {0000BB}
- #define h_BLUE 0x0000BBAA
- #define red 0xFF0000AA
- #define WHITE "{FFFFFF}"
- #define RED "{F81414}"
- #define h_RED 0xF81414FF
- #define GREEN "{00FF22}"
- #define LIGHTBLUE "{00CED1}"
- ////////////////////////////////#define Register/Login//////////////////////////
- enum
- {
- DIALOG_REGISTER = 1,
- DIALOG_LOGIN,
- DIALOG_SUCCESS_1,
- DIALOG_SUCCESS_2
- };
- #define PATH "/Korisnici/%s.ini"
- ////////////////////////////////#define skracenice//////////////////////////////
- #define SCM SendClientMessage //definiramo SCM kao kraticu od SendClientMessage
- #define SCMTA SendClientMessageToAll //definiramo SCMTA kao kraticu od SendClientMessageToAll
- ////////////////////////////////#define DIALOG_Poslovi//////////////////////////
- #define DIALOG_BUSVOZAC 1
- ///////////////////////////////#define POSAO_???////////////////////////////////
- #define POSAO_BUSVOZAC 1
- //////////////////////////#define ???(posao)_SKIN [ID skina]////////////////////
- #define BUSVOZAC_SKIN 61
- ///////////////////////////////Rent System//////////////////////////////////////
- //////////////////////////////////////new///////////////////////////////////////
- new aduty[MAX_PLAYERS];
- ////////////////////////////////////Register/Login System///////////////////////
- //////////////////OVO VAM PRIKAZUJE KAD SE IGRAC REGISTRUJE & UMRE & UBIJE NEKOG U SCRIPT FILES > KORISNICI///////////////////////
- enum pInfo
- {
- pPass,
- pPosao,
- pCash,
- pAdmin,
- pKills,
- pDeaths
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- ////////////////////////////////////////////////////////////////////////////////
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_Int("Password",PlayerInfo[playerid][pPass]);
- INI_Int("Cash",PlayerInfo[playerid][pCash]);
- INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
- INI_Int("Kills",PlayerInfo[playerid][pKills]);
- INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
- return 1;
- }
- ////////////////////////////////////////////////////////////////////////////////
- stock UserPath(playerid)
- {
- new string[128],playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid,playername,sizeof(playername));
- format(string,sizeof(string),PATH,playername);
- return string;
- }
- stock udb_hash(buf[]) {
- new length=strlen(buf);
- new s1 = 1;
- new s2 = 0;
- new n;
- for (n=0; n<length; n++)
- {
- s1 = (s1 + buf[n]) % 65521;
- s2 = (s2 + s1) % 65521;
- }
- return (s2 << 16) + s1;
- }
- ////////////////////////////////////////////////////
- public OnPlayerConnect(playerid)
- {
- if(fexist(UserPath(playerid)))
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Login",""WHITE"Ukucajte sifru da bi ste se ulogovali.","Login","Izadji");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""WHITE"Registracija...",""WHITE"Ukucajte sifru kako bi se registrovali","Register","Izadji");
- }
- ////////////////////////////////// Bus Vozac ///////////////////////////////////
- CP1 = CreateDynamicRaceCP(0,1461.1018,-2355.2996,13.2528,269.6068,1472.5420,-2368.3738,13.1099,177.0389,3.0);
- CP2 = CreateDynamicRaceCP(0,1472.5420,-2368.3738,13.1099,177.0389,1553.3702,-2380.4897,13.1021,271.3445,3.0);
- CP3 = CreateDynamicRaceCP(0,1553.3702,-2380.4897,13.1021,271.3445,0,0,0,3.0);
- TogglePlayerDinamicRaceCP(playerid,CP1,0);
- TogglePlayerDinamicRaceCP(playerid,CP2,0);
- TogglePlayerDinamicRaceCP(playerid,CP3,0);
- ////////////////////////////////////////////////////////////////////////////////
- return 1;
- }
- //////////////////////////////////////////////////////////////////////////////////
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch( dialogid )
- {
- case DIALOG_REGISTER:
- {
- if (!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""WHITE"Registracija...",""RED"Ukucali ste pogresnu lozinku.\n"WHITE"Ukucajte sifru kako bi registrovali nov akaunt","Register","Izadji");
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Password",udb_hash(inputtext));
- INI_WriteInt(File,"Cash",0);
- INI_WriteInt(File,"Admin",0);
- INI_WriteInt(File,"Kills",0);
- INI_WriteInt(File,"Deaths",0);
- INI_Close(File);
- SetSpawnInfo(playerid, 0, 0, 1332.3175,-984.9104,33.8966,269.8959,0,0,0,0,0,0);
- SpawnPlayer(playerid);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""WHITE"Dobrodosli!",""GREEN"Uspesno ste registrovali svoj account!","Ok","");
- }
- }
- case DIALOG_LOGIN:
- {
- if ( !response ) return Kick ( playerid );
- if( response )
- {
- if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""WHITE"Dobrodosli!",""GREEN"Uspesno ste se ulogovali na svoj account!","Ok","");
- SetSpawnInfo(playerid, 0, 0, 1332.3175,-984.9104,33.8966,269.8959,0,0,0,0,0,0);
- SpawnPlayer(playerid);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Login",""RED"Ukucali ste pogresnu sifru.\n"WHITE"Ukucajte ponovo sifru kako bi ste se ulogovali na svoj account.","Login","Izadji");
- }
- return 1;
- }
- }
- }
- return 1;
- }
- //////////// SACUVA IGRACEVE PODATKE KADA IZADJE SA SERVERA ////////////////////
- public OnPlayerDisconnect(playerid, reason)
- {
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
- INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
- INI_Close(File);
- return 1;
- }
- ///////////////////////////kada igrac umre doda mu Smrt u scriptfiles korisnici/////////////////
- public OnPlayerDeath(playerid, killerid, reason)
- {
- PlayerInfo[killerid][pKills]++;
- PlayerInfo[playerid][pDeaths]++;
- return 1;
- }
- ///////////////////////////////////////////////////////////////////////////////
- main()
- {
- print("Ucitavanje servera");
- print("Server uspesno ucitan");
- SendRconCommand("mapname Balkansko Poluostrvo");
- }
- public OnGameModeInit()
- {
- SetGameModeText("New School v1.0.0");
- EnableStuntBonusForAll(0); //////////0- iskljuceno | 1- ukljuceno///////////
- return 1;
- }
- ////////////////////////////////////kaciga system////////////////////////////////////
- CMD:kaciga(playerid,params[])
- {
- SetPlayerAttachedObject(playerid,0,18645,2,0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1);
- GameTextForPlayer(playerid,"Uspesno si stavio kacigu",2000,3);
- SendClientMessage(playerid,h_BLUE,"[Kaciga_System] > Da skinete kacigu koristite /kacigaoff");
- return 1;
- }
- CMD:kacigaoff(playerid,params[])
- {
- RemovePlayerAttachedObject(playerid,0);
- GameTextForPlayer(playerid,"Uspesno si skinuo kacigu",2000,3);
- return 1;
- }
- ////////////////////////////Da vozac nema gun dok vozi//////////////////////////
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER) return SetPlayerArmedWeapon(playerid,0);
- return 1;
- }
- //
- stock GetName(id)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(id, name, sizeof(name));
- return name;
- }
- //////////////////////////////////////BUS VOZAC POSAO///////////////////////////
- new Zaposlen[MAX_PLAYERS];
- new CP1;
- new CP2;
- new CP3;
- //////////////////////////////////////goto//////////////////////////////////////
- CMD:goto(playerid,params[])
- {
- if(aduty[playerid] == 0) return SCM(playerid,-1,"Nisi na Admin duznosti!");
- if(PlayerInfo[playerid][pAdmin] >=1)
- {
- new id;
- if(sscanf(params,"u",id)) return SCM(playerid,-1,"/goto [ID igraca/Deo imena]");
- if(!IsPlayerConnected(id)) return SCM(playerid,-1,"Igrac nije konektovan!");
- new Float:x,Float:y,Float:z;
- GetPlayerPos(id,x,y,z);
- SetPlayerPos(playerid, x, y, z);
- if(IsPlayerInAnyVehicle(playerid))
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
- }
- }
- return 1;
- }
- ///////////////////////////////////// kick ////////////////////////////////////
- CMD:kick(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] > 0)
- {
- new id,
- reason[16];
- if(sscanf(params, "us[16]", id, reason)) return SendClientMessage(playerid, -1, "/kick <id> <razlog>");
- if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, h_RED, "ID nije konektovan.");
- if(strlen(reason) < 1 || strlen(reason) > 16) return SendClientMessage(playerid, h_RED, "Razlog ne moze biti manji od 1 i vise od 16 karaktera.");
- new str[40+MAX_PLAYER_NAME];
- format(str, sizeof(str), "* Kickovani ste sa servera od strane %s.", GetName(playerid));
- SendClientMessage(id, 0xAAFF00FF, str);
- format(str, sizeof(str), "* Kickovali ste %s sa servera.", GetName(id));
- SendClientMessage(playerid, 0xAAFF00FF, str);
- SetTimerEx("KickPlayer", 200, false, "i", id);
- }
- else SendClientMessage(playerid, h_RED, "Niste ovlasceni.");
- return 1;
- }
- forward KickPlayer(id);
- public KickPlayer(id)
- {
- Kick(id);
- return 1;
- }
- /////////////////////////////////////aduty//////////////////////////////////////
- CMD:adminduty(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] >=1)
- {
- if(aduty[playerid] == 0)
- {
- new str[100];
- format(str,sizeof(str),"Admin %s je na duznosti!",GetName(playerid));
- SCMTA(-1,str);
- SetPlayerHealth(playerid,99);
- SetPlayerArmour(playerid,99);
- aduty[playerid] = 1;
- }
- else if(aduty[playerid] == 1)
- {
- new str1[100];
- format(str1,sizeof(str1),"Admin %s vise nije na duznosti!",GetName(playerid));
- SCMTA(-1,str1);
- SetPlayerHealth(playerid,99);
- SetPlayerArmour(playerid,99);
- aduty[playerid] = 0;
- }
- }
- return 1;
- }
- ///////////////////////////////////// postaviadmina ////////////////////////////
- CMD:postaviadmina(playerid,params[])
- {
- if(IsPlayerAdmin(playerid))
- {
- new targetid,level;
- if(sscanf(params,"ud",targetid,level)) return SCM(playerid,-1,"/postaviadmina [ID igraca/Deo imena] [Admin Level]");
- if(!IsPlayerConnected(targetid)) return SCM(playerid,-1,"Igrac nije na serveru!");
- if(level >5 || level <1) return SCM(playerid,-1,"Najveci admin level je 5, a najmanji 1!");
- new str[100];
- format(str,sizeof(str), "Postavili ste admin level %d igracu %s!", level, GetName(targetid));
- SCM(playerid,-1,str);
- format(str,sizeof(str),"Admin %s te je promovisao na admin level %d!", GetName(playerid), level);
- SCM(targetid,-1,str);
- PlayerInfo[targetid][pAdmin] = level;
- }
- else
- {
- SCM(playerid,-1,"Niste ovlasceni da koristite ovu komandu!");
- }
- return 1;
- }
- ///////////////////////////////////// clearchat ////////////////////////////////
- CMD:clearchat(playerid,params[])
- {
- if(IsPlayerAdmin(playerid))
- {
- for(new i = 0; i < 99; i++) SendClientMessageToAll(-1, " ");
- new str[50+MAX_PLAYER_NAME];
- format(str, sizeof(str), "[SERVER]: Chat je obrisan od strane admina %s!", GetName(playerid));
- SendClientMessageToAll(h_BLUE, str);
- }
- else SendClientMessage(playerid, h_RED, "[SERVER]: Niste ovlasceni da koristite ovu komandu!");
- return 1;
- }
- ///////////////////////////////////// kill /////////////////////////////////////
- CMD:kill(playerid,params[])
- {
- SetPlayerHealth(playerid, 0);
- return 1;
- }
- /////////////////////////////////// jet pack ///////////////////////////////////
- CMD:jpack(playerid,params[])
- {
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
- SCM(playerid,h_BLUE,"[NS:RP] Uzeo si jetpack!");
- }
- else
- {
- SCM(playerid,h_RED,"[NS:RP]Nisi admin!");
- }
- return 1;
- }
- /////////////////////////////// komanda me /////////////////////////////////////
- CMD:me(playerid, params[])
- {
- if(IsPlayerConnected(playerid))
- {
- new
- MeTxT,
- string[180],
- Ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Ime, sizeof(Ime));
- if(sscanf(params, "s", MeTxT)) return SendClientMessage(playerid, h_BLUE, "/me [Text]");
- format(string, sizeof(string), " * %s %s", Ime, MeTxT);
- ProxDetector(30, playerid, string, h_BLUE, h_BLUE, h_BLUE, h_BLUE, h_BLUE);
- }
- return false;
- }
- ///////////////////////////////// komanda do ///////////////////////////////////
- //////////////////////////////// ProxDetector //////////////////////////////////
- stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
- {
- GetPlayerPos(i, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
- {
- SendClientMessage(i, col1, string);
- }
- else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
- {
- SendClientMessage(i, col2, string);
- }
- else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
- {
- SendClientMessage(i, col3, string);
- }
- else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
- {
- SendClientMessage(i, col4, string);
- }
- else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- SendClientMessage(i, col5, string);
- }
- }
- }
- }
- return 1;
- }
- /////////////////////////////////////// Rent System ////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp("/pare", cmdtext, true, 10) == 0)
- {
- GivePlayerMoney(playerid, 20000);
- return 1;
- }
- if(strcmp("/prevoziputnike", cmdtext, true, 10) == 0)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(Zaposlen[playerid] == 0 && GetVehicleModel(vehicleid) 437 || GetVehicleModel(vehicleid) 431
- {
- Zaposlen[playerid] = 1;
- new name[MAX_PLAYER_NAME], string[48];
- GetPlayerName(playerid, name, sizeof(name));
- format(string,sizeof(string,"%s je poceo bus vozaca!", name);
- SCMTA(playerid,string);
- TogglePlayerDinamicRaceCP(playerid,CP1,1);
- }
- else if(Zaposlen[playerid] == 1);
- {
- SCM(playerid,-1,"Vec si zaposlen !");
- }
- else
- {
- SCM(playerid,-1,"Ili nsi u autobusu!");
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterDynamicRaceCP(playerid,checkpointid)
- {
- if(checkpointid == CP1)
- {
- TogglePlayerDynamicRaceCP(playerid,CP1,0);
- TogglePlayerDinamicRaceCP(playerid,CP2,1);
- TogglePlayerDinamicRaceCP(playerid,0);
- SetTimerEx("UnfreezePlayer",3000,false,"d",playerid);
- GameTextForPlayer,"~d~LOADING...",1500,6);
- }
- if(checkpointid == CP2)
- {
- TogglePlayerDynamicRaceCP(playerid,CP2,0);
- TogglePlayerDinamicRaceCP(playerid,CP3,1);
- TogglePlayerDinamicRaceCP(playerid,0);
- SetTimerEx("UnfreezePlayer",3000,false,"d",playerid);
- GameTextForPlayer,"~d~LOADING...",1500,6);
- }
- if(checkopintid == Kraj)
- {
- TogglePlayerAllDynamicRaceCPs(playerid,0);
- Zaposlen[playerid] = 0
- SendClientMessage(playerid,h_BLUE,"Uspesno si prevezao putnike, zaradio si 5000$!");
- GivePlayerMoney(playerid,5000);
- TogglePlayerDinamicRaceCP(playerid,0);
- SetTimerEx("UnfreezePlayer",3000,false,"d",playerid);
- GameTextForPlayer,"~d~UNLOADING...",1500,6);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment