Započeo Hulk.png
•22. Avg. 2018.• ZaključanoKreiranje Actora sa Animacijama i Labelima
4,481
pregleda
22
postova
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
374
Postovi:
43
Teme:
Pridružio se:Maj 2017
22. Avg. 2018.
Dobar dan jos jednom svima 😛 😛 😛 😎
Evo jos jedan Tutorial od mene: Kreiranje Actora InGame sa animacijama i labelima
Evo jos jedan Tutorial od mene: Kreiranje Actora InGame sa animacijama i labelima
Pa da krenemo prvo sta moramo da definisemo su include
#include
#include
Sad include za komande onaj koji vi najvise volite ja koristim Pawn.CMDDrugi korak je definisanje enuma za cuvanje aktora, file u koji ce se spremati i dialoge...
#define MAX_ACTOR 50 // Max actora koliko mozete kreirati ingame
#define ACTOR_FILE "Aktori/Actor_%d.ini" // Folder u koji ce se spremati Actori
enum ActorsData
{
ActorIme,
ActorSkinID,
ActorAnimID,
Float:APos_X,
Float:APos_Y,
Float:APos_Z,
Float:APos_Rot,
ActorID
};
new ActorInfo;
new Text3D:Actor3DText; // Define koji ce nam trebati za Label Actora
#define D_NAPRAVIACTORA 1 // Vi ovaj broj stavite koji vama nije definisan dialog
#define D_ACTORANIM 2
#define D_ACTORIMELABEL 3Ovo dodajte pod OnGameModeInit to ce vam sluziti za ucitavanje Actora, Labela i Animacija
for(new id = 0; id < MAX_ACTOR; id++)
{
new actorFile;
format(actorFile, sizeof(actorFile), ACTOR_FILE, id);
if(fexist(actorFile))
{
INI_ParseFile(actorFile, "UcitajActore", .bExtra = true, .extra = id);
ActorInfo = CreateActor(ActorInfo, ActorInfo, ActorInfo, ActorInfo, ActorInfo);
if(ActorInfo == 0) { ClearActorAnimations(ActorInfo);} // Animacija koja ne radi nista odnosno nema je
else if(ActorInfo == 1) { ApplyActorAnimation(ActorInfo, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); } // Ostale animacije koje ce actori izvoditi kada ih kreirate
else if(ActorInfo == 2) { ApplyActorAnimation(ActorInfo, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); } // Vi ih mozete dodati jos
else if(ActorInfo == 3) { ApplyActorAnimation(ActorInfo, "PED", "IDLE_CHAT", 4.1, 1, 0, 0, 0, 0); }
SetActorInvulnerable(id, true);
Actors3DText();
}
}Sljedece pravimo dialoge kojima ce mo kreirati Actora, izvinite nisam mogao sve objasniti zato ga ni nisam napravio prije, a trazili ste ZURI8.... 😛
if(dialogid == D_NAPRAVIACTORA)
{
if(!response) return 1;
if(response)
{
if(strval(inputtext) < 0 && strval(inputtext) > 311) return SPD(playerid, D_NAPRAVIACTORA, DSI, "Kreiraj Actora", "Upisite ID skina za Actor-a:", "Napravi", "Zatvori");
for(new id = 0; id < MAX_ACTOR; id++)
{
new actorfilee;
format(actorfilee, sizeof(actorfilee), ACTOR_FILE, id);
if(!fexist(actorfilee))
{
new Float:x, Float:y, Float:z, Float:rot;
ActorInfo = strval(inputtext);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, rot);
ActorInfo = x; ActorInfo = y; ActorInfo = z; ActorInfo = rot;
SPD(playerid, D_ACTORANIM, DSI, "Kreiraj Actora", "Upisite ID animacije za Actor-a:\n\nNazivi animacija:\n0. Bez animacije\n1. Stav\n2. Rep\n3. Chat", "Napravi", "Zatvori");
break;
}
}
}
}
if(dialogid == D_ACTORANIM)
{
if(!response) return 1;
if(response)
{
if(strval(inputtext) < 0 || strval(inputtext) > 3) return SPD(playerid, D_ACTORANIM, DSI, "Kreiraj Actora", "Upisite ID animacije za Actor-a:\n\nNazivi animacija:\n0. Bez animacije\n1. Stav\n2. Rep\n3. Chat", "Napravi", "Zatvori");
for(new id = 0; id < MAX_ACTOR; id++)
{
new actorfille;
format(actorfille, sizeof(actorfille), ACTOR_FILE, id);
if(!fexist(actorfille))
{
ActorInfo = strval(inputtext);
if(ActorInfo == 0) { ClearActorAnimations(ActorInfo); }
else if(ActorInfo == 1) { ApplyActorAnimation(ActorInfo, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); }
else if(ActorInfo == 2) { ApplyActorAnimation(ActorInfo, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); }
else if(ActorInfo == 3) { ApplyActorAnimation(ActorInfo, "PED", "IDLE_CHAT", 4.1, 1, 0, 0, 0, 0); }
SPD(playerid, D_ACTORIMELABEL, DSI, "Kreiraj Actora", "Upisite naziv Actora koji ce se pojaviti na Labelu", "Napravi", "Zatvori");
break;
}
}
}
}
if(dialogid == D_ACTORIMELABEL)
{
if(!response) return 1;
if(response)
{
new actorimelabel;
if(sscanf(inputtext, "s", actorimelabel)) return SPD(playerid, D_ACTORIMELABEL, DSI, "Kreiraj Actora", "Upisite naziv Actora koji ce se pojaviti na Labelu", "Napravi", "Zatvori");
for(new id = 0; id < MAX_ACTOR; id++)
{
new actorfiile;
format(actorfiile, sizeof(actorfiile), ACTOR_FILE, id);
if(!fexist(actorfiile))
{
strmid(ActorInfo, actorimelabel, 0, strlen(actorimelabel), 50);
SendClientMessage(playerid, -1, "Završili ste kreiranje Actor-a.");
ActorInfo = CreateActor(ActorInfo, ActorInfo, ActorInfo, ActorInfo, ActorInfo);
SacuvajActore(id);
SetActorInvulnerable(id, true);
Actors3DText();
break;
}
}
}
}S ovom funkciom ce mo azurirati nas label i animacije....
forward Actors3DText();
public Actors3DText()
{
for(new id = 0; id < MAX_ACTOR; id++)
{
new actorfile;
format(actorfile, sizeof(actorfile), ACTOR_FILE, id);
if(fexist(actorfile))
{
if(ActorInfo == 0) { ClearActorAnimations(ActorInfo); }
else if(ActorInfo == 1) { ApplyActorAnimation(ActorInfo, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); }
else if(ActorInfo == 2) { ApplyActorAnimation(ActorInfo, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); }
else if(ActorInfo == 3) { ApplyActorAnimation(ActorInfo, "PED", "IDLE_CHAT", 4.1, 1, 0, 0, 0, 0); }
new string;
format(string, sizeof(string), "[ Actor - (%d) ]\n[ %s ]", id, ActorInfo);
Actor3DText = Create3DTextLabel(string, -1, ActorInfo, ActorInfo, ActorInfo+1, 10, 0, 1);
}
}
return 1;
}Spremanje i Ucitavanje Actora
forward UcitajActore(actorid, name[], value[]);
public UcitajActore(actorid, name[], value[])
{
INI_String("ActorIme", ActorInfo, 30);
INI_Int("ActorSkinID", ActorInfo);
INI_Int("ActorAnimID", ActorInfo);
INI_Float("APos_X", ActorInfo);
INI_Float("APos_Y", ActorInfo);
INI_Float("APos_Z", ActorInfo);
INI_Float("APos_Rot", ActorInfo);
INI_Int("ActorID", ActorInfo);
return 1;
}
forward SacuvajActore(actorid);
public SacuvajActore(actorid)
{
new dFile;
format(dFile, sizeof(dFile), ACTOR_FILE, actorid);
new INI:File = INI_Open(dFile);
INI_WriteString(File, "ActorIme", ActorInfo);
INI_WriteInt(File, "ActorSkinID", ActorInfo);
INI_WriteInt(File, "ActorAnimID", ActorInfo);
INI_WriteFloat(File, "APos_X", ActorInfo);
INI_WriteFloat(File, "APos_Y", ActorInfo);
INI_WriteFloat(File, "APos_Z", ActorInfo);
INI_WriteFloat(File, "APos_Rot", ActorInfo);
INI_WriteInt(File, "ActorID", ActorInfo);
INI_Close(File);
return 1;
}I komanda s kojom zapocinjemo kreiranje Actora
CMD:kreirajactora(playerid, params[])
{
SPD(playerid, D_NAPRAVIACTORA, DSI, "Kreiraj Actora", "Upisite ID skina za Actor-a:", "Napravi", "Zatvori");
return 1;
}Ljudi izvinite sto nisam sve objasnio, eto nadam se da ce vam pomoci...
Ne zamjerite na greskama..
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosSaradnik
66 / 500 XP
Doprinosilac(57)
465
Postovi:
80
Teme:
Pridružio se:Mar. 2018
22. Avg. 2018.
Ovako ima na Ultimate Project modu moze se izvaditi, fino fino samo si trebo to detaljnije i bolje objasniti za poÄetnike 🙂
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosSaradnik
66 / 500 XP
Doprinosilac(57)
465
Postovi:
80
Teme:
Pridružio se:Mar. 2018
22. Avg. 2018.
Ja sam testirao i rade anmijacije, na njemu pise Diler Marko i rob sam te i te organizacije 🙂
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosSaradnik
66 / 500 XP
Doprinosilac(57)
465
Postovi:
80
Teme:
Pridružio se:Mar. 2018
22. Avg. 2018.
Hulkic çš‡å¸ wrote on August 22, 2018, 10:20 pm:
Pa to nije to ti si dilere testiro
Isti je princip ja mislim kao i sa dilerima, samo sto na njiam ne pise ja sam marko diler tog i tog 😄
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
137 / 250 XP
Početnik(0)
387
Postovi:
39
Teme:
Pridružio se:Feb. 2016
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
173
Postovi:
50
Teme:
Pridružio se:Jul 2018
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
613
Postovi:
15
Teme:
Pridružio se:Jan. 2018
11. Okt. 2018.
635 : for(new id = 0; id < MAX_ACTOR; id++)
{
new actorFile;
638: format(actorFile, sizeof(actorFile), ACTOR_FILE, id);
639: if(fexist(actorFile))
{
641: INI_ParseFile(actorFile, "UcitajActore", .bExtra = true, .extra = id);
ActorInfo = CreateActor(ActorInfo, ActorInfo, ActorInfo, ActorInfo, ActorInfo);
643: if(ActorInfo == 0) { ClearActorAnimations(ActorInfo);}
else if(ActorInfo == 1) { ApplyActorAnimation(ActorInfo, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); } // Ostale animacije koje ce actori izvoditi kada ih kreirate
else if(ActorInfo == 2) { ApplyActorAnimation(ActorInfo, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); } // Vi ih mozete dodati jos
else if(ActorInfo == 3) { ApplyActorAnimation(ActorInfo, "PED", "IDLE_CHAT", 4.1, 1, 0, 0, 0, 0); }
SetActorInvulnerable(id, true);
Actors3DText();
}
}
Tu je error pise mi kad save ovaj error
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(635) : error 010: invalid function or declaration
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(63😎 : error 021: symbol already defined: "format"
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(639) : error 010: invalid function or declaration
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641) : error 021: symbol already defined: "INI_ParseFile"
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641) : error 017: undefined symbol "bExtra"
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641) : error 010: invalid function or declaration
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641 -- 643) : fatal error 107: too many error messages on one line
{
new actorFile;
638: format(actorFile, sizeof(actorFile), ACTOR_FILE, id);
639: if(fexist(actorFile))
{
641: INI_ParseFile(actorFile, "UcitajActore", .bExtra = true, .extra = id);
ActorInfo = CreateActor(ActorInfo, ActorInfo, ActorInfo, ActorInfo, ActorInfo);
643: if(ActorInfo == 0) { ClearActorAnimations(ActorInfo);}
else if(ActorInfo == 1) { ApplyActorAnimation(ActorInfo, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); } // Ostale animacije koje ce actori izvoditi kada ih kreirate
else if(ActorInfo == 2) { ApplyActorAnimation(ActorInfo, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); } // Vi ih mozete dodati jos
else if(ActorInfo == 3) { ApplyActorAnimation(ActorInfo, "PED", "IDLE_CHAT", 4.1, 1, 0, 0, 0, 0); }
SetActorInvulnerable(id, true);
Actors3DText();
}
}
Tu je error pise mi kad save ovaj error
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(635) : error 010: invalid function or declaration
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(63😎 : error 021: symbol already defined: "format"
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(639) : error 010: invalid function or declaration
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641) : error 021: symbol already defined: "INI_ParseFile"
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641) : error 017: undefined symbol "bExtra"
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641) : error 010: invalid function or declaration
C:\Users\Amci\Desktop\Castro by Amci\gamemodes\Castro.pwn(641 -- 643) : fatal error 107: too many error messages on one line
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
