Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_ini>
- #include <zcmd>
- #include <sscanf2>
- #define PATH "/Korisnici/%s.ini"
- #define crvena "{FF0000}"
- #define plava "{0BE9F4}"
- #define SCM SendClientMessage
- #define MAX_SLOTS 3
- enum pInfo
- {
- pAdmin,
- pVozilo[MAX_SLOTS]
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
- new str[24];
- for(new i=0;i<MAX_SLOTS;i++)
- {
- format(str,sizeof(str),"Vozilo%d",i);
- INI_Int(str,PlayerInfo[playerid][pVozilo][i]);
- }
- return 1;
- }
- GetName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); return name; }
- SacuvajIgraca(playerid)
- {
- new str[40];
- format(str,sizeof(str),PATH,GetName(playerid));
- new INI:File = INI_Open(str);
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- for(new i=0;i<MAX_SLOTS;i++)
- {
- format(str,sizeof(str),"Vozilo%d",i);
- INI_WriteInt(File,str,PlayerInfo[playerid][pVozilo][i]);
- }
- INI_Close(File);
- return 1;
- }
- //------------------------------------------------------------------------------
- #define MAX_VOZILA 500
- #define VPATH "/Vozila/%d.ini"
- enum vInfo
- {
- vID,
- vModel,
- Float:vX,
- Float:vY,
- Float:vZ,
- Float:vAZ,
- vCol[2]
- }
- new VoziloInfo[MAX_VOZILA][vInfo];
- forward LoadVozilo(id,name[],value[]);
- public LoadVozilo(id,name[],value[])
- {
- INI_Int("Model",VoziloInfo[id][vModel]);
- INI_Float("X",VoziloInfo[id][vX]);
- INI_Float("Y",VoziloInfo[id][vY]);
- INI_Float("Z",VoziloInfo[id][vZ]);
- INI_Float("AZ",VoziloInfo[id][vAZ]);
- INI_Int("Color1",VoziloInfo[id][vCol][0]);
- INI_Int("Color2",VoziloInfo[id][vCol][1]);
- return 1;
- }
- SacuvajVozilo(id)
- {
- new str[40];
- format(str,sizeof(str),VPATH,id);
- new INI:File = INI_Open(str);
- INI_SetTag(File,"vozilo");
- INI_WriteInt(File,"Model",VoziloInfo[id][vModel]);
- INI_WriteFloat(File,"X",VoziloInfo[id][vX]);
- INI_WriteFloat(File,"Y",VoziloInfo[id][vY]);
- INI_WriteFloat(File,"Z",VoziloInfo[id][vZ]);
- INI_WriteFloat(File,"AZ",VoziloInfo[id][vAZ]);
- INI_WriteInt(File,"Color1",VoziloInfo[id][vCol][0]);
- INI_WriteInt(File,"Color2",VoziloInfo[id][vCol][1]);
- INI_Close(File);
- return 1;
- }
- VoziloPath(id)
- {
- new str[40];
- format(str,sizeof(str),VPATH,id);
- return str;
- }
- UcitajVozila()
- {
- new x;
- for(new i=0;i<MAX_VOZILA;i++)
- {
- if(fexist(VoziloPath(i)))
- {
- INI_ParseFile(VoziloPath(i), "LoadVozilo", .bExtra = true, .extra = i);
- VoziloInfo[i][vID] = CreateVehicle(VoziloInfo[i][vModel],VoziloInfo[i][vX],VoziloInfo[i][vY],VoziloInfo[i][vZ],VoziloInfo[i][vAZ],VoziloInfo[i][vCol][0],VoziloInfo[i][vCol][1],5000);
- x++;
- }
- }
- printf("Ucitano %d vozila!",x);
- return 1;
- }
- main()
- {
- print("\n----------------------------------");
- print(" Vehicle Owner Ship system");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("VOS");
- AddPlayerClass(0, 0.0, 0.0, 5.0, 0.0, 0, 0, 0, 0, 0, 0);
- UcitajVozila();
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 0.0, 0.0, 5.0);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerInfo[playerid][pAdmin] = 0;
- for(new i=0;i<MAX_SLOTS;i++) { PlayerInfo[playerid][pVozilo][i] = -1; }
- new str[40];
- format(str,sizeof(str),PATH,GetName(playerid));
- if(fexist(str))
- {
- INI_ParseFile(str, "LoadUser_%s", .bExtra = true, .extra = playerid);
- }
- else
- {
- SacuvajIgraca(playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SacuvajIgraca(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- CMD:kreirajvozilo(playerid,params[])
- {
- new model,col1,col2;
- if(sscanf(params,"ddd",model,col1,col2)) return SCM(playerid,-1,""crvena"/kreirajvozilo [model][boja 1][boja 2]");
- if(!IsPlayerConnected(playerid)) return 1;
- if(model < 400 || model > 611) return 1;
- new id = -1;
- for(new i=0;i<MAX_VOZILA;i++)
- {
- if(!fexist(VoziloPath(i))) { id = i; break; }
- }
- if(id == -1) return SCM(playerid,-1,""crvena"Nema vise mijesta za nova vozila!");
- new Float:x,Float:y,Float:z,Float:az;
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid,az);
- VoziloInfo[id][vModel] = model;
- VoziloInfo[id][vX] = x;
- VoziloInfo[id][vY] = y;
- VoziloInfo[id][vZ] = z;
- VoziloInfo[id][vAZ] = az;
- VoziloInfo[id][vCol][0] = col1;
- VoziloInfo[id][vCol][1] = col2;
- VoziloInfo[id][vID] = CreateVehicle(VoziloInfo[id][vModel],VoziloInfo[id][vX],VoziloInfo[id][vY],VoziloInfo[id][vZ],VoziloInfo[id][vAZ],VoziloInfo[id][vCol][0],VoziloInfo[id][vCol][1],5000);
- SacuvajVozilo(id);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment