4Tuning
Filme
Scurt Metraje
Stiri Online
Anunturi de la forum
Cautare
Sustine-ne
Contact
Regulament
Editare profil
Mesajele proprii
Seriale
[TUTORIAL] Cum sa adaugi un NPC (Any Mod)

Conectare

Mi-am uitat parola


 [TUTORIAL] Cum sa adaugi un NPC (Any Mod) R0Y0A
Fa-ti cont logheaza-te si posteaza ... Poti raspunde la orice subiect doresti cu contul tau official !
Vrei sa dezbati, ai o problema poti deschide un topic nou !
CONECTEAZA-TE PENTRU A DISPAREA ACEST MESAJ !!!
INREGISTREAZA-TE sau CONECTEAZA-TE
X


 [TUTORIAL] Cum sa adaugi un NPC (Any Mod) 555015_476819839039988_1523718949_n
 [TUTORIAL] Cum sa adaugi un NPC (Any Mod) Befunk11



Andrw.

Andrw.
Membru fidel
Membru fidel
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

Cod:
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:

Cod:
#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- .

Cod:
#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

Cod:
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.

Cod:
#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.

Cod:
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

Cod:
if(IsPlayerNPC(playerid)) return 1;
 

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum

http://www.hitwebcounter.com/htmltutorial.php
WebPage Visits 11.13.2017