Kreiranje Actora sa Animacijama i Labelima

Započeo Hulk.png
22. Avg. 2018. Zaključano
4,426
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
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
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
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
🔥3
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