Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Najgore u modot i kreiras folder u scriptfiles
- #define ACTOR_FILE "Aktori/Actor_%d.ini"
- #define MAX_ACTOR 20
- #define DIALOG_ACTOR 564
- #define DIALOG_ACTOR1 565
- #define DIALOG_ACTOR2 566
- // Tamu kaj enum pInfo nekade
- enum ActorsData
- {
- ActorSkinID,
- ActorAnimID,
- Float:ActorPos_X,
- Float:ActorPos_Y,
- Float:ActorPos_Z,
- Float:ActorRotation
- };
- new ActorInfo[MAX_ACTOR][ActorsData];
- new Text3D:Actor3DText[MAX_ACTOR];
- new ActorSkin[sizeof(ActorInfo)];
- // Dialozite
- if(dialogid == DIALOG_ACTOR)
- {
- if(!response) return 1;
- if(response)
- {
- if(strval(inputtext) < 0 && strval(inputtext) > 311) return SPD(playerid, DIALOG_ACTOR, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na skinot za actorot", "Vnesi", "Izlez");
- for(new id = 0; id < MAX_ACTOR; id++)
- {
- new AkterFajl[50];
- format(AkterFajl, sizeof(AkterFajl), ACTOR_FILE, id);
- if(!fexist(AkterFajl))
- {
- new Float:x, Float:y, Float:z, Float:rot;
- ActorInfo[id][ActorSkinID] = strval(inputtext);
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, rot);
- ActorInfo[id][ActorPos_X] = x; ActorInfo[id][ActorPos_Y] = y; ActorInfo[id][ActorPos_Z] = z; ActorInfo[id][ActorRotation] = rot;
- SPD(playerid, DIALOG_ACTOR1, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na animacijata za actorot\n\nPomos:\n0: Nisto\n1: Stav\n2: Rap", "Vnesi", "Izlez");
- break;
- }
- }
- }
- return 1;
- }
- if(dialogid == DIALOG_ACTOR1)
- {
- if(!response) return 1;
- if(response)
- {
- if(strval(inputtext) < 0 || strval(inputtext) > 2) return SPD(playerid, DIALOG_ACTOR1, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na animacijata za actorot\n\nPomos:\n0: Nisto\n1: Stav\n2: Rap", "Vnesi", "Izlez");
- for(new id = 0; id < MAX_ACTOR; id++)
- {
- new AkterFajl[50];
- format(AkterFajl, sizeof(AkterFajl), ACTOR_FILE, id);
- if(!fexist(AkterFajl))
- {
- ActorInfo[id][ActorAnimID] = strval(inputtext);
- SCM(playerid,-1, "{0049FF}INFO:{FFFFFF}Zavrsivte so kreiranje na actorot.");
- SacuvajActore(id);
- ActorSkin[id] = CreateActor(ActorInfo[id][ActorSkinID], ActorInfo[id][ActorPos_X], ActorInfo[id][ActorPos_Y], ActorInfo[id][ActorPos_Z], ActorInfo[id][ActorRotation]);
- SetActorInvulnerable(id, true);
- AkterLabelAnim();
- if(ActorInfo[id][ActorAnimID] == 0)
- {
- ClearActorAnimations(id);
- }
- else if(ActorInfo[id][ActorAnimID] == 1)
- {
- ApplyActorAnimation(id, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1);
- }
- else if(ActorInfo[id][ActorAnimID] == 2)
- {
- ApplyActorAnimation(id, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0);
- }
- break;
- }
- }
- }
- return 1;
- }
- if(dialogid == DIALOG_ACTOR2)
- {
- if(!response) return 1;
- if(response)
- {
- new ImaFajl[50], id = strval(inputtext);
- format(ImaFajl, sizeof(ImaFajl), ACTOR_FILE, id);
- if(!fexist(ImaFajl)) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Pogresen ID na aktorot.");
- DestroyActor(id);
- Delete3DTextLabel(Actor3DText[id]);
- Delete3DTextLabel(Actor3DText[id]);
- Delete3DTextLabel(Actor3DText[id]);
- Delete3DTextLabel(Actor3DText[id]);
- new x;
- format(string, sizeof(string), "{0049FF}INFO:{FFFFFF}Go izbrisavte aktorot so ID %d.", x);
- SCM(playerid, -1, string);
- fremove(ImaFajl);
- }
- return 1;
- }
- // Stavas vo OnGameModeInit
- for(new id = 0; id < MAX_ACTOR; id++)
- {
- new oFile[50];
- format(oFile, sizeof(oFile), ACTOR_FILE, id);
- if(fexist(oFile))
- {
- INI_ParseFile(oFile, "UcitajActore", .bExtra = true, .extra = id);
- ActorSkin[id] = CreateActor(ActorInfo[id][ActorSkinID], ActorInfo[id][ActorPos_X], ActorInfo[id][ActorPos_Y], ActorInfo[id][ActorPos_Z], ActorInfo[id][ActorRotation]);
- if(ActorInfo[id][ActorAnimID] == 0) { ClearActorAnimations(id); }
- else if(ActorInfo[id][ActorAnimID] == 1) { ApplyActorAnimation(id, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); }
- else if(ActorInfo[id][ActorAnimID] == 2) { ApplyActorAnimation(id, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); }
- SetActorInvulnerable(id, true);
- AkterLabelAnim();
- }
- }
- // Stavas nekade kaj stock SacuvajKucu(idkuce)
- forward UcitajActore(GromoJebach, name[], value[]);
- public UcitajActore(GromoJebach, name[], value[])
- {
- INI_Int("ActorSkinID", ActorInfo[GromoJebach][ActorSkinID]);
- INI_Int("ActorAnimID", ActorInfo[GromoJebach][ActorAnimID]);
- INI_Float("ActorPos_X", ActorInfo[GromoJebach][ActorPos_X]);
- INI_Float("ActorPos_Y", ActorInfo[GromoJebach][ActorPos_Y]);
- INI_Float("ActorPos_Z", ActorInfo[GromoJebach][ActorPos_Z]);
- INI_Float("ActorRotation", ActorInfo[GromoJebach][ActorRotation]);
- return 1;
- }
- forward SacuvajActore(GromoJebach);
- public SacuvajActore(GromoJebach)
- {
- new dFile[50];
- format(dFile, sizeof(dFile), ACTOR_FILE, GromoJebach);
- new INI:File = INI_Open(dFile);
- INI_WriteInt(File, "ActorSkinID", ActorInfo[GromoJebach][ActorSkinID]);
- INI_WriteInt(File, "ActorAnimID", ActorInfo[GromoJebach][ActorAnimID]);
- INI_WriteFloat(File, "ActorPos_X", ActorInfo[GromoJebach][ActorPos_X]);
- INI_WriteFloat(File, "ActorPos_Y", ActorInfo[GromoJebach][ActorPos_Y]);
- INI_WriteFloat(File, "ActorPos_Z", ActorInfo[GromoJebach][ActorPos_Z]);
- INI_WriteFloat(File, "ActorRotation", ActorInfo[GromoJebach][ActorRotation]);
- INI_Close(File);
- return 1;
- }
- forward AkterLabelAnim();
- public AkterLabelAnim()
- {
- for(new id = 0; id < MAX_ACTOR; id++)
- {
- new AkterFajl[50];
- format(AkterFajl, sizeof(AkterFajl), ACTOR_FILE, id);
- if(fexist(AkterFajl))
- {
- }
- }
- return 1;
- }
- // Komandite kaj ostanatite
- CMD:kreirajactor(playerid,params[])
- {
- if(gPlayerLogged[playerid] == 0) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste logirani.");
- if(PlayerInfo[playerid][pAdmin] < 1342) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste Ceo/Founder.");
- if(PlayerInfo[playerid][pOnDuty] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste na dolznost.");
- SPD(playerid, DIALOG_ACTOR, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na skinot za actorot", "Vnesi", "Izlez");
- return 1;
- }
- CMD:izbrisiactor(playerid,params[])
- {
- if(gPlayerLogged[playerid] == 0) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste logirani.");
- if(PlayerInfo[playerid][pAdmin] < 1342) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste Ceo/Founder.");
- if(PlayerInfo[playerid][pOnDuty] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste na dolznost.");
- SPD(playerid, DIALOG_ACTOR2, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na actorot koj sakate da go izbrisete", "Vnesi", "Izlez");
- return 1;
- }
- CMD:actorinfo(playerid,params[])
- {
- if(gPlayerLogged[playerid] == 0) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste logirani.");
- if(PlayerInfo[playerid][pAdmin] < 1342) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste Ceo/Founder.");
- if(PlayerInfo[playerid][pOnDuty] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste na dolznost.");
- new i = -1;
- for(new x; x < MAX_ACTOR; x++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, ActorInfo[x][ActorPos_X], ActorInfo[x][ActorPos_Y], ActorInfo[x][ActorPos_Z]))
- {
- i = x;
- break;
- }
- }
- if(i == -1) return SCM(playerid, -1, "{FF4040}GRESKA:{FFFFFF}Ne ste kaj aktorot.");
- new x, string[128];
- format(string, sizeof(string), "{0049FF}INFO:{FFFFFF}Actor ID: %d.", x);
- SCM(playerid, -1, string);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment