Anti Weapon Hack [Sramm]

Indította Sramm, 2012. július 18. - 19:27:43

Előző téma - Következő téma

Sramm

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
 

http://www.solidfiles.com/d/f9c03d0a68/\" rel=\"external nofollow\">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;
}

instant

Jó lett
Ezt ugye meg lehet csinálni sscanfal hogy adja a fegyvert nem ?

Striker

Nekem hasznos, jó lett  :thumbsup:

Sramm

Idézetet írta: ZzzzzZ date=1342640603\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24636\" data-ipsquote-contentclass=\"forums_TopicJó lett
Ezt ugye meg lehet csinálni sscanfal hogy adja a fegyvert nem ?
 
Meglehet, de felesleges :D

instant

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

Sramm

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;
}

instant

sramm nem kellet volna megírnod mivel értem az sscanfot és használom is :)

Amf


ZyZu.


xSkillZ7x

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 +