Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include "sscanf2"
- #include "dini"
- #define MAX_SZEF 200
- enum r_szef{
- Float:szX,
- Float:szY,
- Float:szZ,
- Float:szROT,
- Pass[24],
- Object,
- Text3D:sztext,
- Nyitva,
- Frakcio,
- Penz
- }
- new xfact[MAX_PLAYERS];
- new xjelsz[MAX_PLAYERS][24];
- new objectke[MAX_PLAYERS];
- new szfile[128];
- new szInfo[MAX_SZEF][r_szef];
- new szefid;
- CMD:ujszef(playerid,params[]){
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xff0000AA,"»Nem vagy admin !");
- new szoveg[24],fid;
- if(sscanf(params, "s[24]d",szoveg,fid)) return SendClientMessage(playerid,0xff0000AA,"» Használat /újszéf » jelszó « » frakció id «");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- objectke[playerid] = CreateObject(2332, x, y, z, 0.0, 0.0, 96.0);
- EditObject(playerid, objectke[playerid]);
- format(xjelsz[playerid], 24, "%s", szoveg);
- SendClientMessage(playerid,0xff0000AA,"» A kamera mozgatásához nyomd meg a SPACE gombot«");
- return 1;
- }
- CMD:szefpenz(playerid,params[])
- {
- for(new i; i < MAX_SZEF; i ++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
- {
- if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Először nyissd ki! ");
- //if(GetPVarInt(playerid,"CurSafe") != i) return SendClientMessage(playerid,0xff0000AA,"» Először írd be a jelszót » /szefjelszo «");
- new string[128];
- format(string,sizeof(string),"A széfben lévő pénz: %d$",szInfo[i][Penz]);
- SendClientMessage(playerid,0xFFFFFFAA,string);
- }
- }
- return 1;
- }
- CMD:szefkivesz(playerid,params[])
- {
- new szoveg;
- if(sscanf(params, "d",szoveg)) return SendClientMessage(playerid,0xff0000AA,"» Használat /széfkivesz » összeg «");
- for(new i; i < MAX_SZEF; i ++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
- {
- if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Először nyissd ki! ");
- //if(GetPVarInt(playerid,"CurSafe") != i) return SendClientMessage(playerid,0xff0000AA,"» Először írd be a jelszót » /szefjelszo «");
- if(szInfo[i][Penz] < szoveg) return SendClientMessage(playerid,0xff0000AA,"»Nincs ennyi pénz a széfben!");
- if(szoveg < 1) return SendClientMessage(playerid,0xff0000AA,"» Ne is próbálkozz !");
- szInfo[i][Penz] -= szoveg;
- new string[128];
- format(string,sizeof(string),"Sikeresen kivettél %d$-t",szoveg);
- SendClientMessage(playerid,0xff0000AA,string);
- GivePlayerMoney(playerid,szoveg);
- }
- }
- return 1;
- }
- CMD:szefbetesz(playerid,params[])
- {
- new szoveg;
- if(sscanf(params, "d",szoveg)) return SendClientMessage(playerid,0xff0000AA,"» Használat /széfbetesz » összeg «");
- for(new i; i < MAX_SZEF; i ++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
- {
- if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Először nyissd ki! ");
- //if(GetPVarInt(playerid,"CurSafe") != i) return SendClientMessage(playerid,0xff0000AA,"» Először írd be a jelszót » /szefjelszo «");
- if(GetPlayerMoney(playerid) < szoveg) return SendClientMessage(playerid,0xff0000AA,"» Nincs ennyi pénzed !");
- if(szoveg < 1) return SendClientMessage(playerid,0xff0000AA,"» Ne is próbálkozz !");
- szInfo[i][Penz] += szoveg;
- new string[128];
- format(string,sizeof(string),"Sikeresen betettél %d$-t",szoveg);
- SendClientMessage(playerid,0xff0000AA,string);
- GivePlayerMoney(playerid,-szoveg);
- }
- }
- return 1;
- }
- CMD:szefnyit(playerid,params[])
- {
- new szoveg[24];
- if(sscanf(params, "s[24]",szoveg)) return SendClientMessage(playerid,0xff0000AA,"» Használat /szefjelszo » jelszó «");
- for(new i; i < MAX_SZEF; i ++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
- {
- if(szInfo[i][Nyitva] == 1) return SendClientMessage(playerid,0xff0000AA,"» Már ki van nyitva! ");
- if(!strcmp(szInfo[i][Pass],szoveg,false))
- {
- SendClientMessage(playerid,-1,"» Sikeresen beírtad a jelszót!");
- szInfo[i][Nyitva] = 1;
- Update3DTextLabelText(szInfo[i][sztext], 0x008080FF, "Széf\n{00ff3c}Nyitva");
- DestroyObject(szInfo[i][Object] );
- szInfo[i][Object] = CreateObject(1829, szInfo[i][szX],szInfo[i][szY], szInfo[i][szZ], 0.0, 0.0, szInfo[i][szROT]);
- }else{
- SendClientMessage(playerid,-1,"» Hibás jelszó !");
- }
- }
- }
- return 1;
- }
- CMD:szefzar(playerid,params[])
- {
- for(new i; i < MAX_SZEF; i ++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, szInfo[i][szX], szInfo[i][szY], szInfo[i][szZ]))
- {
- if(szInfo[i][Nyitva] == 0) return SendClientMessage(playerid,0xff0000AA,"» Már be van zárva! ");
- SendClientMessage(playerid,-1,"» Sikeresen bezártad a széfet!");
- szInfo[i][Nyitva] = 0;
- Update3DTextLabelText(szInfo[i][sztext], 0x008080FF, "Széf\n{ff0000}Zárva");
- DestroyObject(szInfo[i][Object] );
- szInfo[i][Object] = CreateObject(2332, szInfo[i][szX],szInfo[i][szY], szInfo[i][szZ], 0.0, 0.0, szInfo[i][szROT]);
- }
- }
- return 1;
- }
- public OnGameModeInit(){
- for(new i; i < MAX_SZEF; i ++){
- LoadSafe(i);
- }
- return 1;
- }
- public OnGameModeExit(){
- for(new i; i < MAX_SZEF; i ++){
- SaveSafe(i);
- }
- return 1;
- }
- public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
- {
- if(response == EDIT_RESPONSE_FINAL)
- {
- CreateSzef(xjelsz[playerid],0,fX, fY, fZ,fRotZ,xfact[playerid]);
- DestroyObject(objectke[playerid]);
- xfact[playerid] = 0;
- }
- if(response == EDIT_RESPONSE_UPDATE)
- {
- }
- if(response == EDIT_RESPONSE_CANCEL)
- {
- DestroyObject(objectke[playerid]);
- }
- }
- stock LoadSafe(xszefid)
- {
- format(szfile, sizeof(szfile), "Szefek/%d.ini", xszefid);
- if(dini_Exists(szfile))
- {
- szInfo[xszefid][Frakcio] = dini_Int(szfile, "Frakció");
- szInfo[xszefid][Penz] = dini_Int(szfile, "Tartalom");
- szInfo[xszefid][Nyitva] = dini_Int(szfile, "Zár");
- szInfo[xszefid][szX] = dini_Float(szfile, "X");
- szInfo[xszefid][szY] = dini_Float(szfile, "Y");
- szInfo[xszefid][szZ] = dini_Float(szfile, "Z");
- szInfo[xszefid][szROT] = dini_Float(szfile, "ROT");
- format(szInfo[xszefid][Pass], 24, "%s", dini_Get(szfile, "jelszó"));
- if(szInfo[xszefid][Nyitva] == 0){
- szInfo[xszefid][sztext] = Create3DTextLabel("Széf\n{ff0000}Zárva", 0x008080FF, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ]+1, 40.0, 0, 0);
- szInfo[xszefid][Object] = CreateObject(2332, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ], 0.0, 0.0, szInfo[xszefid][szROT]);
- }else{
- szInfo[xszefid][sztext] = Create3DTextLabel("Széf\n{00ff3c}Nyitva", 0x008080FF, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ]+1, 40.0, 0, 0);
- szInfo[xszefid][Object] = CreateObject(1829, szInfo[xszefid][szX],szInfo[xszefid][szY], szInfo[xszefid][szZ], 0.0, 0.0, szInfo[xszefid][szROT]);
- }
- szefid++;//
- printf("%d széf betöltve",xszefid);
- }
- }
- stock SaveSafe(xszefid)
- {
- format(szfile, sizeof(szfile), "Szefek/%d.ini", xszefid);
- if(dini_Exists(szfile))
- {
- dini_IntSet(szfile, "Frakció", szInfo[xszefid][Frakcio]);
- dini_IntSet(szfile, "Zár", szInfo[xszefid][Nyitva]);
- dini_IntSet(szfile, "Tartalom", szInfo[xszefid][Penz]);
- dini_FloatSet(szfile, "X", szInfo[xszefid][szX]);
- dini_FloatSet(szfile, "Y", szInfo[xszefid][szY]);
- dini_FloatSet(szfile, "Z", szInfo[xszefid][szZ]);
- dini_FloatSet(szfile, "ROT", szInfo[xszefid][szROT]);
- dini_Set(szfile, "Pass", szInfo[xszefid][Pass]);
- }
- }
- stock CreateSzef(jelsz[],xPenz,Float:X,Float:Y,Float:Z,Float:ROT,frakc)
- {
- szefid++;
- format(szfile, sizeof(szfile), "Szefek/%d.ini", szefid);
- dini_Create(szfile);
- szInfo[szefid][Frakcio] = frakc;
- szInfo[szefid][Nyitva] = 0;
- szInfo[szefid][szX] = X;
- szInfo[szefid][szY] = Y;
- szInfo[szefid][szZ] = Z;
- szInfo[szefid][szROT] = ROT;
- szInfo[szefid][Penz] = xPenz;
- szInfo[szefid][Object] = CreateObject(2332, X, Y, Z, 0.0, 0.0, ROT);
- szInfo[szefid][sztext] = Create3DTextLabel("Széf\n{ff0000}Zárva", 0x008080FF, X, Y, Z+2, 40.0, 0, 0);
- format(szInfo[szefid][Pass], 24, "%s", jelsz);
- SaveSafe(szefid);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement