CreateNPCPlayer(id,name[]);
// core
native CreateNPC(npcid,npcname[]);
native CreateNPCPlayer(id,name[]);
native IsValidNPC(npcid);
native DestroyNPC(npcid);
native KillNPC(npcid);
native SpawnNPC(npcid);
native PutNPCInVehicle(npcid,vehicleid,seat);
native StopNPC(npcid);
native SetNPCImpregnable(npcid,istate);
native IsNPCImpregnable(npcid);
native GetNPCState(npcid);
native ToogleVisualDeath(tstate);
native DisableJoinPartLogging();
native FindLastFreeSlot();
// on foot controlls
native SetNPCPos(npcid,Float:X,Float:Y,Float:Z);
native GetNPCPos(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCFacingAngle(npcid,Float:angle);
native Float:GetNPCFacingAngle(npcid);
native SetNPCVelocity(npcid,Float:X,Float:Y,Float:Z);
native GetNPCVelocity(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCKeys(npcid,updown,leftright,keys);
native GetNPCKeys(npcid,&updown,&leftright,&keys);
native SetNPCSkin(npcid,skin);
native GetNPCSkin(npcid);
native SetNPCInterior(npcid,interior);
native GetNPCInterior(npcid);
native SetNPCSpecialAction(npcid,action);
native GetNPCSpecialAction(npcid);
native SetNPCWeapon(npcid,weaponid);
native GetNPCWeapon(npcid);
native SetNPCWeaponSkillLevel(npcid,weapontype,level);
native GetNPCWeaponSkillLevel(npcid,weapontype);
native SetNPCHealth(npcid,Float:amount);
native Float:GetNPCHealth(npcid);
native SetNPCArmour(npcid,Float:amount);
native Float:GetNPCArmour(npcid);
native SetNPCSurfing(npcid,Float:X,Float:Y,Float:Z);
native GetNPCSurfing(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCSurfingVehicle(npcid,vehicleid);
native GetNPCSurfingVehicle(npcid);
// aim controls
native SetNPCCameraPos(npcid,Float:X,Float:Y,Float:Z);
native GetNPCCameraPos(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCCameraFrontVector(npcid,Float:X,Float:Y,Float:Z);
native GetNPCCameraFrontVector(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCCameraMode(npcid,mode);
native GetNPCCameraMode(npcid);
native SetNPCWeaponState(npcid,wstate);
native GetNPCWeaponState(npcid);
// driver controls
native SetNPCVehiclePos(npcid,Float:X,Float:Y,Float:Z);
native GetNPCVehiclePos(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCVehicleQuaternion(npcid,Float:X,Float:Y,Float:Z,Float:Scal);
native GetNPCVehicleQuaternion(npcid,&Float:X,&Float:Y,&Float:Z,&Float:Scal);
native SetNPCVehicleVelocity(npcid,Float:X,Float:Y,Float:Z);
native GetNPCVehicleVelocity(npcid,&Float:X,&Float:Y,&Float:Z);
native SetNPCVehicleKeys(npcid,updown,leftright,keys);
native GetNPCVehicleKeys(npcid,&updown,&leftright,&keys);
native SetNPCVehicleSiren(npcid,vstate);
native GetNPCVehicleSiren(npcid);
native SetNPCVehicleWeapon(npcid,weaponid);
native GetNPCVehicleWeapon(npcid);
// standart actions
native NPC_WalkTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);
native NPC_RunTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);
native NPC_SprintTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);
native NPC_CrouchTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);
native NPC_Jump(npcid);
native NPC_LookAt(npcid,Float:X,Float:Y,Float:Z);
native NPC_AimAt(npcid,Float:X,Float:Y,Float:Z);
native NPC_ShotAt(npcid,Float:X,Float:Y,Float:Z);
native NPC_DriveTo(npcid,Float:X,Float:Y,Float:Z,Float:speed,is_z_map);
// damage config
native SetWeaponDamageForNPC(weaponid,Float:damage);
native SetWeaponReloadTimeForNPC(weaponid,mstime);
// .rec playbacks
native StartRecordingPlayback(npcid,name[]);
native PauseRecordingPlayback(npcid);
native ContinueRecordingPlayback(npcid);
native StopRecordingPlayback(npcid);
// GTA SA paths
native Node:OpenNode(name[]);
native CloseNode(Node:nodeid);
native GetNodeHeader(Node:nodeid,&nodes,&vehicle_nodes,&ped_nodes,&navi_nodes);
native SetNodePoint(Node:nodeid,pointid);
native GetNodePoint(Node:nodeid);
native GetNodePointPos(Node:nodeid,&Float:X,&Float:Y,&Float:Z);
native GetNodePointLinkId(Node:nodeid);
native GetNodePointAreaId(Node:nodeid);
native GetNodePointWidth(Node:nodeid);
native GetNodePointLinkCount(Node:pointid);
native GetNodePointTrafficLevel(Node:nodeid);
native IsNodePointRoadBlock(Node:nodeid);
native IsNodePointBoats(Node:nodeid);
native IsNodePointEmergency(Node:nodeid);
native IsNodePointNotHighway(Node:nodeid);
native IsNodePointSpawn(Node:nodeid);
native IsNodePointRoadBlock1(Node:nodeid);
native IsNodePointParking(Node:nodeid);
native IsNodePointRoadBlock2(Node:nodeid);
native GetNodePointType(Node:nodeid);
native SetNodeLink(Node:nodeid,linkid);
native GetNodeLinkAreaId(Node:nodeid);
native GetNodeLinkNodeId(Node:nodeid);
// ZMap
native ZMap_Init(mapname[]);
native Float:ZMap_GetZForCoords(Float:X,Float:Y);
// Rolls
native Float:ConvertRollToGrad(Float:roll);
native Float:ConvertGradToRoll(Float:grad);
// CPlayer structure
native GetPlayerStructureInfoByte(playerid,structure_offset);
native GetPlayerStructureInfoInt(playerid,structure_offset);
native Float:GetPlayerStructureInfoFloat(playerid,structure_offset);
// CVehicle structure
native GetVehicleStructureInfoByte(vehicleid,structure_offset);
native GetVehicleStructureInfoInt(vehicleid,structure_offset);
native Float:GetVehicleStructureInfoFloat(vehicleid,structure_offset);
// Foot sync
native GetFootSyncDataByte(playerid,offset);
native GetFootSyncDataInt(playerid,offset);
native Float:GetFootSyncDataFloat(playerid,offset);
//
// Callbacks
//
forward OnNPCGetDamage(npcid,playerid,Float:health_loss,bodypart);
forward OnRecordingPlaybackEnd(npcid,reason);
forward OnNPCMovingComplete(npcid);
forward OnNPCSpawn(npcid);
forward OnNPCDeath(npcid,killerid,reason);
Jó kis plugin, én használom, és az egyik készítõ msn-je meg is van. :angel:Ja tényleg,izé,beleírom :D
De azt kifelejtetted, hogy csak windows-on megy. :)
Nincs meg a source kódja véletlenül? :(Ahh nagy nehezen talán meg tudom szerezni az egyik fejlesztõtõl, de nem biztos.
CreateNPCPlayer(id,name[]);
Csak azt nem értem, hogy buknál le ::|CreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
Én ezt használom a sima helyett. Sokkal könnyebb vele a munka és jobb a kezelhetõsége. 10/10Megkéred a hostot h rakja át más IPre a szervert és kész :DCreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
Csak azt nem értem, hogy buknál le ::|
CreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
Van rá valami rendszerük ami jelzi ha valaki használja?
[/quote]
Egyszerû..
Ha valaki észreveszi egy szerveren, hogy ezt használják, akkor IP-vel együtt jelenti és utánajárnak, ha tényleg használják akkor tiltják.
\" post=\"124996\" timestamp=\"1301235334\"]
Mivel Kye betiltatta ezért illegális nem?
Szerintem nem kellene kitenni :S
[/quote]
Nem tud magyarul :D Ha megis akkor... :-\\
Ha meglenne a source akkor valószínûleg megcsinálom/megcsináljuk linuxra is és
ha lehet akkor kiveszünk pár funkciót :angry:
hahahahaha levegõ lettem :D
Megkéred a hostot h rakja át más IPre a szervert és kész :D
Én ezt használom a sima helyett. Sokkal könnyebb vele a munka és jobb a kezelhetõsége. 10/10CreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
[/quote]
Szerintem Kalcor nem hagyja, hogy szórakozzanak vele, megoldja..
CreateNPCPlayer(id,name[]);
Ezt a függvényt NE használjátok.
[/quote]
Pont ezért fogják használni. ;D
ForráskódTHANKS, KURTA! :D
static cell AMX_NATIVE_CALL n_CreateNPC( AMX* amx, cell* params )
{
int npcid = (int)params[1];
char* temp;
amx_StrParam(amx, params[2], temp);
if(!NPC[npcid])
{
NPC[npcid] = new CNPC(npcid,temp,1);
return 1;
}
return 0;
}
void CNPC::VehicleKnock(int a_id,float pos_x,float pos_y,float pos_z,float v_x,float v_y,float v_z)
{
if((fly_x != 0.0) || (fly_y != 0.0) || (fly_z != 0.0)) return;
// npc pos
GetPos(&np_x,&np_y,&np_z);
pos_x += (v_x * 5) - np_x;
pos_y += (v_y * 5) - np_y;
pos_z += (v_z * 5) - np_z;
// if range
if(IsInRange(pos_x,pos_y,pos_z,1.0))
{
if(sqrt((v_x * v_x) + (v_y * v_y) + (v_z * v_z)) < 0.1) return;
fly_x = v_x * 2;
fly_y = v_y * 2;
fly_z = v_z * 2;
// less health
float health = GetHealth();
float dmg = sqrt((fly_x * fly_x) + (fly_y * fly_y) + (fly_z * fly_z)) * 20;
health -= dmg;
if(GetDamage(myid,a_id,dmg,4))
{
SetHealth(health);
if(health <= 0.0) Kill(a_id,47);
}
}
}
Egy kérdés: Hogy a f***ba töltötted azt le ? xDCopy and Paste it :D
Amúgy használnám, ha lenne linuxra :)
Ide most kéne egy profi scripter, aki a CNPC.inc alján lévõ dolgokat felújítaná 0.3c-re, és akkor a samp megint lépne egyet xDValaki ezt lefordítaná? xD
http://www.samp-rus.com/forum/62-12136-1
http://www.samp-rus.com/forum/62-12110- <- Ezt muszály!
Ehhez nincsen link az a probléma, de benne van a CNPC-be, mert az is ezszerint mûködik.Igazad van. :D
Vagy próbálj meg a hivatalos fórumon egy PM-et dobni Alex009-re, hogy küldjre el neked, és te továbbfejlesztenéd. Mert neki tuti megvan.
Kicsit sokáig fog tartani: Last Activity: 03/05/2011 07:10 AM :DAz = FAIL.
Gondolom olvastad az elsõ témámat a hivatalos fórumon. :DNem :D
Amúgy meg egy elég jó hasznos függvény a SetNPCVehicleSiren meg a GotoPlayer is. ;)
Azér tûnt el, mert Kye törölte.Erre én is rájöttem. :D
Amúgy engem ez boldogított kicsit meg: http://code.google.com/p/samp-alex009-projects/
Ott lent nézz jól körül mi van. Holnap kirakom az official fórumra má télleg :D Remélem ezt nem törlik, de szerintem rögtön bannolnak vele eggyütt..
a hooks plugin mit takar?Azzal hívja meg a callackokat, OnPlayerSpawn, Death, stb...
is_z_map mit takar?A ZMap szerint-e mûködjön a dolog.
kb. :S És akkor most mit írjak oda? 1?Írj egyet, azt írod, amire épp szükséged van.
ma megtaláltam 0.3c re a plugin linuxos verzióját (én nem próbáltam de haverom azt mondta hogy megy)Ezt majd lehet tesztelem, amúgy ha szabad kérdeznem erre hol találtál rá ?
Link: http://adamix.ru/CNPC.so
És a 0.3c-s windowsos plugint honnan tudom leszedni?Erre inkább nem mondok semmit...
Erre inkább nem mondok semmit...
És a 0.3c-s windowsos plugint honnan tudom leszedni?
[/quote]ja semmi :D
E: nekem nem mûködik...
Bezárja a szerver ablakot mikor beteszem a pluint, meg a log is furcsa...
SA-MP Dedicated Server
----------------------
v0.3c R4, (C)2005-2011 SA-MP Team
[11:56:11]
[11:56:11] Server Plugins
[11:56:11] --------------
[11:56:11] Loading plugin: sscanf
[11:56:11]
[11:56:11] ===============================
[11:56:11] sscanf plugin loaded.
[11:56:11] (c) 2009 Alex \"Y_Less\" Cole
[11:56:11] ===============================
[11:56:11] Loaded.
[11:56:11] Loading plugin: streamer
[11:56:11]
*** Streamer Plugin v2.5.1 by Incognito loaded ***
[11:56:11] Loaded.
[11:56:11] Loading plugin: Whirlpool
[11:56:11]
[11:56:11] ==================
[11:56:11]
[11:56:11] Whirlpool loaded
[11:56:11]
[11:56:11] ==================
[11:56:11]
[11:56:11] Loaded.
[11:56:11] Loading plugin: cnpc
[11:56:11] ############################################
[11:56:11] # Controllable NPC v 0.2.7 #
[11:56:11] # by 009 & updated by m0niSx & adamis #
[11:56:11] ############################################
[11:56:11] Unknown server version
[11:56:11] Loaded.
[11:56:11] Loaded 4 plugins.
[11:56:11]
[11:56:11] Ban list
[11:56:11] --------
[11:56:11] Loaded: samp.ban
[11:56:11]
[11:56:11]
[11:56:11] Filter Scripts
[11:56:11] ---------------
[11:56:11] Loading filter script \'LuxAdmin.amx\'...
és bezárja...
Sima 0.3c -n igen, R verziókon tudtommal nem.Ok. Lesz munkám estére. ^-^
Akkor sok sikert hozzá! :)RakNettõl kapom.
( Idézet helyett véletlen lájkoltam xD )
Amúgy még azt megmondanád, hogy milyen programmal keresed vagy hogy ki az offseteket ? Mert egypárat feljekk újítani :D
Elkérted, aztán csak úgy odaadták? :)Nem. Keresztapám valamelyik ismerõse megvette, az új RakNet 4-et, majd engem is csatlakoztatott a szerzõdésbe.
OFF: 300. hsz :D
Nemtudom, hogy ez mennyire tartozik ide, de ez áll hozzá a legközelebb.Azért durva, hogy már ilyen pluginokat is gyártanak ::|
Amúgy ajánlom az embereknek, hogy nézzenek be ide.
Bár az elsõ üzenetben le van írva, hamis játékost ha észreveszik a szervereden, akkor tiltás jár :)
Most azt akarja hogy localhoston ne teszteljem a módot? Ez köcsögség.Biztos sok különbség van egy játékos és egy mesterséges játékos között.
Mondjuk egy wifi beállítást túl lehet élni + server.cfg-ben jelszót megadni és kész, de akkor is.
Szerintem már csináltak valamit a játékos mutatól, mert ha a weben nem mutatta, és a kliensben igen, akkor szerintem ott csináltak valami védelmet.Igen, és Kliens-be is megvan már, csak nem a mostaniba, hanem 0.4 -be. :)
Igen, és Kliens-be is megvan már, csak nem a mostaniba, hanem 0.4 -be. :)
Szerintem már csináltak valamit a játékos mutatól, mert ha a weben nem mutatta, és a kliensben igen, akkor szerintem ott csináltak valami védelmet.
[/quote]
Ezt meg honnan veszed ? :D
Igen, és Kliens-be is megvan már, csak nem a mostaniba, hanem 0.4 -be. :)
Szerintem már csináltak valamit a játékos mutatól, mert ha a weben nem mutatta, és a kliensben igen, akkor szerintem ott csináltak valami védelmet.
[/quote]
Ezt meg honnan veszed ? :D
[/quote]
A kis hacker.
Sry hogy beleszólok de most mirõl van szó?
Engem is érdekel :P
[/quote]
NPC/BOT/PED
Igen, és Kliens-be is megvan már, csak nem a mostaniba, hanem 0.4 -be. :)
Szerintem már csináltak valamit a játékos mutatól, mert ha a weben nem mutatta, és a kliensben igen, akkor szerintem ott csináltak valami védelmet.
[/quote]
Ezt meg honnan veszed ? :D
[/quote]
Én rászoktam írni 1-2 személyre a SA-MP Beta Team-ból, most is, hogy miért törölték a témámat. :D
Ha Ti is ráakartok írni valakire, akkor ajánlom, hogy mindig másra, mert megunják és nem válaszolnak. :laugh:
Az KI**szOTT jó lenne!??? ??? ??? ??? ???
Nekem nemszokásom ráírni, mert én tudom milyen az, ha az embert mindig **sztassák ilyenekkel, tehát elõre tudom, hogy nem válaszolnak. De ha igen, akkor szerencséd van :D
E: Jóvan, semmi, marhaság az egész!
http://translate.google.hu/translate?hl=hu&sl=pt&u=http://www.brasilplayforever.com/t37861-samp-04a-esta-para-sair-em-fevereiro&ei=1H9FTt3LI4meOrzp8c4D&sa=X&oi=translate&ct=result&resnum=9&ved=0CGYQ7gEwCA&prev=/search%3Fq%3Dsamp%2B0.4a%26hl%3Dhu%26sa%3DN%26biw%3D1876%26bih%3D1027%26prmd%3Divns
NPC_DriveTo(npcid,Float:X,Float:Y,Float:Z,Float:speed,is_z_map);
CreateNPCPlayer(id,name[]);
Csinál(t) egy olyan NPCt, ami megjelent a scoretab-on, és volt pingje meg ilyenek, szoval mint egy normális játékosCreateNPCPlayer(id,name[]);
Ez mit is csinál? :D
CreateNPCPlayer(id,name[]);
Csinál(t) egy olyan NPCt, ami megjelent a scoretab-on, és volt pingje meg ilyenek, szoval mint egy normális játékosCreateNPCPlayer(id,name[]);
Ez mit is csinál? :D