GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Sramm - 2012. Július 18. - 19:27:43

Cím: Anti Weapon Hack [Sramm]
Írta: Sramm - 2012. Július 18. - 19:27:43
Sziasztok! Láttam, hogy Crazy publikált egy hasonló szkriptet, ezzel megadva nekem az új ötleteket.
 

Ez egy olyan rendszer, amivel könnyedén szabhatod meg, hogy egy szerveren milyen fegyverek lehessenek használhatóak.

Kezelése nagyon egyszerû:
 
AddIllegalWeapon(fegyverid);

 


Ezt kell beraknod az OnGameModeInit alá, vagy oda, ahol le akarod tiltani az adott fegyvert.

 
RemoveIllegalWeapon(fegyverid);

 


Ezt kell beraknod oda, ahol fel akarod oldani  tiltást az adott fegyverrõl.

 
AddIllegalWeaponForPlayer(játékosid,fegyverid);

 


Ezzel megszabhatod, hogy egy adott játékosnak milyen fegyvert nem szabad használnia. (Ha egynek beállítod, a többi attól még tudja használni.)

 
RemoveIllegalWeaponFromPlayer(játékosid,fegyverid);

 


Értelemszerûen feloldod a az adott fegyverrõl a tiltást.

 
RemovePlayerWeaponEx(játékosid,fegyverid);

 


Valakitõl elvehetsz egy fegyvert.

És van egy eljárásunk is:
 

OnWeaponHack(playerid,weaponid)

 
Ha valakinél tiltott fegyvert találunk, azt adhatod meg, hogy a fegyver elvétele mellet mit csináljon. Bannolhatod,kickelheted,üzentet küldhetsz neki, amit akarsz.
Fontos!
 

Az OnPlayerUpdate alá ezt írd be:



 
Antiweap_ON(playerid);

 


Letöltés
 

antiweapon.inc
 

Teszt Szkript:
 


#include <a_samp>
#include <zcmd>
#include <antiweapon>
 
