Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Filetscript:
- - Dinamicno kreiranje dilera
- Author:
- - Xalazy
- Credits:
- - #XScript2k19
- ** VAZNO **
- Ovo dole PlayerInfo[ playerid ][ x.... ], prebacite u vas GMod ono pod enum, za ucitavanje, cuvanje itd..
- Ovo sam izvadio iz svog moda od 0, #AddidasCommunity
- */
- #include "a_samp"
- #include "streamer"
- #include "sscanf2"
- #include "Pawn.CMD"
- #include "YSI\y_INI"
- //===============================[ DILER SYSTEM ]=============================//
- #define MAX_DILERA 50
- #define DILERI_FILE "/Dileri/lerDi_%d.ini"
- enum lerDiInfo {
- Float:dX,
- Float:dY,
- Float:dZ,
- Float:dA,
- DilerIme[30]
- };
- new DilerInfo[ MAX_DILERA ][ lerDiInfo ], Text3D:DilerLabel[ MAX_DILERA ],
- DilerActor;
- forward LoadujSamperskeNarkomane( dilerid, name[], value[] );
- public LoadujSamperskeNarkomane( dilerid, name[], value[] ) {
- INI_Float( "X", DilerInfo[ dilerid ][ dX ] );
- INI_Float( "Y", DilerInfo[ dilerid ][ dY ] );
- INI_Float( "Z", DilerInfo[ dilerid ][ dZ ] );
- INI_Float( "A", DilerInfo[ dilerid ][ dA ] );
- INI_String( "DilerIme", DilerInfo[ dilerid ][ DilerIme ], 30 );
- return true;
- }
- stock SacuvajDilere( dilerid ) {
- new dFile[50];
- format(dFile, sizeof(dFile), DILERI_FILE, dilerid);
- new INI:File = INI_Open(dFile);
- INI_WriteFloat( File, "X", DilerInfo[ dilerid ][ dX ] );
- INI_WriteFloat( File, "Y", DilerInfo[ dilerid ][ dY ] );
- INI_WriteFloat( File, "Z", DilerInfo[ dilerid ][ dZ ] );
- INI_WriteFloat( File, "A", DilerInfo[ dilerid ][ dA ] );
- INI_WriteInt( File, "DilerIme", DilerInfo[ dilerid ][ DilerIme ] );
- INI_Close(File);
- return true;
- }
- forward DileriLabel( );
- public DileriLabel( ) {
- for(new id = 0; id < MAX_DILERA; id++) {
- new dilerfajl[50];
- format(dilerfajl, sizeof(dilerfajl), DILERI_FILE, id);
- if(fexist(dilerfajl)) {
- new string[75];
- format(string, sizeof(string), "{0070D0}|| {FFFFFF}DILER %s {0070D0}||\n{FFFFFF}- /diler -", DilerInfo[id][DilerIme]);
- DilerLabel[id] = Create3DTextLabel(string, -1, DilerInfo[id][dX], DilerInfo[id][dY], DilerInfo[id][dZ]+1, 10, 0, 1);
- }
- }
- return true;
- }
- stock player_close_dealer( playerid ) {
- new lerDi = 0;
- while(lerDi != MAX_DILERA) {
- if(IsPlayerInRangeOfPoint( playerid, 4.0, DilerInfo[lerDi][dX], DilerInfo[lerDi][dY], DilerInfo[lerDi][dZ])) {
- return lerDi;
- }
- lerDi++;
- }
- return -1;
- }
- enum {
- dialog_DILER,
- dialog_KREIRAJDILERA
- }
- public OnFilterScriptInit() {
- //= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = //
- for(new id = 0; id < MAX_DILERA; id++) {
- new lerDi_File[50];
- format(lerDi_File, sizeof(lerDi_File), DILERI_FILE, id);
- if(fexist(lerDi_File)) {
- INI_ParseFile(lerDi_File, "LoadujSamperskeNarkomane", .bExtra = true, .extra = id);
- DilerActor = CreateActor(29, DilerInfo[id][dX], DilerInfo[id][dY], DilerInfo[id][dZ], DilerInfo[id][dA]);
- ApplyActorAnimation(DilerActor, "PED", "IDLE_CHAT", 4.1, 1, 0, 0, 0, 0);
- SetActorInvulnerable(id, true);
- DileriLabel();
- }
- }
- //= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = //
- return true;
- }
- public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] ) {
- //= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = //
- if( dialogid == dialog_DILER ) {
- if( !response ) return TogglePlayerControllable( playerid, 1 );
- switch(listitem) {
- case 0: {
- GivePlayerMoney(playerid, -50000);
- PlayerInfo[ playerid ][ xNovac ] -=50000; SavePlayer( playerid );
- GivePlayerWeapon(playerid, 30, 90);
- SendClientMessage( playerid, -1, "{0070D0}|| INFO ||: {FFFFFF}Uzeo si od dilera ak47 90ammo za 50.000$ !");
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Buraz, nikome ni reci o ovome jel ti to jasno ??");
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Ako nekome kazes, najebao sam..");
- TogglePlayerControllable( playerid, 1 );
- }
- case 1: {
- PlayerInfo[playerid][xDroga]++;
- GivePlayerMoney(playerid, -500);
- PlayerInfo[ playerid ][ xNovac ] -=500;
- SendClientMessage( playerid, -1, "{0070D0}|| INFO ||: {FFFFFF}Uzeo si od dilera 1g droge i platio 500$ !");
- SavePlayer(playerid);
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Buraz, nikome ni reci o ovome jel ti to jasno ??");
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Ako nekome kazes, najebao sam..");
- TogglePlayerControllable( playerid, 1 );
- }
- case 2: {
- PlayerInfo[playerid][xDzoint]++;
- GivePlayerMoney(playerid, -700);
- PlayerInfo[ playerid ][ xNovac ] -=700;
- SendClientMessage( playerid, -1, "{0070D0}|| INFO ||: {FFFFFF}Uzeo si od dilera dzoint i platio 700$ ! (/smotajdzoint)");
- SavePlayer(playerid);
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Buraz, nikome ni reci o ovome jel ti to jasno ??");
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Ako nekome kazes, najebao sam..");
- TogglePlayerControllable( playerid, 1 );
- }
- case 3: {
- GivePlayerMoney(playerid, -5000);
- GivePlayerWeapon(playerid, 24, 50);
- PlayerInfo[ playerid ][ xNovac ] -=50; SavePlayer( playerid );
- SendClientMessage( playerid, -1, "{0070D0}|| INFO ||: {FFFFFF}Uzeo si od dilera deagle 50ammo za 5.000$ !");
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Buraz, nikome ni reci o ovome jel ti to jasno ??");
- SendClientMessage(playerid, 0xC2A2DAAA, "Diler: Ako nekome kazes, najebao sam..");
- TogglePlayerControllable( playerid, 1 );
- }
- }
- return true;
- }
- //= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = //
- if(dialogid == dialog_KREIRAJDILERA) {
- if(!response) return true;
- if(response) {
- for(new id = 0; id < MAX_DILERA; id++) {
- new dilerfajl[50];
- format(dilerfajl, sizeof(dilerfajl), DILERI_FILE, id);
- if(!fexist(dilerfajl)) {
- new Float:x, Float:y, Float:z, Float:rot;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, rot);
- DilerInfo[id][dX] = x; DilerInfo[id][dY] = y; DilerInfo[id][dZ] = z; DilerInfo[id][dA] = rot;
- new dilerimelabel[30];
- if(sscanf(inputtext, "s[30]", dilerimelabel)) return SendClientMesasge( playerid, -1, "Greska: Upisite ime dilera !" );
- strmid(DilerInfo[id][DilerIme], dilerimelabel, 0, strlen(dilerimelabel), 50);
- SendClientMessage(playerid, -1, "Završili ste kreiranje Actor-a.");
- DilerActor = CreateActor(29, DilerInfo[id][dX], DilerInfo[id][dY], DilerInfo[id][dZ], DilerInfo[id][dA]);
- SacuvajDilere(id);
- SetActorInvulnerable(id, true);
- DileriLabel();
- break;
- }
- }
- }
- }
- //= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = //
- return true;
- }
- CMD:kreirajdilera( playerid, params[] ) {
- if( !IsPlayerAdmin( playerid )) return SendClientMessage( playerid, -1, "{0070D0}|| GRESKA ||: {FFFFFF}Moras biti RCON Admin !" );
- SPD( playerid, dialog_KREIRAJDILERA, DSI, "{0070D0}Diler - {FFFFFF}Kreiranje Dilera", "{0070D0}- {FFFFFF}U prazno polje ispod unesite ime za dilera.", "{0070D0}Potvrdi", "Izlaz" );
- return true;
- }
- CMD:diler( playerid, params[] ) {
- if( player_close_dealer( playerid ) == -1 ) return SendClientMessage( playerid, -1, "{0070D0}|| GRESKA ||: {FFFFFF}Niste u blizini ni jednog dilera." );
- SPD( playerid, dialog_DILER, DSL, "{0070D0}Diler - {FFFFFF}Dilujte sa dilerom", "{0070D0}- {FFFFFF}Ak47 (50.000$) (90ammo)\n{0070D0}- {FFFFFF}Droga (500$) (1)\n{0070D0}- {FFFFFF}Dzoint\n{0070D0}- {FFFFFF}Desert Eagle (5.000$) (50ammo)", "{0070D0}Potvrdi", "Izlaz" );
- TogglePlayerControllable( playerid, 0 );
- return true;
- }
- CMD:smotajdzoint( playerid, params[] ) {
- if( PlayerInfo[ playerid ][ xDzoint ] == 0 ) return SendClientMessage( playerid, -1, "{0070D0}|| GRESKA ||: {FFFFFF}Nemas dzoint." );
- SendClientMessage( playerid, -1, "Uspesno motas dzoint, sacekaj par sekundi." );
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement