Peršokti į turinį
Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

SetActorName(actorid, name[], colorid)


KKarolis

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3193 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

SetActorName(actorid, name[], colorid)

Pakolkas dar viskas labai primityvu, vėliau pakeisiu atnaujinimą į jundačio actor name setą.

Darbas vardas yra tik, kada actor nejuda.

stock SetActorName(actorid, name[], colorid)
{
    new Float:pos_x, Float:pos_y, Float:pos_z;
    GetActorPos(actorid, pos_x, pos_y, pos_z);
    Create3DTextLabel(name, colorid, pos_x, pos_y, pos_z+1.1, 10, 0);
    return 1;
}

naudojimas

new test_actor;
public OnGamemodeInit()
{
    test_actor = CreateActor(0, 0, 0, 0, 0);
    SetActorName(test_actor, "Vardas", -1);
    return 1;
}

Autorius: KKarolis

Padėka už pagalbą: Sneroq

 

Dh1RIw7.png

Redaguota , nario KKarolis
Nuoroda į komentarą
Dalintis per kitą puslapį

Dar galėjai padaryt kai jei antrą kartą naudotų tą funkciją, neatsirastų antras:

stock SetActorName(actorid, name[], colorid)
{
    new Float:pos_x, Float:pos_y, Float:pos_z;
    static Text3D:labels[MAX_ACTORS];
    GetActorPos(actorid, pos_x, pos_y, pos_z);
    if(!labels[ actorid ])
        labels[ actorid ] = Create3DTextLabel(name, colorid, pos_x, pos_y, pos_z+1.1, 10, 0);
    else 
        Update3DTextLabelText(labels[ actorid ], colorid, name);
    return 1;
}
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Dar galėjai padaryt kai jei antrą kartą naudotų tą funkciją, neatsirastų antras:

stock SetActorName(actorid, name[], colorid)
{
    new Float:pos_x, Float:pos_y, Float:pos_z;
    static Text3D:labels[MAX_ACTORS];
    GetActorPos(actorid, pos_x, pos_y, pos_z);
    if(!labels[ actorid ])
        labels[ actorid ] = Create3DTextLabel(name, colorid, pos_x, pos_y, pos_z+1.1, 10, 0);
    else 
        Update3DTextLabelText(labels[ actorid ], colorid, name);
    return 1;
}

Irgi variantas, gz.

Nuoroda į komentarą
Dalintis per kitą puslapį

 

Dar galėjai padaryt kai jei antrą kartą naudotų tą funkciją, neatsirastų antras:

stock SetActorName(actorid, name[], colorid)
{
    new Float:pos_x, Float:pos_y, Float:pos_z;
    static Text3D:labels[MAX_ACTORS];
    GetActorPos(actorid, pos_x, pos_y, pos_z);
    if(!labels[ actorid ])
        labels[ actorid ] = Create3DTextLabel(name, colorid, pos_x, pos_y, pos_z+1.1, 10, 0);
    else 
        Update3DTextLabelText(labels[ actorid ], colorid, name);
    return 1;
}

Neblogai, kiekvieną kartą panaudojus funkciją sukuri masyvą, skirtą by default 1000 aktorių, bet panaudoji vieno 3D teksto kūrimui. Turbūt globalų norėjai sukurt, bet vistiek neveiks, jei tarkim sunaikinsi aktorių, o teksto ne.

 

+ O jeigu serverį esu išskaidęs į atskirus modulius? Siūlai šitą funkciją įdėti į kiekvieną modulį atskirai? Ne vietoje tas static.

Redaguota , nario b3nz
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 1 mėnesio...

o kurioj vietoj įrašyt koordinates, norint , kad botas ten ir ten stovėtų ?

 

edit: Bet ir kaip dar vardą nustatyt ? (susitvarkiau)

 

(122) : error 017: undefined symbol "CreateActor"
(123) : error 017: undefined symbol "SetActorName"
(122) : warning 204: symbol is assigned a value that is never used: "test_actor"
 
kaip ištaisyt ?
------------------------------
tą npcmoes reik gaut ?

-------------------------------

jau liko tokie errorai, pamiršau, kad to su stock neįdėjau.

 

štai tokie errorai :

 

C:\Users\A\Desktop\aham\tuðèias gm\Tusèias GM\gamemodes\GM.pwn(122) : error 017: undefined symbol "CreateActor"
C:\Users\A\Desktop\aham\tuðèias gm\Tusèias GM\gamemodes\GM.pwn(1206) : error 017: undefined symbol "GetActorPos"
C:\Users\A\Desktop\aham\tuðèias gm\Tusèias GM\gamemodes\GM.pwn(1203) : warning 203: symbol is never used: "actorid"
Redaguota , nario » MPro™
Nuoroda į komentarą
Dalintis per kitą puslapį

patikrink ar esi užsiincludinęs a_actor.inc

 

 

o dėl setactorname įsikelk tą kodą į galą gm.

A_actor.inc iš viso neturiu, tarp kitko, tuoj parsisiųsiu, o tuos tr. va pavyzdžiui tas:

 

    test_actor = CreateActor(0, 0, 0, 0, 0);
    SetActorName(test_actor, "Jonas", -1);
 
o su stock ;
 
stock SetActorName(actorid, name[], colorid)
{
    new Float:pos_x, Float:pos_y, Float:pos_z;
    GetActorPos(actorid, pos_x, pos_y, pos_z);
    Create3DTextLabel(name, colorid, pos_x, pos_y, pos_z+1.1, 10, 0);
    return 1;
}
 
ir ten prie new esu pasirašęs:
 
new test_actor;
 
tai kaip nrml tą CreateActor susitvarkyt.. ?
 
beje, kur koordinates to aktoriaus pasidaryt ? (boto ?) ?`ą
 
 
jau dėl šio dalyko viskas gerai, įdėjau a_actor.inc ir jau viskas gerai su tuo kodu, nebėr nieko, švaru, bet kur koordinates reik dėt boto ?
Redaguota , nario » MPro™
Nuoroda į komentarą
Dalintis per kitą puslapį

*facepalm* tu gal geriau nekurk serverio jei nežinai... koordinates reikia rašyti į X Y Z JEI KĄ

CreateActor(skin, x, y,z rotation);

 jei šito nesuprasi tai nžn

 

tiesiog esu naujokas ant skripto ir bandau išmokt, nerėk prašyčiau. x y z, bet tai kaip tada, gi ten tos koordinatės kur stovi, su tais skaičiais, o ne x y z, su šitu nesuprnt. Bei kaip skin `us dar nustatyt ? kur jų id`as turi stovėt, ir kaip koordinatės ?  :|

Nuoroda į komentarą
Dalintis per kitą puslapį

tiesiog esu naujokas ant skripto ir bandau išmokt, nerėk prašyčiau. x y z, bet tai kaip tada, gi ten tos koordinatės kur stovi, su tais skaičiais, o ne x y z, su šitu nesuprnt. Bei kaip skin `us dar nustatyt ? kur jų id`as turi stovėt, ir kaip koordinatės ?  :|

 

https://wiki.sa-mp.com/wiki/CreateActor

Redaguota , nario dzeronimo
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3193 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...