public OnFilterScriptInit()
{
print(\"\\n=====================================================\");
print(\" Anti Weapon Hack - Teszt Filterscript | 2012 - Sramm\");
print(\"=====================================================\\n\");
AddIllegalWeapon(38); //minigun
return 1;
}
CMD:giveweapon(playerid,params[])
{
new szp = strval(params);
if(!strval(params)) return SendClientMessage(playerid,-1,\"Használat: /giveweapon [fegyverid]\");
if(szp < 1 || szp > 47) return SendClientMessage(playerid,-1,\"1 - 47-ig!\");
GivePlayerWeapon(playerid,szp,999999999);
return 1;
}
CMD:illweap(playerid,params[])
{
        new szp = strval(params);
if(!strval(params)) return SendClientMessage(playerid,-1,\"Használat: /illweap [fegyverid]\");
if(szp < 1 || szp > 47) return SendClientMessage(playerid,-1,\"1 - 47-ig!\");
AddIllegalWeapon(szp);
return 1;
}
CMD:unlockweap(playerid,params[])
{
        new szp = strval(params);
if(!strval(params)) return SendClientMessage(playerid,-1,\"Használat: /illweap [fegyverid]\");
if(szp < 1 || szp > 47) return SendClientMessage(playerid,-1,\"1 - 47-ig!\");
RemoveIllegalWeapon(szp);
return 1;
}
public OnWeaponHack(playerid,weaponid)
{
GameTextForPlayer(playerid,\"HACKEEEEEEEEEEEEEEEER!\",3000,1);
SendClientMessage(playerid,-1,\"Hackelsz? -.-\");
return 1;
}
public OnPlayerUpdate(playerid)
{
Antiweap_ON(playerid);
return 1;
}
 
public OnFilterScriptExit()
{
return 1;
}
Cím: Anti Weapon Hack [Sramm]
Írta: instant - 2012. Július 18. - 21:43:23
Jó lett
Ezt ugye meg lehet csinálni sscanfal hogy adja a fegyvert nem ?
Cím: Anti Weapon Hack [Sramm]
Írta: Striker - 2012. Július 18. - 23:02:49
Nekem hasznos, jó lett  :thumbsup:
Cím: Anti Weapon Hack [Sramm]
Írta: Sramm - 2012. Július 19. - 13:17:29
Idézetet írta: ZzzzzZ date=1342640603\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24636\" data-ipsquote-contentclass=\"forums_Topic
Jó lett
Ezt ugye meg lehet csinálni sscanfal hogy adja a fegyvert nem ?
 
Meglehet, de felesleges :D
Cím: Anti Weapon Hack [Sramm]
Írta: instant - 2012. Július 19. - 13:37:51
Idézetet írta: Sramm date=1342696649\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24636\" data-ipsquote-contentclass=\"forums_Topic


Jó lett
Ezt ugye meg lehet csinálni sscanfal hogy adja a fegyvert nem ?
 
Meglehet, de felesleges :D
 
[/quote]
hozzá vagyok nõve az sscanfhoz  ,strval(paramst) nem értem xd
Cím: Anti Weapon Hack [Sramm]
Írta: Sramm - 2012. Július 19. - 14:20:33
Tessék sscanf-al:
 

#include <a_samp>
#include <zcmd>
#include <antiweapon>
#include <sscanf2>
 
public OnFilterScriptInit()
{
print(\"\\n=====================================================\");
print(\" Anti Weapon Hack - Teszt Filterscript | 2012 - Sramm\");
print(\"=====================================================\\n\");
AddIllegalWeapon(38); //minigun
return 1;
}
CMD:giveweapon(playerid,params[])
{
new szp;
if(sscanf(params,\"i\",szp)) return SendClientMessage(playerid,-1,\"Használat: /giveweapon [fegyverid]\");
if(szp < 1 || szp > 47) return SendClientMessage(playerid,-1,\"1 - 47-ig!\");
GivePlayerWeapon(playerid,szp,999999999);
return 1;
}
CMD:illweap(playerid,params[])
{
        new szp;
if(sscanf(params,\"i\",szp))  return SendClientMessage(playerid,-1,\"Használat: /illweap [fegyverid]\");
if(szp < 1 || szp > 47) return SendClientMessage(playerid,-1,\"1 - 47-ig!\");
AddIllegalWeapon(szp);
return 1;
}
CMD:unlockweap(playerid,params[])
{
        new szp;
if(sscanf(params,\"i\",szp))  return SendClientMessage(playerid,-1,\"Használat: /illweap [fegyverid]\");
if(szp < 1 || szp > 47) return SendClientMessage(playerid,-1,\"1 - 47-ig!\");
RemoveIllegalWeapon(szp);
return 1;
}
public OnWeaponHack(playerid,weaponid)
{
GameTextForPlayer(playerid,\"HACKEEEEEEEEEEEEEEEER!\",3000,1);
SendClientMessage(playerid,-1,\"Hackelsz? -.-\");
return 1;
}
public OnPlayerUpdate(playerid)
{
Antiweap_ON(playerid);
return 1;
}
 
public OnFilterScriptExit()
{
return 1;
}
Cím: Anti Weapon Hack [Sramm]
Írta: instant - 2012. Július 19. - 14:53:29
sramm nem kellet volna megírnod mivel értem az sscanfot és használom is :)
Cím: Anti Weapon Hack [Sramm]
Írta: Amf - 2012. Július 19. - 23:50:36
Fasza lett, felhasználom!
Cím: Anti Weapon Hack [Sramm]
Írta: ZyZu. - 2012. Július 20. - 10:18:03
Szép lett!  :unsure:
Cím: Anti Weapon Hack [Sramm]
Írta: xSkillZ7x - 2012. Július 20. - 15:42:21
Hat mit mondjak.Nagyon jo kis inc.Fel hasznalom.Am egy kerdesem lenne:
Ha tobb fegyvert akarok illegalra tenni akkor annyiszor kell letrehozzam azt hogy :
 

AddIllegalWeapon(fegyverid);

 
vagy valahogy ugy nem lehetne megoldani hogy:
 
AddIllegalWeapon(fegyverid1, fegyverid2 ,stb);

 
De am nagyon szep munka.Respect +