Jump to content

[0.3] Cum sa adaugi un NPC


cmg4life

Recommended Posts

- In acest tutorial va voi arata cum sa realizati un NPC dar si cum sa il folositi.

Inainte de toate setati Numarul de NPCii pe care vreti sa-i folositi in script in server.cfg

maxnpc X 
Unde X este numarul de NPCii folositi. Inregistrarea rutei NPCului Incarcati filterscriptul "npc_record" (npc_record.amx). Mergeti in joc, logati-va ca RCON ( /rcon login PASS ). Folositi comanda /ofrecord [nume] -pt a inregistra o ruta fara vehicul- sau /vrecord [nume] -pt a inregistra o ruta cu vehicul- , folositi comanda /stoprecord pt a finaliza inregistrarea. Mergeti in folderul scriptfiles si cautati un fisier de formatul "nume.rec" -unde nume este numele folosit mai sus- , mutati acest fisier in folderul recordings aflat in folderul npcmodes . Controlarea NPCului Creeaza un fisier .pwn, gol in folderul npcmodes. In fisierul .pwn scrieti codul acesta:
#define RECORDING "mynpc" //This is the filename of your recording without the extension.
#define RECORDING_TYPE 1 //1 for in vehicle and 2 for on foot.

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);

#if RECORDING_TYPE == 1
    public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    public OnNPCExitVehicle() StopRecordingPlayback();
#else
    public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#endif
Inlocuim "mynpc" cu numele inregistrarii facute mai sus, fara extensie -daca inregistrarea este "bla.rec" atunci scriem "bla" fara extensie- .
#define RECORDING_TYPE 1 //1 for in vehicle and 2 for on foot.
Aici scriem 1 sau 2 in functie de: 1 - NPCul are un vehicul, 2 - NPCul nu are un vehicul. Dupa ce am facut tot de mai sus, compliem scriptul ( F5 ). Conectarea NPCului Deschidem GameModeul sau FilterScriptul in care folosim NPCul. Sub OnGameModeInit (sau OnFilterScriptInit ), adaugam
ConnectNPC("NUME", "inregistrare");
unde inlocuim "NUME" cu numele ales pt NPC si "inregistrare" cu numele inregistrarii, fara extensie. Daca NPCul conduce un vehicul, trebuie sa il cream.
#include <a_samp>

new NPCvehicle;

public OnGameModeInit()
{
    NPCvehicle = CreateVehicle(411, 0.0, 0.0, 0.0, 0.0, -1, -1, 1000);
    return 1;
}
-doar un exemplu- Iar acum sa il punem in vehicul, aici trebuie mai intai sa il recunoastem. Pt a recunoaste un NPC ne folosim de Nume. Si il vom recunoaste cand se spawneaza.
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid)) //Verifica daca playerul este NPC
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname)); //Luam numele NPCului
        if(!strcmp(npcname, "NUME", true)) //Verificam daca numele NPCului este "NUME"
        {
            PutPlayerInVehicle(playerid, NPCvehicle, 0); //Punem NPCul in vehicul
        }
        return 1;
    }

    //Celelalte lucruri din OnPlayerSpawn

    return 1;
}
-puteti sa-i adaugati si alte caracteristici, nu doar sa il asezati intr-un vehicul, puteti sa-i schimbati skinul, culoarea pe harta etc.- Daca aveti probleme la conectarea NPCului de exemplu este dat afara, adaugati urmatoarea verificare la OnPlayerConnect
if(IsPlayerNPC(playerid)) return 1;

-Cititi cu atentie inainte de a intreba.-

Verificati http://forum.sa-mp.com/index.php?topic=119947.0 pt mai multe detalii.

-Toate tutorialele postate intra aici sau puneti-le direct [url=http://www.sa-mp.ro/forum/index

Link to comment
Share on other sites

  • Replies 110
  • Created
  • Last Reply

Top Posters In This Topic

Guest big_smooke

GG CMG4LIFE esti tare bun chiar aveam nevoie de el am gasit ceva dar in engleza al tau este mult mai bun.Felicitari!!! Nu ti-a multumit nimeni pentru ca nu toti stiu sa faca dupa acest tutorial este mai complicat dar am reusit cateva ceva MS MULT

Link to comment
Share on other sites

Guest [Sapd]Niko17

bv cmg dar e cam greu pt incepatori cu sa-mp ul (cum sunt eu nu prea ma pricep cu NPC :-[)dar oricum gg

PS:poate facem careva un fs sau un tutorial in video ar fi mai fain

Link to comment
Share on other sites

poi u sti doar sa schimbi in FS/Mod " by Akord" :))

Tu vorbesti? Dar tu ce stii? Sa te folosesti de oameni care te ajuta dupaia le dai ban.

