Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define DINI_MAX_STRING 255
- #define SendPlayerCommand OnPlayerCommandText
- new Menu:licensemenu;
- new playerfile[256];
- new pname[MAX_PLAYER_NAME];
- enum cInfo{Car}; new LicenseInfo[MAX_PLAYERS][cInfo];
- public OnFilterScriptInit()
- {
- licensemenu = CreateMenu("Select an option", 1, 50.0, 180.0, 200.0, 200.0);
- AddMenuItem(licensemenu, 0, "Patent per makin- $50");
- AddStaticPickup(1239, 23, 361.8299,173.6111,1008.3828, 0);
- Create3DTextLabel("Patentat\nShkruaj /blejpatent per te blere patentin.",0x33CCFFAA,361.8299,173.6111,1008.3828,40.0,0);
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/patentat", cmdtext, true, 10) == 0)
- {
- SendClientMessage(playerid,-1, "{FF0000}Per te blere patent shko ne {0000FF}City Hall {00FFFF}( /cityhall ) {FF00FF}dhe mandej shko bleje patentin {FFFFFF}/blejpatent");
- return 1;
- }
- if (strcmp("/blejpatent", cmdtext, true, 10) == 0) {
- if(!IsPlayerInRangeOfPoint(playerid, 3.0, 361.8299,173.6111,1008.3828)){SendClientMessage(playerid, 0xAA3333AA, "Ti duhet te jesh ne City Hall per te bler 1 patent!"); return 1;}
- ShowMenuForPlayer(licensemenu, playerid);
- return 1;} return 0;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Licenses/%s.ini",pname);
- dini_IntSet(playerfile, "Car License", LicenseInfo[playerid][Car]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Licenses/%s.ini",pname);
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Licenses/%s.ini",pname);
- LicenseInfo[playerid][Car] = dini_Int(playerfile, "Car License");
- return 1;
- }
- // Method 2
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(LicenseInfo[playerid][Car] < 1)
- {
- SendClientMessage(playerid, 0xFF6347AA, "Ti nuk ke patent , lexo /patentat per me shum !!");
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid, true);
- // Syncing purpose
- new Float: rPos[4], rPosEx[2];
- GetPlayerPos(playerid, rPos[0], rPos[1], rPos[2]);
- GetPlayerFacingAngle(playerid, rPos[3]);
- rPosEx[0] = GetPlayerInterior(playerid);
- rPosEx[1] = GetPlayerVirtualWorld(playerid);
- PutPlayerInVehicle(playerid, 0, 0);
- SetPlayerPos(playerid, rPos[0], rPos[1], rPos[2]);
- SetPlayerFacingAngle(playerid, rPos[3]);
- SetPlayerInterior(playerid, rPosEx[0]);
- SetPlayerVirtualWorld(playerid, rPosEx[1]);
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- HideMenuForPlayer(licensemenu, playerid);
- new Menu:current;
- current = GetPlayerMenu(playerid);
- if(current == licensemenu) {
- switch(row) {
- case 0:
- {
- if(GetPlayerMoney(playerid) < 50)
- {
- SendClientMessage(playerid, 0xFF6347AA, "Ti nuk mundesh ta perballosh patentin!");
- return 1;
- }
- LicenseInfo[playerid][Car] = 1;
- GivePlayerMoney(playerid, - 50);
- SendClientMessage(playerid, 0x33CCFFAA, "Ti bleve nje patent!");
- LicenseInfo[playerid][Car] = 1;
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Licenses/%s.ini",pname);
- dini_Set(playerfile, "Car License", LicenseInfo[playerid][Car]);
- }
- //case 1:
- //{
- //}
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- /*
- * DINI BY DRACOBLUE *
- */
- stock dini_Exists(filename[]) {
- return fexist(filename);
- }
- stock dini_Remove(filename[]) {
- return fremove(filename);
- }
- stock dini_Create(filename[]) {
- if (fexist(filename)) return false;
- new File:fhnd;
- fhnd=fopen(filename,io_write);
- if (fhnd) {
- fclose(fhnd);
- return true;
- }
- return false;
- }
- stock dini_Set(filename[],key[],value[]) {
- new key_length = strlen(key);
- new value_length = strlen(value);
- if (key_length==0 || key_length+value_length+2>DINI_MAX_STRING) return false;
- new File:fohnd, File:fwhnd;
- new tmpres[DINI_MAX_STRING];
- new bool:wasset=false;
- format(tmpres,sizeof(tmpres),"%s.part",filename);
- fremove(tmpres);
- fohnd=fopen(filename,io_read);
- if (!fohnd) return false;
- fwhnd=fopen(tmpres,io_write);
- if (!fwhnd) {
- fclose(fohnd);
- return false;
- }
- while (fread(fohnd,tmpres)) {
- if (
- !wasset
- && tmpres[key_length]=='='
- && !strcmp(tmpres, key, true, key_length)
- ) {
- format(tmpres,sizeof(tmpres),"%s=%s",key,value);
- wasset=true;
- } else {
- DINI_StripNewLine(tmpres);
- }
- fwrite(fwhnd,tmpres);
- fwrite(fwhnd,"\r\n");
- }
- if (!wasset) {
- format(tmpres,sizeof(tmpres),"%s=%s",key,value);
- fwrite(fwhnd,tmpres);
- fwrite(fwhnd,"\r\n");
- }
- fclose(fohnd);
- fclose(fwhnd);
- format(tmpres,sizeof(tmpres),"%s.part",filename);
- if (DINI_fcopytextfile(tmpres,filename)) {
- return fremove(tmpres);
- }
- return false;
- }
- stock dini_IntSet(filename[],key[],value) {
- new valuestring[DINI_MAX_STRING];
- format(valuestring,DINI_MAX_STRING,"%d",value);
- return dini_Set(filename,key,valuestring);
- }
- stock dini_Int(filename[],key[]) {
- return strval(dini_Get(filename,key));
- }
- stock dini_FloatSet(filename[],key[],Float:value) {
- new valuestring[DINI_MAX_STRING];
- format(valuestring,DINI_MAX_STRING,"%f",value);
- return dini_Set(filename,key,valuestring);
- }
- stock Float:dini_Float(filename[],key[]) {
- return floatstr(dini_Get(filename,key));
- }
- stock dini_Bool(filename[],key[]) {
- return strval(dini_Get(filename,key));
- }
- stock dini_BoolSet(filename[],key[],value) {
- if (value) {
- return dini_Set(filename,key,"1");
- }
- return dini_Set(filename,key,"0");
- }
- stock dini_Unset(filename[],key[]) {
- new key_length = strlen(key);
- if (key_length==0 || key_length+2>DINI_MAX_STRING) return false;
- new File:fohnd, File:fwhnd;
- new tmpres[DINI_MAX_STRING];
- format(tmpres,DINI_MAX_STRING,"%s.part",filename);
- fremove(tmpres);
- fohnd=fopen(filename,io_read);
- if (!fohnd) return false;
- fwhnd=fopen(tmpres,io_write);
- if (!fwhnd) {
- fclose(fohnd);
- return false;
- }
- while (fread(fohnd,tmpres)) {
- if (
- tmpres[key_length]=='='
- && !strcmp(tmpres, key, true, key_length)
- ) {
- } else {
- DINI_StripNewLine(tmpres);
- fwrite(fwhnd,tmpres);
- fwrite(fwhnd,"\r\n");
- }
- }
- fclose(fohnd);
- fclose(fwhnd);
- format(tmpres,DINI_MAX_STRING,"%s.part",filename);
- if (DINI_fcopytextfile(tmpres,filename)) {
- return fremove(tmpres);
- }
- return false;
- }
- stock dini_Get(filename[],key[]) {
- new tmpres[DINI_MAX_STRING];
- new key_length = strlen(key);
- if (key_length==0 || key_length+2>DINI_MAX_STRING) return tmpres;
- new File:fohnd;
- fohnd=fopen(filename,io_read);
- if (!fohnd) return tmpres;
- while (fread(fohnd,tmpres)) {
- if (
- tmpres[key_length]=='='
- && !strcmp(tmpres, key, true, key_length)
- ) {
- DINI_StripNewLine(tmpres);
- strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), DINI_MAX_STRING);
- fclose(fohnd);
- return tmpres;
- }
- }
- fclose(fohnd);
- return tmpres;
- }
- stock dini_Isset(filename[],key[]) {
- new key_length = strlen(key);
- if (key_length==0 || key_length+2>DINI_MAX_STRING) return false;
- new File:fohnd;
- fohnd=fopen(filename,io_read);
- if (!fohnd) return false;
- new tmpres[DINI_MAX_STRING];
- while (fread(fohnd,tmpres)) {
- if (
- tmpres[key_length]=='='
- && !strcmp(tmpres, key, true, key_length)
- ) {
- fclose(fohnd);
- return true;
- }
- }
- fclose(fohnd);
- return false;
- }
- stock DINI_StripNewLine(string[]) {
- new len = strlen(string);
- if (string[0]==0) return ;
- if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
- string[len - 1] = 0;
- if (string[0]==0) return ;
- if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
- }
- }
- stock DINI_fcopytextfile(oldname[],newname[]) {
- new File:ohnd,File:nhnd;
- if (!fexist(oldname)) return false;
- ohnd=fopen(oldname,io_read);
- if (!ohnd) return false;
- nhnd=fopen(newname,io_write);
- if (!nhnd) {
- fclose(ohnd);
- return false;
- }
- new tmpres[DINI_MAX_STRING];
- while (fread(ohnd,tmpres)) {
- DINI_StripNewLine(tmpres);
- format(tmpres,sizeof(tmpres),"%s\r\n",tmpres);
- fwrite(nhnd,tmpres);
- }
- fclose(ohnd);
- fclose(nhnd);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement