-
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.
http://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 lehet, hogy elõtte le kéne spawnoltatni vagy esetleg egy timerrel berakni a kocsiba? (Tipp)
-
Timerrel kocsiba? Ezt a gondolatod kifejtenéd bõvebben? :D
-
Nem rögtön a csatlakozás után betenni, egy kis késleltetéssel.
-
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
-
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.
-
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 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.
-
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?
-
Rec fájl nélkül mondtam, hogy nem lehet kocsiba tenni.
-
Na ma volt idõm tesztelgetni, ám van egy kis gond.
Mégpedig ez:
http://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 :)
-
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á.
-
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.
-
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.
-
Üres .rec fájlt hogy lehet készíteni? / Ha azzal sem jönne be milyen plugint kell hozzá használni?
-
Próbáld ki, hoggy felveszel egy npc-t jármûveset, megcsinálod, aztán valamivel társítod a rec fájlt mondjuk jegyzettömbel és megnyitod és kitörölsz mindent. De nem biztos, hogy beválik. A plugin(egyik): http://forum.sa-mp.com/showthread.php?t=355849
-
Hoppá, hoppá! Pedró, csaknem egy alternatív kampányt készítesz a játékhoz? :D Esküszöm, ez nekem már vagy egy éve eszembe jutott! Kár, hogy nem nagyon van ilyen szerver..
[gmod]Milyen Pedróról beszélsz te? :o Másrészt, hogy tartozik ide ez a hozzászólás?.. örülnék ha nem írnál hülyeséget csak ami a témához illik. ^^ [/gmod]
-
Na nagy nehézségek árán de végül meg tudtam oldani és a Konstantin állítása bizonyult igaznak: nem lehet plugin nélkül berakni sehogyan sem.
RNPC-t próbáltam nehéz a kezelése nem ajánlom senkinek se, FCNPC az igaz :)
Köszönöm akik valamilyen módon megpróbáltak segítséget nyújtani, köszönöm szépen :)
Problem solved. :3
-
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.
http://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 lehet, hogy elõtte le kéne spawnoltatni vagy esetleg egy timerrel berakni a kocsiba? (Tipp)
-
Timerrel kocsiba? Ezt a gondolatod kifejtenéd bõvebben? :D
-
Nem rögtön a csatlakozás után betenni, egy kis késleltetéssel.
-
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
-
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.
-
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 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.
-
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?
-
Rec fájl nélkül mondtam, hogy nem lehet kocsiba tenni.
-
Na ma volt idõm tesztelgetni, ám van egy kis gond.
Mégpedig ez:
http://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 :)
-
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á.
-
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.
-
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.
-
Üres .rec fájlt hogy lehet készíteni? / Ha azzal sem jönne be milyen plugint kell hozzá használni?
-
Próbáld ki, hoggy felveszel egy npc-t jármûveset, megcsinálod, aztán valamivel társítod a rec fájlt mondjuk jegyzettömbel és megnyitod és kitörölsz mindent. De nem biztos, hogy beválik. A plugin(egyik): http://forum.sa-mp.com/showthread.php?t=355849
-
Hoppá, hoppá! Pedró, csaknem egy alternatív kampányt készítesz a játékhoz? :D Esküszöm, ez nekem már vagy egy éve eszembe jutott! Kár, hogy nem nagyon van ilyen szerver..
[gmod]Milyen Pedróról beszélsz te? :o Másrészt, hogy tartozik ide ez a hozzászólás?.. örülnék ha nem írnál hülyeséget csak ami a témához illik. ^^ [/gmod]
-
Na nagy nehézségek árán de végül meg tudtam oldani és a Konstantin állítása bizonyult igaznak: nem lehet plugin nélkül berakni sehogyan sem.
RNPC-t próbáltam nehéz a kezelése nem ajánlom senkinek se, FCNPC az igaz :)
Köszönöm akik valamilyen módon megpróbáltak segítséget nyújtani, köszönöm szépen :)
Problem solved. :3