Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Este FS foi feito por Neto(iTzDemon no forum sa-mp).
- // A sua utilização deverá conter sempre os créditos
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <dof2>
- #define MAX_DROGAS 250
- #define TEMPODROGAS 7200
- #define PASTA "drogas/%d.ini"
- enum Info {
- Dono[24],
- Tempo,
- Tipo,
- Float:X,
- Float:Y,
- Float:Z,
- objecto
- };
- new arquivo[MAX_DROGAS][Info];
- enum pInfo {
- Erva,
- Coca,
- Hero,
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- public OnFilterScriptInit()
- {
- new string[64];
- print("FS por Neto");
- format(string,64,"Arquivos carregados: %d",getarquivos());
- print(string);
- SetTimer("Update",1000,true);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new a = 0; a < MAX_DROGAS; a++)
- {
- if(DOF2_FileExists(Arquivo(a)))
- {
- DOF2_SetInt(Arquivo(a),"Tempo",arquivo[a][Tempo]);
- DOF2_SaveFile();
- }
- }
- DOF2_Exit();
- return 1;
- }
- stock getarquivos()
- {
- new count = 0;
- for(new a = 0; a < MAX_DROGAS; a++)
- {
- if(DOF2_FileExists(Arquivo(a)))
- {
- count++;
- format(arquivo[a][Dono],MAX_PLAYER_NAME,"%s",DOF2_GetString(Arquivo(a),"Dono"));
- arquivo[a][Tempo] = DOF2_GetInt(Arquivo(a),"Tempo");
- arquivo[a][Tipo] = DOF2_GetInt(Arquivo(a),"Tipo");
- arquivo[a][X] = DOF2_GetFloat(Arquivo(a),"X");
- arquivo[a][Y] = DOF2_GetFloat(Arquivo(a),"Y");
- arquivo[a][Z] = DOF2_GetFloat(Arquivo(a),"Z");
- if(arquivo[a][Tempo] == 0) arquivo[a][objecto] = CreateObject(1279, arquivo[a][X], arquivo[a][Y], arquivo[a][Z]-1,0,0,0);
- else arquivo[a][objecto] = CreateObject(823, arquivo[a][X], arquivo[a][Y], arquivo[a][Z],0,0,0);
- }
- }
- return count;
- }
- stock Arquivo(id)
- {
- new sm[32];
- format(sm,sizeof(sm),PASTA,id);
- return sm;
- }
- stock GetPlayerNameEx(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,MAX_PLAYER_NAME);
- return name;
- }
- forward Update();
- public Update()
- {
- for(new a = 0; a < MAX_DROGAS; a++)
- {
- if(DOF2_FileExists(Arquivo(a)))
- {
- if(arquivo[a][Tempo] == 1)
- {
- arquivo[a][Tempo] = 0;
- DOF2_SetInt(Arquivo(a),"Tempo",arquivo[a][Tempo]);
- DestroyObject(arquivo[a][objecto]);
- arquivo[a][objecto] = CreateObject(1279, arquivo[a][X], arquivo[a][Y], arquivo[a][Z]-1,0,0,0);
- }
- else if(arquivo[a][Tempo] > 1) {
- arquivo[a][Tempo]--;
- DOF2_SetInt(Arquivo(a),"Tempo",arquivo[a][Tempo]);
- }
- }
- }
- return 1;
- }
- forward CriarPlanta(playerid,tipo);
- public CriarPlanta(playerid,tipo)
- {
- for(new a = 0; a < MAX_DROGAS; a++)
- {
- if(!DOF2_FileExists(Arquivo(a)))
- {
- DOF2_CreateFile(Arquivo(a));
- format(arquivo[a][Dono],MAX_PLAYER_NAME,"%s",GetPlayerNameEx(playerid));
- arquivo[a][Tempo] = TEMPODROGAS;
- arquivo[a][Tipo] = tipo;
- GetPlayerPos(playerid,arquivo[a][X],arquivo[a][Y],arquivo[a][Z]);
- DOF2_SetString(Arquivo(a),"Dono",arquivo[a][Dono]);
- DOF2_SetInt(Arquivo(a),"Tempo",arquivo[a][Tempo]);
- DOF2_SetInt(Arquivo(a),"Tipo",arquivo[a][Tipo]);
- DOF2_SetFloat(Arquivo(a),"X",arquivo[a][X]);
- DOF2_SetFloat(Arquivo(a),"Y",arquivo[a][Y]);
- DOF2_SetFloat(Arquivo(a),"Z",arquivo[a][Z]);
- arquivo[a][objecto] = CreateObject(823, arquivo[a][X], arquivo[a][Y], arquivo[a][Z],0,0,0);
- DOF2_SaveFile();
- new nomedroga[16],string[128];
- switch(tipo)
- {
- case 0: nomedroga = "Erva";
- case 1: nomedroga = "Cocaina";
- case 2: nomedroga = "Heroina";
- }
- format(string,128,"[Drogas:] Parabens, criaste uma plantação de %s",nomedroga);
- SendClientMessage(playerid,-1,string);
- break;
- }
- }
- return 1;
- }
- forward Colher(playerid);
- public Colher(playerid)
- {
- for(new a = 0; a < MAX_DROGAS; a++)
- {
- if(DOF2_FileExists(Arquivo(a)))
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, arquivo[a][X], arquivo[a][Y], arquivo[a][Z]))
- {
- if(arquivo[a][Tempo] == 0)
- {
- if(!strcmp(GetPlayerNameEx(playerid),arquivo[a][Dono],false))
- {
- new nomedroga[16],string[128],g;
- switch(arquivo[a][Tipo])
- {
- case 0: g = 200,PlayerInfo[playerid][Erva]+=g,nomedroga = "Erva";
- case 1: g = 100,PlayerInfo[playerid][Coca]+=g,nomedroga = "Cocaina";
- case 2: g = 50,PlayerInfo[playerid][Hero]+=g,nomedroga = "Heroina";
- }
- format(string,128,"[Drogas:] Parabens, colheste %d gramas de %s",g,nomedroga);
- SendClientMessage(playerid,-1,string);
- DOF2_RemoveFile(Arquivo(a));
- DestroyObject(arquivo[a][objecto]);
- format(arquivo[a][Dono],24,"");
- arquivo[a][Tempo] = 0;
- arquivo[a][Tipo] = 0;
- arquivo[a][X] = 0;
- arquivo[a][Y] = 0;
- arquivo[a][Z] = 0;
- }
- else SendClientMessage(playerid,-1,"[Drogas:] Essas drogas não são tuas");
- }
- else SendClientMessage(playerid,-1,"[Drogas:] Ainda não podes colher");
- }
- }
- }
- }
- CMD:plantar(playerid,params[])
- {
- new count = 0;
- for(new a = 0; a < MAX_DROGAS; a++) if(DOF2_FileExists(Arquivo(a))) count++;
- if(count > MAX_DROGAS) return SendClientMessage(playerid,-1,"[Drogas:] As plantações estao cheias");
- new tipo;
- if(sscanf(params,"d",tipo)) return SendClientMessage(playerid,-1,"[Drogas:] Escolhe entre 0-Erva 1-Cocaina 2-Heroina");
- CriarPlanta(playerid,tipo);
- return 1;
- }
- CMD:colher(playerid)
- {
- Colher(playerid);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement