Szerző Téma: NPC autóba rakása  (Megtekintve 2109 alkalommal)

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Dátum: 2014. április 09. - 11:21:22 »
0 Show voters
Sziasztok. Volna egy NPC-m ami nem csinál semmit csak be szeretném rakni a vezetõ ülésre, ám joinol de valamiért mégsem akarja berakni a kocsiba.
\"width=500http://kepfeltoltes.hu/140409/bizonyitek_www.kepfeltoltes.hu_.png[/img]
Az filterscriptben való betevés:
 

PutPlayerInVehicle (ConnectNPC(\"samauto\", \"zero\"), 1, 0 );

 
Zero fájl:
 

#include <a_npc>
main() {}

 
Valaki tudd rá valamilyen  megoldást, esetleg ötletek, hogy másképp hogy lehetne berakni az autóba? Próbáltam NPC név lekérdezés szerint de valamiért az sem mûködött.  :angry:
Köszönöm elõre is válaszokat. :)

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
NPC autóba rakása
« Válasz #1 Dátum: 2014. április 09. - 11:58:48 »
+1 Show voters
Nem lehet, hogy elõtte le kéne spawnoltatni vagy esetleg egy timerrel berakni a kocsiba? (Tipp)

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Válasz #2 Dátum: 2014. április 09. - 12:19:12 »
0 Show voters
Timerrel kocsiba? Ezt a gondolatod kifejtenéd bõvebben? :D

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
NPC autóba rakása
« Válasz #3 Dátum: 2014. április 09. - 13:41:24 »
+1 Show voters
Nem rögtön a csatlakozás után betenni, egy kis késleltetéssel.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Válasz #4 Dátum: 2014. április 09. - 14:16:59 »
0 Show voters
Nem OnPlayerConnectnél csatlakozik, hanem OnPlayerSpawnál és még akkor is csak ConnectNPC hívódik meg és majd csak rá 30 mp-re PutPlayerInVehicle függvényel akarnám berakni. Amit kiraktam fõposztba csak egy ötlet volt de már próbálkoztam sok mindennel de valamiért nem adja meg magát. Azért kösz :\'D

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
NPC autóba rakása
« Válasz #5 Dátum: 2014. április 09. - 18:10:20 »
+1 Show voters
ConnectNPC(\"samauto\", \"zero\"); // OnGameModeInIt-be például (de amúgy oda rakd, ahol csatlakoztatod az NPC-t, lehet parancsba, dialogba, stb. Bárhová. De gondolom a mód indulásakor más csatlakozik, tehát InIt alá.

 

PutPlayerInVehicle(NPC_ID-je, 1, 0); // Csak az után mûködik, miután az NPC lespawnolt (és OnPlayerSpawn alatt is talán, de ott lehet, hogy inkább késleltetni kéne)

 
Az NPC ID-jét le tudod kérdezni custom GetPlayerID függvénnyel, vagy talán így is mûködik:
 
NPCID = ConnectNPC(\"samauto\", \"zero\");
PutPlayerInVehicle(NPCID , 1, 0);

 
Habár nem hiszem. Azonban a te próbálkozásodból adódóan javasoltam ezt, hátha így is megoldható az ID-je. De az úgy biztos nem jó, hogy az NPC id-je az maga az NPC csatlakozása. Hiszen csak úgy tudod kocsiba tenni, ha már csatlakozva van, és le is spawnolt. A ConnectNPC függvényben lévõ paramétereket pedig újra ellenõrizd le, hogy az elsõ paraméter egy kitalált NPC név e (nyilván igen), a második pedig az NPC FS neve e.

NPC autóba rakása
« Válasz #6 Dátum: 2014. április 11. - 00:17:14 »
+1 Show voters
Nem fogod tudni csak pluginnal, vagy egy esetleges.üres rec fájlal, hidd el tudom, én is próbáltam régen nem egyszer.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
NPC autóba rakása
« Válasz #7 Dátum: 2014. április 11. - 15:07:46 »
+1 Show voters
Idézetet írta: Konstantin date=1397168234\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47621\" data-ipsquote-contentclass=\"forums_Topic
Nem fogod tudni csak pluginnal, vagy egy esetleges.üres rec fájlal, hidd el tudom, én is próbáltam régen nem egyszer.
 
Több 10, talán 100+ kocsit vezetõ NPC-t csináltam már. Felvettem a mozgást, a .rec fájlt létrehozva, a szükséges forráskódokat megírtam gyorsan és minden ment magától. Teljesen alap cuccokkal, nem kell semmiféle plugin, sem üres .rec fájl.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Válasz #8 Dátum: 2014. április 11. - 20:27:25 »
0 Show voters
Uhh köszönöm szépen a sok választ. Minden megoldást kifogok lassan-lassan próbálni, csak ez a hétvégém egy rohanás lesz és nem hiszem, hogy sokat leszek gép elõtt. Ha valami nem megy majd szerkesztem a posztot. Köszönöm még egyszer :)
E: Amúgy nekem nem kéne vezesse a kocsit csak simán üljön a vezetõ ülésen arra használjak üres (main csak) pwn fájlt?
« Utoljára szerkesztve: 2014. április 11. - 20:29:38 írta RusH. »

NPC autóba rakása
« Válasz #9 Dátum: 2014. április 12. - 11:33:22 »
+1 Show voters
Rec fájl nélkül mondtam, hogy nem lehet kocsiba tenni.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Válasz #10 Dátum: 2014. április 14. - 13:20:46 »
0 Show voters
Na ma volt idõm tesztelgetni, ám van egy kis gond.
Mégpedig ez: \"width=500http://kepfeltoltes.hu/140414/sa-mp-077_www.kepfeltoltes.hu_.png[/img]
Nem értem mi a probléma berakom pedig az autóba. Eddig kifagyott az NPC de átgondolva a tematikát így jött ki végül és mûködik minden csak nem akarja berakni a vezetõ ülésbe:
 

#include <a_samp>
stock GetPlayerID(const Name[])
{
    for(new i; i<MAX_PLAYERS; i++)
    {
      if(IsPlayerConnected(i))
      {
        new pName[MAX_PLAYER_NAME];
        GetPlayerName(i, pName, sizeof(pName));
        if(strcmp(Name, pName, true)==0)
        {
          return i;
        }
      }
    }
    return -1;
}
new npcname [ MAX_PLAYER_NAME ];
new npcid, npcid2;
new kocsi;
// GetPlayerID és globális változók a biztos NPC kirúgásért / csatlakozásért / ellenõrzésért
// Valamint, hogy biztos a kocsiba spawnoljon
 
public OnGameModeInit()
{
kocsi = AddStaticVehicle(483, -6171.7207,-150.2725,14.5898,270.7585, 1, 60);
ConnectNPC(\"samauto\", \"zero\");
return 1;
}
// Játékos csatlakozáskor NPC ellenõrzés - ID lekérés- Biztos Spawnolásért SpawnPlayer függvény
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid))
 {
        GetPlayerName ( playerid, npcname, sizeof ( npcname ) );
        if ( !strcmp ( npcname, \"samlabon\", true ) )
        {
npcid = GetPlayerID(\"samlabon\");
    SetPlayerSkin(playerid, 26);
    SpawnPlayer(npcid);
    return 1;
    }
         if(!strcmp(npcname, \"samauto\"))
 {
 npcid2 = GetPlayerID(\"samauto\");
 SpawnPlayer(npcid2);
 return 1;
    }
  }
      return 1;
}
public OnPlayerSpawn(playerid)
{
 if (!IsPlayerNPC(playerid))
     {
     ConnectNPC(\"samlabon\", \"samfile\");
     return 1;
     }
 return 1;
}
// A lábon lévõ NPC indítása akkor ha a játékos biztos lespawnolt és nem NPC!
         
         KillTimer(myTimer);
 Kick(npcid);
 PutPlayerInVehicle(npcid2, kocsi, 0);
// Ez akkor történik amikor a timer leáll : Kirúgom az NPC-t a lespawnoltatotatt pedig beraknám az autóba

 
Igy nézne ki az átgondolt NPC csatlakozás - mûvelet - lecsatlakoztatás folyamat. Nem crashel nincs vele semmi probléma csak az a rohadt NPC-t nem lehet vezetõnek beültetni. Valami megoldásotok van rá?
Elõre is nagyon szépen köszönöm a válaszokat :)

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
NPC autóba rakása
« Válasz #11 Dátum: 2014. április 14. - 13:39:22 »
0 Show voters
http://forum.sa-mp.com/showthread.php?t=170545
Ez alapján próbáld meg, bányássz ki belõle dolgokat. Én elsõnek a SetSpawnInfot tenném hozzá.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Válasz #12 Dátum: 2014. április 14. - 13:58:45 »
0 Show voters
Bár én is olvastam ezt a leírást és alkalmaztam is a SetSpawnInfo-t, de ahogy akkor se most se vállt be. A többet pedig nincs mit belõle kukázzak, mivel azon kívül, hogy nincs külsõ NPC csatlakozás ellenni védelmem (amit tudtommal már kiküszöböltek és felesleges) minden pont úgy van ahogy a srácnál.

NPC autóba rakása
« Válasz #13 Dátum: 2014. április 14. - 19:21:59 »
+1 Show voters
Figyelj. Én már próbálgattam, minden típusú NPC-t készítettem már, de ha csak simán az ülésre akarod tenni, NEM fog sikerülni, ha nincs rec fájl akkor nem fogja oda tenni, akár ki mondhat akármit, sima pawnba NEM fogja és ezt értsd meg. Próbálkozz úgy mintha rec fájlal csinálnád, csak a rec fájl legyen üres. (De szerintem ekkor sem fog mûködni). Max pluginnal tudod megoldani. Ennyi.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
NPC autóba rakása
« Válasz #14 Dátum: 2014. április 14. - 19:35:43 »
0 Show voters
Üres .rec fájlt hogy lehet készíteni? / Ha azzal sem jönne be milyen plugint kell hozzá használni?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal