The 0.2.5 actors were not synced. What you are seeing in those videos is essentially just GTA:SA's single player AI. I could go and add everything from single player to SA-MP including all the street peds, but it wouldn't synced, so what's the point? We never released anything to do with 0.2.5 actors. What you see in those videos was leaked by someone passwording a beta team member on this forum. That stuff was added for testing only and I figured out quickly it would not work well with the way SA-MP was designed. What those videos aren't showing you is that the actors could only drive for around 200 meters around the player. I added the actor system in 0.3.7 because I could see someone wanting to complete their server scripted casino but they didn't want to set up a whole bunch of NPCs. I had no intention of extending it beyond that for 0.3.7. SA-MP will probably never have peds that can roam around freely, or drive cars by AI. It has already been attempted many times by different people, including myself. There have been various hacks to do bots/extended NPCs and they haven't been that popular. There has never been a great enough demand from the servers that hold most of SA-MP's players to focus time and resources on AI. |
//PlayerActor native CreatePlayerActor(playerid,modelid,Float:X,Float:Y,Float:Z,Float:Rotation,name[]); native DestroyPlayerActor(playerid,PlayerActorid); native SpawnPlayerActor(playerid,PlayerActorid); native PlayerActorMoveTo(playerid,PlayerActorid,movetype,Float:X,Float:Y,Float:Z); native PlayerActorEnterVehicle(playerid,PlayerActorid,vehicleid,passenger); native PlayerActorExitVehicle(playerid,PlayerActorid,vehicleid); native PlayerActorDriveVehicleTo(playerid,PlayerActorid,vehicleid,Float:X,Float:Y,Float:Z,Float:Speed,drivetype,Float:MinAltitude=0.0,Float:MaxAltitude=0.0); //PlayerActorinfo native SetPlayerActorPos(playerid,PlayerActorid,Float:x,Float:y,Float:z); native SetPlayerActorPosFindZ(playerid,PlayerActorid,Float:x,Float:y,Float:z); native GetPlayerActorPos(playerid,PlayerActorid,&Float:x,&Float:y,&Float:z); native SetPlayerActorFacingAngle(playerid,PlayerActorid,Float:ang); native GetPlayerActorFacingAngle(playerid,PlayerActorid,&Float:ang); native SetPlayerActorInterior(playerid,PlayerActorid,interiorid); native GetPlayerActorInterior(playerid,PlayerActorid); native SetPlayerActorHealth(playerid,PlayerActorid,Float:health); native GetPlayerActorHealth(playerid,PlayerActorid,&Float:health); native SetPlayerActorArmour(playerid,PlayerActorid,Float:armour); native GetPlayerActorArmour(playerid,PlayerActorid,&Float:armour); native SetPlayerActorTeam(playerid,PlayerActorid,teamid); native GetPlayerActorTeam(playerid,PlayerActorid); native SetPlayerActorColor(playerid,PlayerActorid,color); native GetPlayerActorColor(playerid,PlayerActorid); native SetPlayerActorSkin(playerid,PlayerActorid,skinid); native GetPlayerActorSkin(playerid,PlayerActorid); native SetPlayerActorWeapon(playerid,PlayerActorid,weaponid); native ResetPlayerActorWeapon(playerid,PlayerActorid); native SetPlayerActorName(playerid,PlayerActorid,constname[]); native GetPlayerActorState(playerid,PlayerActorid); native GetPlayerActorWeapon(playerid,PlayerActorid); native GetPlayerActorKeys(playerid,PlayerActorid,&keys,&updown,&leftright); native GetPlayerActorName(playerid,PlayerActorid,constname[],len); //PlayerActorcontrols native PutPlayerActorInVehicle(playerid,PlayerActorid,vehicleid,seatid); native GetPlayerActorVehicleID(playerid,PlayerActorid); native GetPlayerActorVehicleSeat(playerid,PlayerActorid); native RemovePlayerActorFromVehicle(playerid,PlayerActorid); native PlayerActorApplyAnimation(playerid,PlayerActorid,animlib[],animname[],Float:fS,opt1,opt2,opt3,opt4,opt5); native PlayerActorClearAnimations(playerid,PlayerActorid); //PlayerActorconditionals native IsPlayerActorConnected(playerid,PlayerActorid); native IsPlayerActorInVehicle(playerid,PlayerActorid,vehicleid); native IsPlayerActorInAnyVehicle(playerid,PlayerActorid); //VirtualWorlds native SetPlayerActorVirtualWorld(playerid,PlayerActorid,worldid); native GetPlayerActorVirtualWorld(playerid,PlayerActorid);
There is no need to synchronize. |
you have NO idea what you are talking about when you say
Iknow alot of people want better npc's /actors but this post doesnt help anything. stop it before the dev team thinks twice about adding better npc's at all. |
Half a loaf is better than no bread |
Notice: SA-MP 0.3.7 is currently in feature lock-down. This will likely be the final RC testing phase for 0.3.7. |
And how would per-player actors be able to drive a vehicle? Vehicles can not be created per-player, so it would only sync for that specific player.
|
It looks like you are suggesting everything that NPCs are capable of.
Actors are static models which don't move. They are here to be spawned in stores or somewhere else, not to drive around town or something. |
If you want to understand the nodes part you need to check out Gamer_Z routeconnector plugin.
i still dont understand half of how it works. I started building a simple gps system following a tutorial gamer_z made somewhere. This actually worked fine untill i wanted fcnpc's to point out their own route. if i remember correct the npc did calculate its route but looked like setting its position to the last node. Thats where NaS came in to save the mess i made in my script XD. I told m that my idea was to make the npc's choose a route (point a random node on the map) randomly and then they'll move to there from their starting position. thats basicly it quaternions thing was a problem untill gamer also made this quaternion thingy |
I'm looking for NPC interested ppl |