Jump to content

návod Jak vytvořit NPC - překlad ze SA-MP fóra [*]


Recommended Posts

Čau, když je to tut na npc, tak to napíšu sem, jako všechno mi funguje..

Akorád nwm funkci na pausu té nahrávky. PauseRecordingPlayback() tato funkce nefunguje, a StopPlayerRecordingData taky ne... pls help.. předem díky

Link to comment
Share on other sites

  • 3 weeks later...
  • Replies 311
  • Created
  • Last Reply

Top Posters In This Topic

Já udělal vše podle TUT ani errory nemam ale NPC nejede :(

Ty si to ani podle toho tutu nezkusil jen kecáš, boban ti hodil odkaz na tut a během 2 minut tu byl koment od tebe což bys ani pořádně nestihl dát a otestovat..

 

A Když už ti něco nejde tak sem máš hodit to co si udělal a ostatní ti to popř upravý.

Link to comment
Share on other sites

Já udělal vše podle TUT ani errory nemam ale NPC nejede :(

 

jestli to máš uplně stejně tak nemáš v configu nastaveno MAXNPC = napřklad 3 a máš tam 0 že ano?

Link to comment
Share on other sites

  • 4 weeks later...

Mne to hadze errory !

 

 

C:\Users\User2\Desktop\pawno - 0.3c\pawno\reallife.pwn(560) : warning 235: public function lacks forward declaration (symbol "OnRecordingPlaybackEnd")

C:\Users\User2\Desktop\pawno - 0.3c\pawno\reallife.pwn(560) : error 017: undefined symbol "StartRecordingPlayback"

C:\Users\User2\Desktop\pawno - 0.3c\pawno\reallife.pwn(563) : warning 235: public function lacks forward declaration (symbol "OnNPCEnterVehicle")

C:\Users\User2\Desktop\pawno - 0.3c\pawno\reallife.pwn(563) : error 017: undefined symbol "StartRecordingPlayback"

C:\Users\User2\Desktop\pawno - 0.3c\pawno\reallife.pwn(564) : warning 235: public function lacks forward declaration (symbol "OnNPCExitVehicle")

C:\Users\User2\Desktop\pawno - 0.3c\pawno\reallife.pwn(564) : error 017: undefined symbol "StopRecordingPlayback"

 

 

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

 

Link to comment
Share on other sites

Uz to mam ...

 

-- ned 30. led 2011 16:15:55 --

 

A toto mam dat do modu ?

 

Nyní, pokud sme vytvářeli bota, co řídí vozidlo, tak mu ho taky musíme dát.

Takže script upravíme takto:

Kód:

new AutoBota; //Global variable!

public OnGameModeInit()

{

print("my gamemode");

ConnectNPC("Michal","mujbot");

AutoBota = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);

return 1;

}

 

Pzn: je jedno, kde auto vytvoříte, při začátku přehrávání bota se auto přesune na požadovanou pozici.

 

ještě poslední věc, než začnete testovat svého bota. Musíme ho nějak dát do auta.

Já používám OnPlayerSpawn...

Kód:

public OnPlayerSpawn(playerid)

{

if(IsPlayerNPC(playerid)) //Kontrola, pokud je spawnutý NPC.

{

new npcname[MAX_PLAYER_NAME];

GetPlayerName(playerid, npcname, sizeof(npcname)); //Zjišťuje jméno NPC.

if(!strcmp(npcname, "Michal", true)) //Zjišťuje, jestli je jméno bota Michal

{

PutPlayerInVehicle(playerid, AutoBota, 0); //Strčí NPC do auta, které sme vytvořili

}

}

return 1;

}

Link to comment
Share on other sites

Guest FilipeCZek

Hází mi to

 

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(40) : error 017: undefined symbol "AutoBota"

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(40) : warning 202: number of arguments does not match definition

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(97) : error 017: undefined symbol "AutoBota"

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(100) : warning 217: loose indentation

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

 

 

2 Errors.

 

Přitom, AutoBota tam mám.. :(

 

-- stř 02. úno 2011 17:13:29 --

 

Hází mi to

 

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(40) : error 017: undefined symbol "AutoBota"

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(40) : warning 202: number of arguments does not match definition

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(97) : error 017: undefined symbol "AutoBota"

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(100) : warning 217: loose indentation

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

 

 

2 Errors.

 

Přitom, AutoBota tam mám.. :(

Link to comment
Share on other sites

Hází mi to

 

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(40) : error 017: undefined symbol "AutoBota"

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(40) : warning 202: number of arguments does not match definition

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(97) : error 017: undefined symbol "AutoBota"

C:\Documents and Settings\Filip.N-562F6718D44C4\Plocha\PC\samp\motoworld01.pwn(100) : warning 217: loose indentation

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

 

 

2 Errors.

 

Přitom, AutoBota tam mám.. :(

 

 

2 Errors.

 

Přitom, AutoBota tam mám.. :(

 

 

Chyby ti new Autobota;

a zbytek ti nepovim protoze si tu nedal radky

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 2 weeks later...

Vše jsem udělal podle návodu, ale když nahraju FS tak tam nic nejezdí :d

Kod FS :

#define FILTERSCRIPT
#include 
new carbot;
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
ConnectNPC("busak2","busak2");
carbot = CreateVehicle(550, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}
#else

main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnPlayerSpawn(playerid)
{
  if(IsPlayerNPC(playerid))
  {
      new npcname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, npcname, sizeof(npcname));
      if(!strcmp(npcname, "busak2", true))
      {
          PutPlayerInVehicle(playerid, carbot, 0);
      }
  }
  return 1;
}

V busak20.pwn

#define RECORDING "busak2"
#define RECORDING_TYPE 1

#include 
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

Mohlo by to být tím, že mám busak2.rec i busak2.amx ?? Zkusím to přejmenovat ;)

Link to comment
Share on other sites

Vše jsem udělal podle návodu, ale když nahraju FS tak tam nic nejezdí :d

Kod FS :

#define FILTERSCRIPT
#include 
new carbot;
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
ConnectNPC("busak2","busak2");
carbot = CreateVehicle(550, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}
#else

main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnPlayerSpawn(playerid)
{
  if(IsPlayerNPC(playerid))
  {
      new npcname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, npcname, sizeof(npcname));
      if(!strcmp(npcname, "busak2", true))
      {
          PutPlayerInVehicle(playerid, carbot, 0);
      }
  }
  return 1;
}

V busak20.pwn

#define RECORDING "busak2"
#define RECORDING_TYPE 1

#include 
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

Mohlo by to být tím, že mám busak2.rec i busak2.amx ?? Zkusím to přejmenovat ;)

tim to nebude mas v server.cfg maxnpcs 0 jen to zmen

Link to comment
Share on other sites

Promiňte že píšu do starého tématu ale mámj problém, při vytvoření bota se bot připojí a asi za vteřinu odpojí .

 

Kódy :

OnGameModeInit();

    ConnectNPC("[bOT]_1","npc_bus_1");
   autobus_1 = CreateVehicle(431, 0.0, 0.0, 5.0, 0.0, 1, 3, 5000);

 

npc_bus_1.pwn

#define RECORDING "npc_bus_1" //Název souboru, který jsme nahrávali bez přípony .rec
#define RECORDING_TYPE 1 //1 pokud je v autě, pěšky je to 2

#include 
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

 

a bota mam pojmenovaneho npc_bus_1.rec

 

Děkuju za pomoc

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...