Kreiranje Actora sa Animacijama i Labelima

Započeo Hulk.png
22. Avg. 2018. Zaključano
4,398
pregleda
22
postova
Hulk Mapper
4
Made Man
22. Avg. 2018.
Dobar dan jos jednom svima  😛 😛 😛 😎
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.CMD


Drugi 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  3


Ovo 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..
Foxyyy
10
Made Man
🔥50
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 🙂
Hulk Mapper
4
Made Man
22. Avg. 2018.
na ultimate ne rade animacije kako treba i nema labela nisam htio ni objavljivat al trazili su pa nisam objasnio sve zato
Foxyyy
10
Made Man
🔥50
22. Avg. 2018.
Ja sam testirao i rade anmijacije, na njemu pise Diler Marko i rob sam te i te organizacije 🙂
Hulk Mapper
4
Made Man
22. Avg. 2018.
Pa to nije to ti si dilere testiro
Foxyyy
10
Made Man
🔥50
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 😄
Hulk Mapper
4
Made Man
22. Avg. 2018.
ja sam testo  animacije nisu radile na actorima ja sam drugacije onda napravio
David||BM
5
Made Man
🔥2
23. Avg. 2018.
lepo
Hulk Mapper
4
Made Man
23. Avg. 2018.
Hvala
vrhovnisudija
5
Kingpin
23. Avg. 2018.
Kolko tesko uraditi  😄 😄
Pohvale hulkicuu samo cekam komentare sa 100 errora
Hulk Mapper
4
Made Man
23. Avg. 2018.
Kad sam vadio iz svog moda zaboraviosam sve stavit da ne bude skraceno ebiga sad
muamerkadusic
5
Godfather
23. Avg. 2018.
Dobar 😁
Hulk Mapper
4
Made Man
23. Avg. 2018.
hvala mogo sam i bolje al zuri8
Timur Script
4
Shot Caller
5. Sep. 2018.
Hvala
Amci
5
Underboss
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

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha