Re: YSF - kurta999's version -
beckzy - 05.03.2015
If you can change it in R12 then I will use this plugin. Do you have a list of memory hacking functions? Or a list of non memory hacking functions - whichever is shorter. Thanks
Re: YSF - kurta999's version -
kurta999 - 05.03.2015
pawn Code:
CMD:shotme(playerid, params[])
{
new playertwo;
if(sscanf(params, "u", playertwo)) return SendClientMessage(playerid, 0xFF0000AA, "USAGE: /shotme <playertwo>");
new Float:x, Float:y, Float:z;
GetPlayerPos(playertwo, x, y, z);
SendBulletData(playertwo, playerid, BULLET_HIT_TYPE_PLAYER, x, y, z, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1);
return 1;
}
Tested and works. If doesn't, then get the .dll which I uploaded here and it will. (This is beta of R12, still need to to some small things and will be released)
Re: YSF - kurta999's version -
beckzy - 05.03.2015
Quote:
Originally Posted by kurta999
Per-player gang zones are per-player, global for each player.
I don't want to highlight myself, but if you go back, you can see that I already update YSF to newer samp versions since 2011 (?). So don't worry  Maybe a bit later, but I'll update this version for 0.3.7 too when released. This is my server core, I need this plugin too.
|
I'm considering using it. How often do OnPlayerEnterGangZone and OnPlayerLeaveGangZone update?
Re: YSF - kurta999's version -
kurta999 - 05.03.2015
In every 5 server tick, you will able to change it in R12.
Re: YSF - kurta999's version -
Manowar - 05.03.2015
I use include versions R10, this does not solve the problem. If there is a newer version let me include a link to download.
Re: YSF - kurta999's version -
Manowar - 05.03.2015
Quote:
Originally Posted by kurta999
Tested and works. If doesn't, then get the .dll which I uploaded here and it will. (This is beta of R12, still need to to some small things and will be released)
|
Before that, I used the plugin
YSF - kurta999 version R10, now I downloaded your dll
YSF - kurta999 version R11
I received the following message in the log
Script[gamemodes/testgm.amx]: Run time error 19: "File or function is not found"
[sampgdk:error] Too many callback arguments (at most 32 allowed)
Re: YSF - kurta999's version -
beckzy - 05.03.2015
What about the callbacks?
Re: YSF - kurta999's version -
kurta999 - 05.03.2015
Load YSF as last plugin & recompile every scripts which you use with latest YSF.inc
Re: YSF - kurta999's version -
kurta999 - 05.03.2015
Oh, sorry
http://forum.sa-mp.com/showpost.php?...&postcount=807
Quote:
Originally Posted by BeckzyBoi
What about the callbacks?
|
Everything is depends on memory hacking, except OnServerMessage which currently only work on windows but i'm working on fix it on linux.
But anyway don't afraid, I'm almost reversed every class from samp server and Kye doesn't made big changes in new version so easy to update.
Re: YSF - kurta999's version -
Excel™ - 05.03.2015
Could we use PlayerGangZones for streaming purposes?
Re: YSF - kurta999's version -
Manowar - 05.03.2015
kurta999 thank you very much for the work done, I got in what very much needed my script. Now everything works fine.
Re: YSF - kurta999's version -
bogdyutzu - 07.03.2015
Try to fix also ApplyAnimationForPlayer please!
EDIT: I found a mistake in git at SetVehicleSpawnInfo. CHECK_PARAMS(8, "IsVehicleDead"); should be CHECK_PARAMS(8, "SetVehicleSpawnInfo");
EDIT2: Also at SetPlayerRotationQuatForPlayer.
Re: YSF - kurta999's version -
kurta999 - 07.03.2015
Thanks but these functions are experimentel, do not working now.
Re: YSF - kurta999's version -
bogdyutzu - 07.03.2015
Sad...
Re: YSF - kurta999's version -
kurta999 - 07.03.2015
Somebody can help me with linux compiling please?
My problem is with RakServer::Send hook.
https://github.com/kurta999/YSF/blob/YSF_/src/Hooks.cpp
Код:
./src/Hooks.cpp:60:14: error: expected ‘;’ at end of member declaration
static bool __thiscall Send(void* ppRakServer, RakNet::BitStream* parameters, int priority, int reliability, unsigned orderingChannel, PlayerID playerId, bool broadcast);
^
./src/Hooks.cpp:60:170: error: ISO C++ forbids declaration of ‘Send’ with no type [-fpermissive]
static bool __thiscall Send(void* ppRakServer, RakNet::BitStream* parameters, int priority, int reliability, unsigned orderingChannel, PlayerID playerId, bool broadcast);
^
./src/Hooks.cpp:478:17: error: expected initializer before ‘CHookRakServer’
bool __thiscall CHookRakServer::Send(void* ppRakServer, RakNet::BitStream* parameters, int priority, int reliability, unsigned orderingChannel, PlayerID playerId, bool broadcast)
^
./src/Hooks.cpp: In function ‘void InstallPostHooks()’:
./src/Hooks.cpp:981:75: error: invalid use of non-static member function ‘int CHookRakServer::Send(void*, RakNet::BitStream*, int, int, unsigned int, PlayerID, bool)’
((int*)(*(void**)pRakServer))[RAKNET_SEND_OFFSET] = (int)CHookRakServer::Send;
^
makefile:22: recipe for target 'YSF' failed
Quote:
Originally Posted by bogdyutzu
Sad...
|
Maybe will work in R13.
Re: YSF - kurta999's version -
bogdyutzu - 08.03.2015
Can you add a callback when a vehicle changed heath?
Re: YSF - kurta999's version -
kurta999 - 10.03.2015
Solved, thank you.
Now I'm testing R12 at my live linux server, if it will work, I'll release it today.
Quote:
Originally Posted by bogdyutzu
Can you add a callback when a vehicle changed heath?
|
You can do it in pawn.
E: Still problems with sync.
Re: YSF - kurta999's version -
Kar - 11.03.2015
Kurta there is no point in a GetObjectType function.
Код:
if(pNetGame->pObjectPool->m_bObjectSlotState[objectid] && pNetGame->pObjectPool->m_bPlayerObjectSlotState[playerid][objectid])
+ ret = SELECT_OBJECT_PLAYER_OBJECT;
+ else
+ ret = SELECT_OBJECT_GLOBAL_OBJECT;
if objectid 1 is a player object its always gonna return a player object even if theres a global objectid 1..
What might be more fitting is a GetObjectTypes(objectid, &playerObject, &globalObject); to check if the objectid is in any of the 2 pools and pass the value by reference.
Re: YSF - kurta999's version -
kurta999 - 12.03.2015
Fixed, thanks. Now it will work, tested.
Re: YSF - kurta999's version -
Kar - 13.03.2015
You still misunderstood!
It's still not gonna function the correct way!
The correct name for your function is
'isObjectIDBeingUsed(playerid, objectid)' which is detecting if the 'object id' 0 - 1000 is being used in either the global objectid pool or the player object pool!
A GetObjectType function cannot function the way you created it, if objectid 1 is being used in both the global object pool and the player object pool it's gonna always return the global object id because that is the first check!
Код:
BYTE ret;
if(pNetGame->pObjectPool->m_bObjectSlotState[objectid])
ret = SELECT_OBJECT_GLOBAL_OBJECT;
else if(pNetGame->pObjectPool->m_bPlayerObjectSlotState[playerid][objectid])
ret = SELECT_OBJECT_PLAYER_OBJECT;
else
ret = 0;
If you still don't understand, what native language do you speak? I'll get someone from my community to translate for you.