Üdv! Ez a jó dolog már nem letölthetõ a hiv. fórumról,mert van benne egy szabálytalan rész amiért Kye bannolta a fejlesztõket. Azért ide feltöltöm, viszont a tiltott függvényt nem ajánlom használni. Ez arra szolgál,hogy a kliensed valódi játékosként érzékeli az NPC-ket és számolja õket a szerver telítetségénél.
CreateNPCPlayer(id,name[]);
Ezt a függvényt NE használjátok.
A többit nyugodtan.
A pluginról
A plugin nagyszerû lehetõségeket biztosít az NPC-k kezelésére és nagyban megkönnyítik a dolgunkat is.
// 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);
Eljárások:
//
// Callbacks
//
forward OnNPCGetDamage(npcid,playerid,Float:health_loss,bodypart);
forward OnRecordingPlaybackEnd(npcid,reason);
forward OnNPCMovingComplete(npcid);
forward OnNPCSpawn(npcid);
forward OnNPCDeath(npcid,killerid,reason);
Windows:LETÖLTÉSLinux 0.3c verziós: LETÖLTÉS
Thanks, Chuck! I go test it ;D
E: FIRST!!!!4!!FOR!!FOUR!!!!
Jó kis plugin, én használom, és az egyik készítõ msn-je meg is van. :angel:
De azt kifelejtetted, hogy csak windows-on megy. :)
Jó kis plugin, én használom, és az egyik készítõ msn-je meg is van. :angel:
De azt kifelejtetted, hogy csak windows-on megy. :)
Ja tényleg,izé,beleírom :D
Nincs meg a source kódja véletlenül? :(
Nincs :(
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.
Lehet hogy nem akarja majd odaadni, de megpróbálom :)
Én ezt használom a sima helyett. Sokkal könnyebb vele a munka és jobb a kezelhetõsége. 10/10
CreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
CreateNPCPlayer(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 ::|
Van rá valami rendszerük ami jelzi ha valaki használja?
Én ezt használom a sima helyett. Sokkal könnyebb vele a munka és jobb a kezelhetõsége. 10/10
CreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
Megkéred a hostot h rakja át más IPre a szervert és kész :D
CreateNPCPlayer(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 ::|
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.
ahahaahahahah lefagytak az NPC-k mikor betöltöttem a MySQL-t :D
Mivel Kye betiltatta ezért illegális nem?
Szerintem nem kellene kitenni :S
\" 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
Kár, hogy nincs linuxra. Sok szervergép azon van.
Én ezt használom a sima helyett. Sokkal könnyebb vele a munka és jobb a kezelhetõsége. 10/10
CreateNPCPlayer(id,name[]);
Lehet használni, csak ha lebuksz akkor letiltják a szerveredet a Mester Szerverrõl. (A Kliens nem fogja kijelezni)
Megkéred a hostot h rakja át más IPre a szervert és kész :D
[/quote]
Szerintem Kalcor nem hagyja, hogy szórakozzanak vele, megoldja..
Forráskód
CreateNPCPlayer(id,name[]);
Ezt a függvényt NE használjátok.
[/quote]
Pont ezért fogják használni. ;D
Forráskód
THANKS, KURTA! :D
E:javárj... hiányos :angry: van benne 37 error ::|
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;
}
Ez még kijavítható :D
Amúgy meglehet csinálni alap NPC-vel.
Ha már ittvan kocsira az utközés:
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 faszba töltötted azt le ? xD
Amúgy használnám, ha lenne linuxra :)
Egy kérdés: Hogy a f***ba töltötted azt le ? xD
Amúgy használnám, ha lenne linuxra :)
Copy and Paste it :D
Amúgy a link mellé beírod a fájl nevét és letölti ;)
Én is használnám de hiányoznak pár fájlok. :angry:
Másik hogy a linuxos szerverek a legjobbak. Márha jól van konfigurálva és tuningolva :D
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 xD
http://www.samp-rus.com/forum/62-12136-1
http://www.samp-rus.com/forum/62-12110- <- Ezt muszály!
Hát ezek marhajó dolgok, igazad van, ettõl a samp sokat lépne
Ha adtok a forráskódhoz linket (Structure Access) akkor belenézek, és megpróbálom összehozni 0.3c-re.
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 xD
http://www.samp-rus.com/forum/62-12136-1
http://www.samp-rus.com/forum/62-12110- <- Ezt muszály!
Valaki ezt lefordítaná? xD
Amúgy nem látom hogy kilenne helyezve a teljes forráskódja. :-[
A google a barátod
http://translate.google.hu/translate?hl=hu&sl=ru&tl=hu&u=http%3A%2F%2Fwww.samp-rus.com%2Fforum%2F62-12136-1
Ehhez nincsen link az a probléma, de benne van a CNPC-be, mert az is ezszerint mûködik.
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.
E: Valaki leírná, hogy miszerint kell ezt a címkét megkeresni ? xD
Ehhez nincsen link az a probléma, de benne van a CNPC-be, mert az is ezszerint mûködik.
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.
Igazad van. :D
Szerk.:
JAVÁRJ! Ha regisztrálok akkor az admin beleegyezése is kell -.-\"
Szerk2.:
PM elküldve.
Nem azér, de biztos neked fogja elküldeni, ha épp látja rajtad, hogy most regiztél :D.
De reméljük.
Amúgy mik nincsenek még itt az oroszoknál...
Ottvan az a Dummy Bot, CNPC csatlakozása már megvan oldva :D
Kicsit sokáig fog tartani: Last Activity: 03/05/2011 07:10 AM :D
Kicsit sokáig fog tartani: Last Activity: 03/05/2011 07:10 AM :D
Az = FAIL.
Picsába, megkell próbálni kiszedni a pluginból, mert amire õ újra feljön..
Ha jövõhétig se jön fel, akkor a hibás kódjából megpróbálom összerakni. ;)
Csak gyorsan siessen mert lejár a szafatossága a programnak. :laugh:
Találtam benen rejtett cuccokat, csak nemtom ezek mire vannak, nekem nemcsináltak semmit.
[pawn]
SetNPCVehicleSiren(NPC:npcid,state);
GetNPCVehicleSiren(NPC:npcid);
SetVehicleUnique( float ertek )
[/pawn]
E: SetVehicleUnique-vel egy egyedi paramétert lehet megadni/lekérni a jármû struktúrának, jelenleg ezt próbálom elérhetõvé tenni.
Megpróbáltam a struktúrás cuccokat kiszedni, addig eljutotttam, hogy átraktam egy másik pluginba, már csak ott a baj, hogy hogyan rendelem hozzá a vID-t a függvényhez.
Ha ez valakit érdekel:
[pawn]
//----------------------------------------------------------
//
// Based on PointToPoint plugin by: Blacklite and <__Ethan__>
// Functions copyed for CNPC Plugin. By Alex009 and new adresses (0.3c) found by: m0niSx
//
//----------------------------------------------------------
#include \"math.h\"
#include <stdio.h>
#include <stddef.h>
#include \"windows.h\"
#include \"SDK/amx/amx.h\"
#include \"SDK/plugincommon.h\"
//----------------------------------------------------------
// AMX Default
typedef void (*logprintf_t)(char* format, ...);
logprintf_t logprintf;
void **ppPluginData;
extern void *pAMXFunctions;
#define PLUGIN_FUNCTION static cell AMX_NATIVE_CALL
#pragma pack(1)
struct InCarSync // 0x86 - 0xC5
{
WORD VehicleId; // 0x86 - 0x0
WORD KeysLR; // 0x88 - 0x2
WORD KeysUD; // 0x8A - 0x4
WORD KeysOther; // 0x8C - 0x6
FLOAT QuaternionScal; // 0x8E - 0x8
FLOAT QuaternionX; // 0x92 - 0xC
FLOAT QuaternionY; // 0x96 - 0x10
FLOAT QuaternionZ; // 0x9A - 0x14
FLOAT PosX; // 0x9E - 0x18
FLOAT PosY; // 0xA2 - 0x1C
FLOAT PosZ; // 0xA6 - 0x20
FLOAT VelocityX; // 0xAA - 0x24
FLOAT VelocityY; // 0xAE - 0x28
FLOAT VelocityZ; // 0xB2 - 0x2C
FLOAT Health; // 0xB6 - 0x30
BYTE PlayerHealth; // 0xBA - 0x34
BYTE PlayerArmour; // 0xBB - 0x35
BYTE PlayerWeapon; // 0xBC - 0x36
BYTE SirenState; // 0xBD - 0x37
BYTE Unknown2; // 0xBE - 0x38
WORD TrailerId; // 0xBF - 0x39
FLOAT Unique; // 0xC1 - 0x3B
};
// Offsets
#define C_SAMP_PLAYERS_OFFSET 0x4
#define C_SAMP_VEHICLES_OFFSET 0x8
//
#define C_PLAYERS_PLAYER_OFFSET 0x7D0
#define C_VEHICLES_VEHICLE_OFFSET 0x1F40
//
// R2
#define R2_C_PLAYER_POS_X_OFFSET 0x0
#define R2_C_PLAYER_POS_Y_OFFSET 0x4
#define R2_C_PLAYER_POS_Z_OFFSET 0x8
#define R2_C_PLAYER_HEALTH_OFFSET 0xC
#define R2_C_PLAYER_ARMOUR_OFFSET 0x10
#define R2_C_PLAYER_ANGLE_OFFSET 0x24
#define R2_C_PLAYER_SYNC_TYPE_OFFSET 0x3E
#define R2_C_PLAYER_FOOT_SYNC_OFFSET 0x42
#define R2_C_PLAYER_INCAR_SYNC_OFFSET 0x86
#define R2_C_PLAYER_PASSANGER_SYNC_OFFSET 0xC5
#define R2_C_PLAYER_AIM_SYNC_OFFSET 0xDD
#define R2_C_PLAYER_AIM_SYNC_STATE_OFFSET 0x275
#define R2_C_PLAYER_STATE_OFFSET 0x281
#define R2_C_PLAYER_IS_STREAMED_OFFSET 0x2BB
#define R2_C_PLAYER_WEAPON_SKILL_OFFSET 0x1A37
#define R2_C_PLAYER_SKIN_OFFSET 0x296 //0x1986
#define R2_C_PLAYER_VEHICLE_ID_OFFSET 0x1A86
#define R2_C_PLAYER_VEHICLE_SEAT_OFFSET 0x1A85
#define R2_C_PLAYER_INTERIOR_OFFSET 0x1A88
#define R2_C_PLAYER_PLAYBACK_FILE 0x1A20
//
#define R2_C_VEHICLE_POS_X_OFFSET 0x0
#define R2_C_VEHICLE_POS_Y_OFFSET 0x4
#define R2_C_VEHICLE_POS_Z_OFFSET 0x8
#define R2_C_VEHICLE_DRIVER_OFFSET 0x6A
#define R2_C_VEHICLE_MODEL_OFFSET 0x82
#define R2_C_VEHICLE_HEALTH_OFFSET 0xA6
// Adresses
#define TEST_ADDR_1 0x479590
#define TEST_ADDR_2 0x46E75A
#define R2_DATA_1 0x50
#define R2_DATA_2 0x89
// structs address
// R2
#define R2_C_SAMP_STRUCTURE 0x4F5268
// fuctions address
// R2
#define R2_CLIENT_CONNECT 0x47C750
#define R2_CLIENT_DISCONNECT 0x47CA50
#define R2_SPAWN_FOR_WORLD 0x494390
#define R2_KILL_FOR_WORLD 0x4920E0
#define R2_SET_SPAWN_INFO 0x491110
#define R2_SET_SKIN 0x48ABA0
#define R2_SET_WEAPON_SKILL 0x4899C0
// logging pointers
#define R2_JOIN_POINTER 0x47C9C4
#define R2_PART_POINTER 0x47CBC8
#define SAMP_VERSION_032 1
// main vars
DWORD c_samp;
DWORD c_players;
DWORD c_vehicles;
DWORD CSampPointer;
// remote procedures pointers
DWORD CPlayerPosXOffset;
DWORD CPlayerPosYOffset;
DWORD CPlayerPosZOffset;
DWORD CPlayerHealthOffset;
DWORD CPlayerArmourOffset;
DWORD CPlayerAngleOffset;
DWORD CPlayerStateOffset;
DWORD CPlayerFootSyncOffset;
DWORD CPlayerInCarSyncOffset;
DWORD CPlayerPassangerSyncOffset;
DWORD CPlayerAimSyncOffset;
DWORD CPlayerAimSyncStateOffset;
DWORD CPlayerSyncTypeOffset;
DWORD CPlayerWeaponSkillOffset;
DWORD CPlayerSkinOffset;
DWORD CPlayerInteriorOffset;
DWORD CPlayerIsStreamedOffset;
DWORD CPlayerVehicleIdOffset;
DWORD CPlayerVehicleSeatOffset;
DWORD CVehiclePosXOffset;
DWORD CVehiclePosYOffset;
DWORD CVehiclePosZOffset;
DWORD CVehicleDriverOffset;
DWORD CVehicleModelOffset;
DWORD CVehicleHealthOffset;
DWORD c_player_struct;
bool Unlock(void *address, int len)
{
#ifdef WIN32
DWORD
oldp;
// Shut up the warnings :D
return !!VirtualProtect(address, len, PAGE_EXECUTE_READWRITE, &oldp);
#else
return !mprotect((void*)(((int)address / PAGESIZE) * PAGESIZE), PAGESIZE, PROT_WRITE | PROT_READ | PROT_EXEC);
#endif
}
#define POINTER_TO_MEMBER(m,n,o) temp = n, m = *(o *)&temp
void HooksInstall(int version)
{
// addr
void *temp;
switch(version)
{
case SAMP_VERSION_032:
{
/*
POINTER_TO_MEMBER(ClientConnectPointer,(void *)(R2_CLIENT_CONNECT),f_ClientConnect);
POINTER_TO_MEMBER(ClientDisconnectPointer,(void *)(R2_CLIENT_DISCONNECT),f_ClientDisconnect);
POINTER_TO_MEMBER(SpawnForWorldPointer,(void *)(R2_SPAWN_FOR_WORLD),f_SpawnForWorld);
POINTER_TO_MEMBER(SetSpawnInfoPointer,(void *)(R2_SET_SPAWN_INFO),f_SetSpawnInfoPointer);
POINTER_TO_MEMBER(SetSkinPointer,(void *)(R2_SET_SKIN),f_SetSkinPointer);
POINTER_TO_MEMBER(KillForWorldPointer,(void *)(R2_KILL_FOR_WORLD),f_KillForWorld);
POINTER_TO_MEMBER(SetWeaponSkillPointer,(void *)(R2_SET_WEAPON_SKILL),f_SetWeaponSkill);
*/
POINTER_TO_MEMBER(CPlayerPosXOffset,(void *)(R2_C_PLAYER_POS_X_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerPosYOffset,(void *)(R2_C_PLAYER_POS_Y_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerPosZOffset,(void *)(R2_C_PLAYER_POS_Z_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerHealthOffset,(void *)(R2_C_PLAYER_HEALTH_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerArmourOffset,(void *)(R2_C_PLAYER_ARMOUR_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerAngleOffset,(void *)(R2_C_PLAYER_ANGLE_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerStateOffset,(void *)(R2_C_PLAYER_STATE_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerFootSyncOffset,(void *)(R2_C_PLAYER_FOOT_SYNC_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerInCarSyncOffset,(void *)(R2_C_PLAYER_INCAR_SYNC_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerPassangerSyncOffset,(void *)(R2_C_PLAYER_PASSANGER_SYNC_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerAimSyncOffset,(void *)(R2_C_PLAYER_AIM_SYNC_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerAimSyncStateOffset,(void *)(R2_C_PLAYER_AIM_SYNC_STATE_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerSyncTypeOffset,(void *)(R2_C_PLAYER_SYNC_TYPE_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerWeaponSkillOffset,(void *)(R2_C_PLAYER_WEAPON_SKILL_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerSkinOffset,(void *)(R2_C_PLAYER_SKIN_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerInteriorOffset,(void *)(R2_C_PLAYER_INTERIOR_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerIsStreamedOffset,(void *)(R2_C_PLAYER_IS_STREAMED_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerVehicleIdOffset,(void *)(R2_C_PLAYER_VEHICLE_ID_OFFSET),DWORD);
POINTER_TO_MEMBER(CPlayerVehicleSeatOffset,(void *)(R2_C_PLAYER_VEHICLE_SEAT_OFFSET),DWORD);
POINTER_TO_MEMBER(CVehiclePosXOffset,(void *)(R2_C_VEHICLE_POS_X_OFFSET),DWORD);
POINTER_TO_MEMBER(CVehiclePosYOffset,(void *)(R2_C_VEHICLE_POS_Y_OFFSET),DWORD);
POINTER_TO_MEMBER(CVehiclePosZOffset,(void *)(R2_C_VEHICLE_POS_Z_OFFSET),DWORD);
POINTER_TO_MEMBER(CVehicleDriverOffset,(void *)(R2_C_VEHICLE_DRIVER_OFFSET),DWORD);
POINTER_TO_MEMBER(CVehicleModelOffset,(void *)(R2_C_VEHICLE_MODEL_OFFSET),DWORD);
POINTER_TO_MEMBER(CVehicleHealthOffset,(void *)(R2_C_VEHICLE_HEALTH_OFFSET),DWORD);
/*
POINTER_TO_MEMBER(LoggingJoinPointer,(void *)(R2_JOIN_POINTER),DWORD);
POINTER_TO_MEMBER(LoggingPartPointer,(void *)(R2_PART_POINTER),DWORD);
*/
break;
}
}
}
// Functions
void SetVehicleQuaternion(float x,float y,float z,float s)
{
*(FLOAT*)(c_player_struct + CPlayerInCarSyncOffset + offsetof(InCarSync,QuaternionX)) = x;
*(FLOAT*)(c_player_struct + CPlayerInCarSyncOffset + offsetof(InCarSync,QuaternionY)) = y;
*(FLOAT*)(c_player_struct + CPlayerInCarSyncOffset + offsetof(InCarSync,QuaternionZ)) = z;
*(FLOAT*)(c_player_struct + CPlayerInCarSyncOffset + offsetof(InCarSync,QuaternionScal)) = s;
}
PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports()
{
return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;
}
PLUGIN_EXPORT bool PLUGIN_CALL Load( void **ppData )
{
Unlock((void*)0x401000,0xF0844);
pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF];
logprintf( \" PointToPoint Plugin Loaded.\" );
return true;
}
PLUGIN_EXPORT void PLUGIN_CALL Unload( )
{
logprintf( \"PointToPoint Plugin Unloaded.\" );
}
//----------------------------------------------------------
PLUGIN_FUNCTION n_SetVehicleQuaternion( AMX* amx, cell* params )
{
SetVehicleQuaternion(amx_ctof(params[1]), amx_ctof(params[2]), amx_ctof(params[3]), amx_ctof(params[4]));
return 1;
}
//----------------------------------------------------------
AMX_NATIVE_INFO HelloWorldNatives[ ] =
{
{ \"SetVehicleQuaternion\", n_SetVehicleQuaternion },
{ 0, 0 }
};
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad( AMX *amx )
{
c_samp = *(DWORD*)(CSampPointer);
c_players = *(DWORD*)(c_samp + C_SAMP_PLAYERS_OFFSET);
c_vehicles = *(DWORD*)(c_samp + C_SAMP_VEHICLES_OFFSET);
return amx_Register( amx, HelloWorldNatives, -1 );
}
PLUGIN_EXPORT int PLUGIN_CALL AmxUnload( AMX *amx )
{
return AMX_ERR_NONE;
}
[/pawn]
Gondolom olvastad az elsõ témámat a hivatalos fórumon. :D
Amúgy meg egy elég jó hasznos függvény a SetNPCVehicleSiren meg a GotoPlayer is. ;)
Gondolom olvastad az elsõ témámat a hivatalos fórumon. :D
Amúgy meg egy elég jó hasznos függvény a SetNPCVehicleSiren meg a GotoPlayer is. ;)
Nem :D
Adj linket arról, mert nemtom mirõl beszélsz.
Kiszedem belõle a CreateNPCPlayer-t és egy másik névvel felregizek és felrakom, hátha valaki felújítja xD
Kiszedést úgy éretm, hogy a pluginból eltávolítom, de annak ellenére még vissza fog lehetni rakni.
Tess: http://forum.sa-mp.com/showthread.php?t=257876
Vannak benne angol failok de legalább megértették.
Csak nekem kell beimportálni .sln fájlba hogy plugin legyen. Nem köcsögök? :(
GL. De az IP ugyanaz szóval tökmindegy. :D
Úgyse fogják kiadni 0.3c-re, pláne hogy tiltott. De eltûnt a topicja is. :-[
Én megpróbálkozok de még készítem a object streameremet amit még azse tudom hogy publikáljak :laugh:
Azér tûnt el, mert Kye törölte.
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..
Azér tûnt el, mert Kye törölte.
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..
Erre én is rájöttem. :D
Amúgy nem értem mire gondolsz. Hooks module SA-MP 0.1-ra?
Felette xD
Alex már dolgozik a cuccon, elérhetõ a 0.3c R1-es verzió.
http://controllable-npc.googlecode.com/svn/trunk/
Letöltés:
www.nm-ss.tarhely.biz/DownloadSVN.exe -vel.
Beleírod a fenti linket, kiválasztod hova mentse, és tölti is.
:(
Én már hozzákezdtem. Mindegy folytatom. :D
a hooks plugin mit takar?
a hooks plugin mit takar?
Azzal hívja meg a callackokat, OnPlayerSpawn, Death, stb...
is_z_map mit takar?
is_z_map mit takar?
A ZMap szerint-e mûködjön a dolog.
ZMap = Legmagasabb pont.
Pl.: Megvan h az NPC elmenjen egy megadott pontra, és közbe vannak házak is meg dombok, mindenféle szarság. Természetesen ha légvonalba fog menni, akkor ez azt fogja csinálni, hogy ha odaér a házhoz, akkor nem átmegy a házon, hanem felteszi õt a ház tetejére, amikor már kiér a ház szélire, akkor meg lerakja õt az útra, vagy ami ottvan. Tehát midnig a legmagasabb pontra teszi. Remélem érted :D
kb. :S És akkor most mit írjak oda? 1?
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)
Link: http://adamix.ru/CNPC.so
ma megtaláltam 0.3c re a plugin linuxos verzióját (én nem próbáltam de haverom azt mondta hogy megy)
Link: http://adamix.ru/CNPC.so
Ezt majd lehet tesztelem, amúgy ha szabad kérdeznem erre hol találtál rá ?
Vagy csak próbálgattad a linket ? :D
német sa-mp fórumon
És a 0.3c-s windowsos plugint honnan tudom leszedni?
És a 0.3c-s windowsos plugint honnan tudom leszedni?
Erre inkább nem mondok semmit...
És a 0.3c-s windowsos plugint honnan tudom leszedni?
Erre inkább nem mondok semmit...
[/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...
Csak az ALAP 0.3c-vel mûködik, a linuxosat nemtudom, de szerintem azis, max R2.
----------------------
Na megkerestem kettõ címkét ( IDA Pro Advanced-el ) csak crashel és a f***om tudja, hogy miért, de márt kicsit beleidegeskedtem :D
0.3c R5
A címke mind jó, az CPlayer offset is paszol, tehát nincs tippem.
[pawn]
#define R5_CLIENT_CONNECT 0x465920
#define R5_C_SAMP_STRUCTURE 0x4E4190
[/pawn]
és ezt mindenki lássa ? :P vagy csak én vagy csak ? ^-^
Ha a botokra gondolsz, akkor mindeki :)
Akár még rendesen vezérelt játékost is létre tudsz hozni vele!
Helyzet jelentést kapok? :)
Mûködik a Controlable NPC 0.3c-n? Legalábbos Win32-n.
Sima 0.3c -n igen, R verziókon tudtommal nem.
Sima 0.3c -n igen, R verziókon tudtommal nem.
Ok. Lesz munkám estére. ^-^
ÚRISTEN! MÁR ILYEN HANGULATJELEKET IS HASZNÁLOK T.T
Akkor sok sikert hozzá! :)
( 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
Akkor sok sikert hozzá! :)
( 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
RakNettõl kapom.
Elkérted, aztán csak úgy odaadták? :)
OFF: 300. hsz :D
Ezzel az a baj, hogy minden egyes update-nél megváltoznak a memória címek. És ez egy ilyen pluginnál elengedhetetlen, hogy tudjuk a memória címeket (a szükségeseket).
Ezért lenne ajánlatos Y_Less módszerét követni, és csak a teljes verziókra ráfrissíteni... (Nem az ilyen R-s verziókra...)
Elkérted, aztán csak úgy odaadták? :)
OFF: 300. hsz :D
Nem. Keresztapám valamelyik ismerõse megvette, az új RakNet 4-et, majd engem is csatlakoztatott a szerzõdésbe.
Minden ASCII értékeket, meg amit akarok azt ingyen kapom.
Szerk.: Megint OFF lesz.
De a RakNet az nem kereskedelmi használatra ingyenes...
Akkor elvileg mi is megkaphatnánk nem? Akik ezt a verziót használjuk... (Hiszen csak a licensz-re kell ráfizetni kereskedelmi használat esetén...)
Nemtudom, hogy ez mennyire tartozik ide, de ez áll hozzá a legközelebb.
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 :)
Nemtudom, hogy ez mennyire tartozik ide, de ez áll hozzá a legközelebb.
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 :)
Azért durva, hogy már ilyen pluginokat is gyártanak ::|
De tuti, hogy Kye megoldás fog találni rá, és nem is lenne olyan nehéz, mert ezeknek a játékosoknak 127.0.0.1 az IPjük, és OnPlayerConnect-nél letiltja az ilyen Ipjü játékosokat.
Most azt akarja hogy localhoston ne teszteljem a módot? Ez köcsögség.
Mondjuk egy wifi beállítást túl lehet élni + server.cfg-ben jelszót megadni és kész, de akkor is.
Most azt akarja hogy localhoston ne teszteljem a módot? Ez köcsögség.
Mondjuk egy wifi beállítást túl lehet élni + server.cfg-ben jelszót megadni és kész, de akkor is.
Biztos sok különbség van egy játékos és egy mesterséges játékos között.
Ha az egyik megfelel a tiltásra, akkor kihasználja. De ez szerintem csak a köv. verzióba lesz.
Meg pont az ilyenek miatt ugrott meg az Online Players és ezért törölték az én témámat is.
A kép pedig, fake, mert kb. 5000el kevesebb játékos van.
Meg a pingje óriási nagy neki. ( Százmilliónyi értékû szám )
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.
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. :)
Nyugi. Ha már CarColornak sikerült egyedi objecteket betenni, lehet hogy 0.3d-ben már forgalom is lesz.
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. :)
[/quote]
Ezt meg honnan veszed ? :D
Sry hogy beleszólok de most mirõl van szó?
Engem is érdekel :P
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. :)
[/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
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. :)
[/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:
Akkor most 0.4a lesz?
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
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
??? ??? ??? ??? ???
Ha ez igaz akkor összesz*rom magam.
De nem hinném hogy sok esély van rá, ha meg igen, akkor ez jövõre sem lesz kész.
HACSAK Kalcor bácsi nem szerzett egy új team-et.
E: angolban valamivel érthetõbb.
E2: Ezt találtam, de tuti hogy fake, már a survey-bõl is látom...
Fake. A pagesize beállítva 1-50-ig. Nincs olyan ember aki a maxot állítaná be. De ez a rádió szinkronizálás jó ötlet lesz.
Gondolom Kálcium megosztotta velük, mivel nekik a karakterkódolásuk másabb mint a mienk.
Hülyeség az az egész, semmi, nem lényeges. Átkéne helyezni ezeket az utolsó HSZ-eket a verzióknál lévõ Általáno témába szerintem.
Ez nekem 0.3d-be nagyon jól jönne, vagy valami olyan ami ehhez hasonló. Pl az NPC elküldése valahova stb ezek igen igen jóljönnének, valaki tud valamit?
Bár nem vágom nagyon miez ???
De azt szeretném megkérdezni azt nem lehet meg csinálni h ne számolja a szerver az npc ket? Mert hostingnál nem szeretnék többet fizetni :D
Sorry a bumpért.Ez még mûködik?Mer ha igen akkor megcsinálom az olyan kocsi vezetést h akár 6 pontra is elvezeti az npct talán.
0.3b R2, 0.3c-vel igen.
Fene, 0.3d R2-re nemlehet megcsinni? :question:
Dupla hozzászólás automatikusan összefûzve. ( 2012. Március 24. - 11:01:13 )
Ha nem nembaj, akkor 0.3cn megírom önmagát vezetõ kittet:
NPC_DriveTo(npcid,Float:X,Float:Y,Float:Z,Float:speed,is_z_map);
Lájk this function!
Ez kell nekem kitthez, az önmagát vezetõ kocsihoz.:D
Az nem lehetséges, hogy valaki aki jobban ért a pluginokhoz írna ebbõl egy includet mondjuk csak a leg fontosabb függvényekbõl, és akkor az verzió független lenne? Én értem hogy sokkal gyorsabba plugin meg minden,de ez egy használhatóbb megoldás lenne nem?
CreateNPCPlayer(id,name[]);
Ez mit is csinál? :D
CreateNPCPlayer(id,name[]);
Ez mit is csinál? :D
Csinál(t) egy olyan NPCt, ami megjelent a scoretab-on, és volt pingje meg ilyenek, szoval mint egy normális játékos
Elvileg ezért lett betiltva a plugin, mert \'kamu\' játékosokat lehetett vele csinálni.
Pedig nagyon jó funkció, rengeteg normál playerre vonatkozó
parancsot át lehet rá vinni.
Animációkkal szívtam vele :D De valahogy tuti megoldható.
Régi modban lepakoltam 23 ilyet, aztán írtam hozzá egy automata támadás-t.
Egész jó kis NPC (T)DM-et össze lehet vele hozni.
Mivel követni is tud, csak script kérdése, mit csinálsz.
Én több felvehetõ NPC bajtársat terveztem, akik segítenek a harcban :D
Jó kis cucc, csak újabb SAMP-okra nincs.
Illetve 0.3c-n(asszem c-s a legújabb) elég instabil, 1-2 hétig
szívtam vele, NPC újratöltésnél miért akad ki a szeró... Persze most már meg nem mondanám, mi volt.. :whistle:
Az nem lehetséges, hogy valaki aki jobban ért a pluginokhoz írna ebbõl egy includet mondjuk csak a leg fontosabb függvényekbõl, és akkor az verzió független lenne? Én értem hogy sokkal gyorsabba plugin meg minden,de ez egy használhatóbb megoldás lenne nem?
CreateNPCPlayer(id,name[]);
Ez mit is csinál? :D
CreateNPCPlayer(id,name[]);
Ez mit is csinál? :D
Csinál(t) egy olyan NPCt, ami megjelent a scoretab-on, és volt pingje meg ilyenek, szoval mint egy normális játékos
Elvileg ezért lett betiltva a plugin, mert \'kamu\' játékosokat lehetett vele csinálni.
Pedig nagyon jó funkció, rengeteg normál playerre vonatkozó
parancsot át lehet rá vinni.
Animációkkal szívtam vele :D De valahogy tuti megoldható.
Régi modban lepakoltam 23 ilyet, aztán írtam hozzá egy automata támadás-t.
Egész jó kis NPC (T)DM-et össze lehet vele hozni.
Mivel követni is tud, csak script kérdése, mit csinálsz.
Én több felvehetõ NPC bajtársat terveztem, akik segítenek a harcban :D
Jó kis cucc, csak újabb SAMP-okra nincs.
Illetve 0.3c-n(asszem c-s a legújabb) elég instabil, 1-2 hétig
szívtam vele, NPC újratöltésnél miért akad ki a szeró... Persze most már meg nem mondanám, mi volt.. :whistle:
CreateNPCPlayer(id,name[]);
Nem értem miért tiltott úgy se jönnek rá ez a másik....
Pláne hogy MTA ba is ugyan ilyen interaktív NPC-k vannak és? (lehet azért tilos mert javul a játék élmény! xDD )
Nem jönnek rá?
Épp ezaz. Mivel a szerver IPjérõl csatlakoznak, ezért nagyon könnyû rájönni
A másik pedig, hogy bot mozgása van, és ha írsz neki, nem válaszol.
Jó Plugin. Sajnos nem tudjuk használatba venni a Linux miatt.
Kár, hogy 0.3b óta nem jó.
Szoval ha linuxon lenne, sem tudnád :D