Guten Tag liebe Community,
Ich habe ein kleiner Problemchen..
Also, ich habe vor zwei Tagen nach einem Filterscript gesucht, in dem die SD Pistol als Tazer genutzt werden kann. Das habe ich zum Schluss dann auch gefunden, da ich aber so gut wie keine Erfahrung im Scripten habe, tauchten einige kleine Probleme auf, auf die mir der Ersteller des FS bis jetzt noch nicht antworten konnte.
- Es kommen keine Errors
Problem Nummer 1:
Ich habe die FraktionsID eingetragen, gehe dann aber Ingame probiere aus ob es geht. Es geht aber leide nicht, es kommt jedes mal die Meldung "Du bist kein Bulle". Ich weiss halt nicht woran das liegt..
Problem Nummer 2:
Ich wollte die Tazerfunktion halt für das LSPD,LVPD und die Army haben, (FrakID 1,2,3) ich weiss aber nicht wo ich die eintragen soll, weill jedes mal Warnings kommen, wenn ich die Frakids einfach nach einander aufliste/schreibe.
Hier ist das FS
//Ein Tazer Script von Piet_Meier
//mit 15sek Tazer
//15 sek anti schuss
//und AntiTazerHack
#include <a_samp>
#define F 0xFFFFFFFF
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\nTazer Special by Piet_Meier\n");
SetTimer("AntiHack", 1000, 1);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/tazer", cmdtext, true) == 0)
{
if(!isPlayerInFrakt(playerid, 1))return SendClientMessage(playerid, F, "Du bist kein Bulle");
if(GetPVarInt(playerid, "Waffehabe")==1)return SendClientMessage(playerid, F, "Warte 15 sek");
GivePlayerWeapon(playerid, 23, 1);
SetPVarInt(playerid, "Tizer", 1);
return 1;
}
return 0;
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(issuerid!=INVALID_PLAYER_ID)//ist der betroffende nicht du
{
if(weaponid==23)//welche waffe also jetzt die 23 Silencer
{
if(isPlayerInFrakt(playerid, 1))//Deine Fraktionsvariable hier eintragen
{
if(GetPVarInt(playerid, "Tizer")==1)
{
TazerTake(playerid, issuerid);//gehe zu stock TazerTake
}
}
}
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys==KEY_FIRE)
{
if(GetPVarInt(playerid, "Tizer")==1)
{
SetPVarInt(playerid, "Tizer", 0);
SetTimerEx("Waffe", 15000, 0, "i", playerid);
}
}
return 1;
}
forward Waffe(i);
public Waffe(i)
{
SetPVarInt(i, "Tizer", 1);
GivePlayerWeapon(i, 23, 1);
SetPVarInt(i, "Waffehabe", 0);
return 1;
}
forward AntiHack();
public AntiHack()
{
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i, "Tazered")==1)
{
TogglePlayerControllable(i, 0);
}
}
}
return 1;
}
stock TazerTake(playerid, id)//hier der TazerTake Stock
{
new P[128], T[128];
format(P, 128, "Du Tazerst %s für 15 sek", SpielerName(id));
format(T, 128, "%s Tazert dich für 15 sek", SpielerName(playerid));
SendClientMessage(playerid, F, P);
SendClientMessage(id, F, T);
SetPVarInt(id, "Tazered", 1);
TogglePlayerControllable(id, 0);
SetTimerEx("Tazer", 15000, 0, "i", id);
return 1;
}
forward Tazer(i);
public Tazer(i)
{
SetPVarInt(i, "Tazered", 0);
TogglePlayerControllable(i, 1);
return 1;
}
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
stock isPlayerInFrakt(playerid,fraktid)
{
if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
return 0;
}
Ich bedanke mich bereits jetzt für hilfreiche Antworten!
Mit freundlichen Grüßen
Jumpin