Si terminati cu off-topicul ca va sterg mesajele si sigur vreun Administartor va va da warn!

Imi aduc aminte cand jucam pe versiunea 0.1.. ala era SA-MP adevarat.

Va salut cu respect (pe cei care merita).

Link to comment
Share on other sites

  • 1 month later...

lol asta nu stiam dar nu se misca am facut fix 

http://forum.sa-mp.ro/tutoriale/%280-3%29-cum-sa-adaugi-un-npc/

de la "Daca NPCul conduce un vehicul, trebuie sa il cream. " in jos nu mai trebe adaugat nimik ca am facut rec fara vehicul!??

<a href='http://www.yhcbux.com/?ref=sice'><img src='http://www.yhcbux.com/images/banner1.gif'></a>

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Liberty City Roleplay
      23 Mai, 2021.
       
      Liberty City Roleplay 
       
      Este timpul pentru ceva nou, pentru comunitatea de Roleplay din Romania. Suntem gata să vă prezentăm proiectul, Liberty City Roleplay. 
      Gameplay-ul va avea loc în imensul și iubtul oraș, Liberty City, analogul Rockstar al orașului New York, mapa fiind similară cu cea de pe Grand Theft Auto III, doar că este mult mai stabilă și prezintă mult mai multe zone și detalii suplimentare, față de versiunea originală, pe parcurs, aceasta o să primească bug fix-uri si update-uri constant.
      Atmosfera de pe server, este principalul lucru vizat de echipa Liberty City Roleplay. Intelegem că în toate proiectele s-a spus exact acelasi lucru, doar ca noi, ca si echipă, am analizat toate proiectele din ultimul timp, de pe comunitatea românescă de roleplay și am evidențiat punctele negative, precum și cele pozitive din fiecare, astfel, am reușit, credem noi, să ajungem la o formulă cat mai convenabilă pentru jucători.
      Ca și sisteme, am incercat să eliminăm job-urile monotone si am venit cu un nou tip de job-uri, mult mai practice in Roleplay. Prin fiecare job, o sa aveti posibilitatea de a interactiona cu alti jucatori. Pe langa job-uri, server-ul asigură script-ul necesar dezvoltării orcarui tip de roleplay dorit.
      Versiunea 0.3.DL oferă spațiu pentru creativitate, iar din propriile experiențe, de pe servere de Roleplay care au rulat pe aceași versiune, am sesizat toate vulnerabilitațile acesteia si astfel, putem să o folosim la potențialul său maxim. 
      Nu este un secret faptul că atunci când am început dezvoltarea, echipa noastră era foarte restrânsă ca și număr. In continuare, echipa se afla intr-un numar restrans, ca urmare, la scurt timp după deschiderea oficială a comunității, o sa aiba loc o sesiune de integrare in STAFF.
       
       
      Ceea ce vreau sa spun prin faptul asta este ca serverul a ajuns într-un stadiu foarte înalt ce tine de mapă, mapă este foarte stabila și nu prezintă buguri. Echipa Liberty City Roleplay România este în căutare de Game Developeri ce au avut experienta în a scripta pe versiunea 0.3DL, sunteți interesat? Va rog sa lăsați un Private Message pe acest forum fie luați legătura cu Community Manager pe serverul de discord al comunității. 
       
      https://discord.gg/YudteMuMyv
    • By salexm93
      Salut ,pot adauga cod la apelarea functiilor native ? De ex la CreatePickup am nevoie sa salvez date pe care sa le accesez la OnPlayerPickUpPickup(playerid, pickupid)
    • By Tefyuu
      Salut , in gamemode ul burned by waller , cum adaug pet in shop ? am incercat eu ceva dar nu a aparut si am zis sa va intreb
    • By Xtrem_Maddox
      Salut. O să explic cât se poate de scurt.
      Mi-am modelat singur o casă în Blender. Am exportat modelul, l-am adăugat în .pwn, e ready to use. Problema mea este următoarea: vreau să amplasez casa undeva, nu contează unde, doar că trebuie să mappez casa, adică să o pun eu cum trebuie. Asta înseamnă că trebuie s-o adaug într-un map editor, ca să o așez așa cum vreau. Cum fac lucrul acesta? Mai exact: cum adaug un obiect custom într-un map editor? JernejL's Map Editor nu îți dă voie să adaugi propriile tale obiecte, nu? Dar Fusez'?
      Mulțumesc.
    • By Sebi wepos
      Cum adaug si eu zcmd in gamemode meu?
      adk stiu sa pun in include zcmd 
      dar nush cum sa pun include si alea sa mearga ca daca fac cum cred eu ca e imi da o eroare 
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.