minkema Geplaatst: 13 september 2010 Rapport Geplaatst: 13 september 2010 Hey mensen , ik ben gister bezig geweest met het maken van een NPC. wanneer ik het script laadt, zegt hij gewoon dat het script geladen is, maar de NPC connect niet. Ik las dat maxnpc het probleem kon zijn maar, -maxnpc staat nu op 10, dus moet genoeg zijn als jullie meer willen weten, of mischien het script, of een deel ervan willen zien, zegt u et maar alvast thanx, minkema. Reageren
Morph1 Geplaatst: 13 september 2010 Rapport Geplaatst: 13 september 2010 ik heb er eentje die het wel doet, ik wil je script wel even bekijken (dan ook graag het kleine scriptje) en als megadreams nog eens kijkt, ga je je tut over npc's nog afmaken anders schrijf ik er wel een Reageren
minkema Geplaatst: 13 september 2010 Auteur Rapport Geplaatst: 13 september 2010 ik heb er eentje die het wel doet, ik wil je script wel even bekijken (dan ook graag het kleine scriptje) en als megadreams nog eens kijkt, ga je je tut over npc's nog afmaken anders schrijf ik er wel een // This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT #define FILTERSCRIPT #define RECORDING "nppc" #define RECORDING_TYPE 1 #define ConnectNPC #define CreateVehicle #define SetPlayerPos #define SetPlayerCameraPos #define SetPlayerCameraLookAt #define IsPlayerNPC #define PutPlayerInVehicle #define SetPlayerMoney #define HenkVehicle new Stretch; #include <a_npc> #include <a_samp> 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 #if defined FILTERSCRIPT public OnFilterScriptInit() { print("my gamemode"); ConnectNPC("Henk","nppc"); Stretch = CreateVehicle(409, 0.0, 0.0, 5.0, 0.0, 1, 1, 5000); return 1; } public OnFilterScriptExit() { return 1; } #else main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } #endif public OnGameModeInit() { return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { if(IsPlayerNPC(playerid)) { new npcname [MAX_PLAYER_NAME]; GetPlayerName(playerid, npcname, sizeof(npcname)); if(!strcmp(npcname, "Henk", true)) { PutPlayerInVehicle(playerid, Stretch, 0); } return 1; } return 1; } het is een filterscript, dit is alles wat ik gebruikt heb. al die #defines komen omdat hij veel errors gaf wanneer ik dit niet deed. Reageren
Megadreams Geplaatst: 13 september 2010 Rapport Geplaatst: 13 september 2010 Heb je wel correct gebruik gemaakt van NPCmodes en Recordings? Reageren
Morph1 Geplaatst: 13 september 2010 Rapport Geplaatst: 13 september 2010 (bewerkt) ok dit is eigenlijk best slordig, al helemaal voor een filterscript als eerste moet je nooit wat boven "#include <a_samp>" zetten (alleen in de fsjes van de npc's waar standaard 2 regels boven staan) ten tweede heb je helemaal geen apart filterscript ervoor nodig, let op: 1. ik neem aan dat je dus een record bestandje genaamd "nppc.rec" in de map "samp-server\npcmodes\recordings" heb staan 2. open een nieuw pawn bestand, verwijder alles zodat je op regel 1 begint met nog nix 3. zet in dat bestand deze code #define RECORDING "nppc" #define RECORDING_TYPE 1 #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 dit is dus het bestandje waarin je npc aangewezen krijgt hoe hij zijn route gaat afleggen 4. sla dit bestand op als bijvoorbeeld "mijneerstenpc.pwn" in de map "samp-server\npcmodes" 5. compile het bestand. 6. ga nu naar je gamemode waar je je npc wilt laten connecten 7. zet daar bovenaan dit: new Stretch; 8. zet bij OnGameModeInit() het volgende: ConnectNPC("Henk","mijneerstenpc"); Stretch = CreateVehicle(409, 0.0, 0.0, 5.0, 0.0, 1, 1, 5000); 9. zo te zien zit die van jou in een auto dus moet je dit nog bij OnPlayerSpawn zetten: { if(IsPlayerNPC(playerid)) { new npcname [MAX_PLAYER_NAME]; GetPlayerName(playerid, npcname, sizeof(npcname)); if(!strcmp(npcname, "Henk", true)) { PutPlayerInVehicle(playerid, Stretch, 0); } return 1; } return 1; } als je nog problemen hebt kan je me altijd pmmen Bewerkt: 13 september 2010 door Morph1 Reageren
minkema Geplaatst: 13 september 2010 Auteur Rapport Geplaatst: 13 september 2010 ok dit is eigenlijk best slordig, al helemaal voor een filterscript als eerste moet je nooit wat boven "#include <a_samp>" zetten (alleen in de fsjes van de npc's waar standaard 2 regels boven staan) ten tweede heb je helemaal geen apart filterscript ervoor nodig, let op: 1. ik neem aan dat je dus een record bestandje genaamd "nppc.rec" in de map "samp-server\npcmodes\recordings" heb staan 2. open een nieuw pawn bestand, verwijder alles zodat je op regel 1 begint met nog nix 3. zet in dat bestand deze code #define RECORDING "nppc" #define RECORDING_TYPE 1 #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 dit is dus het bestandje waarin je npc aangewezen krijgt hoe hij zijn route gaat afleggen 4. sla dit bestand op als bijvoorbeeld "mijneerstenpc.pwn" in de map "samp-server\npcmodes" 5. compile het bestand. 6. ga nu naar je gamemode waar je je npc wilt laten connecten 7. zet daar bovenaan dit: new Stretch; 8. zet bij OnGameModeInit() het volgende: ConnectNPC("Henk","mijneerstenpc"); Stretch = CreateVehicle(409, 0.0, 0.0, 5.0, 0.0, 1, 1, 5000); 9. zo te zien zit die van jou in een auto dus moet je dit nog bij OnPlayerSpawn zetten: { if(IsPlayerNPC(playerid)) { new npcname [MAX_PLAYER_NAME]; GetPlayerName(playerid, npcname, sizeof(npcname)); if(!strcmp(npcname, "Henk", true)) { PutPlayerInVehicle(playerid, Stretch, 0); } return 1; } return 1; } als je nog problemen hebt kan je me altijd pmmen ik heb alles gevolgd, en het staat in mijn script zoals het hoord, alleen mijn npc staat op het spawnpoint, en hij heeft geen naam boven zijn hoofd, ik weet niet of je dat appart moet adden, omdat ik dat bij zogoed als alle npc's zie, dat ze een text boven hun hoofd hebben. Reageren
Morph1 Geplaatst: 14 september 2010 Rapport Geplaatst: 14 september 2010 dan kan je bovenaan bij ongamemodeinit deze regel toevoegen: ShowNameTags(1); nu zie je alle namen van alle spelers, volgens mij ook van de npc's Reageren
minkema Geplaatst: 14 september 2010 Auteur Rapport Geplaatst: 14 september 2010 mijn npc werkt nu mensen, bedankt voor de extra hulp en uitleg over alles die npc naam was met Attach3DTextLabelToVehicle Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.