Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- fGang
- by Dominik "fabbeN" Fábry
- UPDATE: Tento script je už zastaralý, odporúčam nepoužívať. Možno sa dočkáte aj novej verzie!
- */
- #if defined _fGang_included
- #endinput
- #endif
- #define _fGang_included
- #pragma library fGang
- #include <a_samp>
- #include <dini>
- #define MAX_GANG 100
- #define MAX_GANG_NAME 50
- #define IsPlayerInSphere(%0,%1,%2,%3,%4) IsPlayerInRangeOfPoint(%0,%4,%1,%2,%3)
- enum GENG_INFO
- {
- Ne_Cena,
- Float:Ne_X,
- Float:Ne_Y,
- Float:Ne_Z,
- Ne_Majitel[MAX_GANG_NAME],
- Ne_gDialog,
- Ne_Majitela,
- Plat,
- Text3D:Text,
- Ne_Pickup
- };
- new GangInfo[MAX_GANG][GENG_INFO];
- new CountGang = 0;
- forward OnGangDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
- forward CreateGang(const Ga_Name[], Float:Ga_X, Float:Ga_Y, Float:Ga_Z, Ga_Cena, Ga_gDialog);
- forward OnGangPickUpPickup(playerid, pickupid);
- stock PlayerName(playerid){
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,MAX_PLAYER_NAME);
- return name;
- }
- stock IsGangForSale(Count_Gang){
- new cesta[50];
- format(cesta,150,"%d.txt",Count_Gang);
- if(strcmp("none",dini_Get(cesta,"Owner"), false) == 0) return true;
- return false;
- }
- stock IsPlayerGangOwner(playerid,Count_Gang)
- {
- new cesta[50];
- format(cesta,150,"%d.txt",Count_Gang);
- if(strcmp(PlayerName(playerid),dini_Get(cesta,"Owner"), false) == 0) return true;
- return false;
- }
- public CreateGang(const Ga_Name[], Float:Ga_X, Float:Ga_Y, Float:Ga_Z, Ga_Cena, Ga_gDialog)
- {
- if(CountGang < MAX_GANG)
- {
- format(GangInfo[CountGang][Ne_Majitel], MAX_GANG_NAME, "%s", Ga_Name);
- GangInfo[CountGang][Ne_Cena] = Ga_Cena;
- GangInfo[CountGang][Ne_X] = Ga_X;
- GangInfo[CountGang][Ne_Y] = Ga_Y;
- GangInfo[CountGang][Ne_Z] = Ga_Z;
- GangInfo[CountGang][Ne_gDialog] = Ga_gDialog;
- GangInfo[CountGang][Ne_Majitela] = 0;
- GangInfo[CountGang][Plat] = 0;
- GangInfo[CountGang][Ne_Pickup] = CreatePickup(1313,1,Ga_X,Ga_Y,Ga_Z);
- new s[128];
- format(s,128,"%d.txt",CountGang);
- if(!fexist(s)){
- dini_Create(s);
- dini_Set(s,"Owner","Na Predaj");
- }
- CountGang ++;
- new sx[100];
- format(sx,100,"Gang ,,%s´´\r\nMajiteľ: %s",Ga_Name,dini_Get(s,"Owner"));
- GangInfo[CountGang][Text] = Create3DTextLabel(sx,0xFF0000FF,Ga_X,Ga_Y,Ga_Z+1,50,0);
- } else {
- printf("Bola prekročená hranica gangu %d, a max gangu može byť %d !", CountGang, MAX_GANG);
- }
- }
- public OnGangPickUpPickup(playerid, pickupid)
- {
- for(new g=0;g<CountGang+1;g++)
- {
- if(IsPlayerInSphere(playerid,GangInfo[g][Ne_X],GangInfo[g][Ne_Y],GangInfo[g][Ne_Z],2))
- {
- ShowPlayerDialog(playerid,GangInfo[g][Ne_gDialog],DIALOG_STYLE_LIST,"Gang","Kúpiť gang\nPredať\n","Použít","Nic");
- }
- }
- return 1;
- }
- public OnGangDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- for(new h=0;h<CountGang+1;h++)
- {
- if(dialogid == GangInfo[h][Ne_gDialog])
- {
- if(response == 1)
- {
- if(listitem == 0)
- {
- if(GetPlayerMoney(playerid) < GangInfo[h][Ne_Cena]) return SendClientMessage(playerid, 0xFFFFFFFF, "Máš málo peněz !");
- if(!IsGangForSale(h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento gang už nekto vlastní!");
- new s[128];
- format(s,128,"%d.txt",h);
- dini_Set(s,"Owner",PlayerName(playerid));
- GivePlayerMoney(playerid, -GangInfo[h][Ne_Cena]);
- SendClientMessage(playerid, 0xFFFFFFFF, "Kúpil si si gang!");
- new sx[100];
- format(sx,100,"Gang ,,%d´´\r\nMajiteľ: %s",CountGang,dini_Get(s,"Owner"));
- Update3DTextLabelText(GangInfo[h][Text],0xFF0000FF,sx);
- }
- else if(listitem == 1)
- {
- if(!IsPlayerGangOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento gang není tvůj !");
- new g[128];
- format(g,128,"%d.txt",g);
- dini_Set(g,"Owner","none");
- GivePlayerMoney(playerid, GangInfo[h][Ne_Cena]/2);
- SendClientMessage(playerid, 0xFFFFFFFF, "Gang bol predaný! Bola ti vrátená čiastka");
- }
- }
- }
- }
- return 1;
- }
- //The end :)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement