Ich nehm dafür das Include OnPlayerShootPlayer
http://forum.sa-mp.com/showthread.php?t=195439
/Edit dumm ausgedrückt
Ich nehm dafür das Include OnPlayerShootPlayer
http://forum.sa-mp.com/showthread.php?t=195439
/Edit dumm ausgedrückt
Geht nicht Hab s jetzt so :
ocmd:arrest(playerid,params[])
{
new pID,zeit,knastz,knastzm/*kaution*/;
new string[90],string2[90];
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,Grau,"** Du bist kein Cop.");
if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
if(sscanf(params,"ui",pID,zeit/*,kaution*/))return SendClientMessage(playerid,Grau,"Benutze /arrest [ID] [Wanteds]");
if(GetPVarInt(pID,"Wanted")==0) return SendClientMessage(playerid,Grau,"** Dieser Spieler hat keine Wanteds.");
if(!IsPlayerInRangeOfPoint(playerid,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Du bist nicht am Arrest Point.");
if(!IsPlayerInRangeOfPoint(pID,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Der Gesuchte ist nicht am Arrest Point.");
knastzm=zeit*5;
format(string,sizeof(string),"**->Polizist %s hat %s für %i Minuten eingesperrt.",SpielerName(playerid),SpielerName(pID),knastzm);
format(string2,sizeof(string2),"*** ->Du bist jetz %i Minuten im Knast. /knastzeit um zu kucken wir lang noch.",knastzm);
SetPlayerWantedLevel(pID,0);
SetPVarInt(pID,"Wanted",0);
knastz=zeit*6000*5;
SetPVarInt(pID,"Knastzeit",knastz);
SetPlayerInterior(pID,3);
SetPlayerPos(pID,198.6527,161.9291,1003.0300);
SpielerSpeichern(pID);
SetTimerEx("knast1",1,1,"i",pID);
SetTimerEx("knast2",knastz,0,"i",pID);
SendClientMessage(pID,0x0087FFFF,string2);
SendClientMessageToAll(0x0087FFFF,string);
return 1;
}
public knast1(playerid)
{
new knzeit;
knzeit=GetPVarInt(playerid,"Knastzeit")-1;
SetPVarInt(playerid,"Knastzeit",knzeit);
SpielerSpeichern(playerid);
}
public knast2(playerid)
{
SetPlayerInterior(playerid,0);
SpawnPlayer(playerid);
SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
}
public knast4(playerid)
{
if(GetPVarInt(playerid,"Knastzeit")>=1)
{
new knzeit;
knzeit=GetPVarInt(playerid,"Knastzeit")-1;
SetPVarInt(playerid,"Knastzeit",knzeit);
SpielerSpeichern(playerid);
}
return 1;
}
public knast3(playerid)
{
SetPlayerInterior(playerid,0);
SpawnPlayer(playerid);
SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
return 1;
}
OnPlayerSpawn --->
if(GetPVarInt(playerid,"Knastzeit")>=1)
{
SetPlayerWantedLevel(playerid,0);
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,198.6527,161.9291,1003.0300);
SetTimerEx("knast4",1,1,"i",playerid);
SetTimerEx("knast§",dini_Int(Spieler,"Knastzeit"),1,"i",playerid);
SendClientMessage(playerid,GRÜN,"Du bist wieder im Knast.");
}
Beim Disconnect:
stock SpielerSpeichern(playerid)
{
new pname[MAX_PLAYERS],Spieler[128];
GetPlayerName(playerid,pname,sizeof pname);
format(Spieler,sizeof Spieler,"/Accounts/%s.datei",pname);
dini_IntSet(Spieler,"admin",GetPVarInt(playerid,"admin"));
dini_IntSet(Spieler,"skin",GetPlayerSkin(playerid));
dini_FloatSet(Spieler,"lastx",GetPVarFloat(playerid,"lastx"));
dini_FloatSet(Spieler,"lasty",GetPVarFloat(playerid,"lasty"));
dini_FloatSet(Spieler,"lastz",GetPVarFloat(playerid,"lastz"));
dini_IntSet(Spieler,"timeban",GetPVarInt(playerid,"timeban"));
dini_IntSet(Spieler,"BanZeit",GetPVarInt(playerid,"BanZeit"));
dini_IntSet(Spieler,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spieler,"Rang",GetPVarInt(playerid,"Rang"));
dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spieler,"Money",GetPlayerMoney(playerid));
dini_IntSet(Spieler,"Bank",GetPVarInt(playerid,"Bank"));
dini_IntSet(Spieler,"Wanted",GetPVarInt(playerid,"Wanted"));
dini_IntSet(Spieler,"Bank",pInfo[playerid][Bank]);
dini_IntSet(Spieler,"dutySkin",GetPVarInt(playerid,"dutySkin"));
dini_IntSet(Spieler,"Knastzeit",GetPVarInt(playerid,"Knastzeit"));
dini_IntSet(Spieler,"Tazed",GetPVarInt(playerid,"Tazed"));
dini_IntSet(Spieler,"HS",GetPVarInt(playerid,"HS"));
dini_IntSet(Spieler,"Cuffed",GetPVarInt(playerid,"Cuffed"));
new Grund[128];
GetPVarString(playerid,"BanGrund",Grund,128);
dini_Set(Spieler,"BanGrund",Grund);
new Admin[128];
GetPVarString(playerid,"AdminName",Admin,128);
dini_Set(Spieler,"AdminName",Admin);
}
Such immer noch Hilfe
Immer noch keine Lösung
Ich habe einen Tazer(10Sec), und einen HS(40 Sec) das würde bedeuten HS = 10 und Tazer 40 ? Oo
Wie jetzt? habs auch schon mit KillTimer probiert klappt auch nicht
JA ehm soll Ja 40 Sekunden sein nur man ist nur 10 Sec gefreezet
hi, ich versuche schon vergeblich meine tazer /hs und cuff befehle so einzustellen das sie Funktionieren. Denn wenn ich im getazerten zustand /hs mache ist man nach 10 Sekunden wieder frei anstatt nach 40 Sekunden. hab es schon probiert geht aber nicht. Ich hab es mit Variablen gespeichert und abgefragt es geht aber nicht bin echt Rat los.
ocmd:t(playerid,params[])
{
if(isPlayerInFrakt(playerid,1))
{
if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
if(IsPlayerInAnyVehicle(playerid)) // Checks if the player is in a vehicle.
{
SendClientMessage(playerid, Grau, "**Du kannst diesen Befehl nicht in einem Auto benutzen.");
return 1;
}
if(pTazer[playerid] == 0)
{
GivePlayerWeapon(playerid, 23, 100);
pTazer[playerid] = 1;
return 1;
}
else if(pTazer[playerid] == 1)
{
SetPlayerAmmo(playerid,2,0);
pTazer[playerid] = 0;
return 1;
}
}
else
{
SendClientMessage(playerid, Grau, "**Du hast keinen Tazer.");
}
return 1;
}
public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
if(isPlayerInFrakt(Shooter,1))
{
if(GetPlayerWeapon(Shooter) == 23)
{
new string[100],string2[100];
TogglePlayerControllable(Target, false);
ApplyAnimation(Target,"CRACK","crckdeth2",4.1,1,1,1,1,1);
pTazed[Target] = 1;
new Float: x, Float: y, Float: z;
GetPlayerPos(Shooter,x,y,z);
SetTimerEx("Tazed", 10000, 0, "d", Target);
format(string,sizeof(string),"Officer %s hat dich für 10 Sekunden getazed.",SpielerName(Shooter));
format(string2,sizeof(string2),"Du hast %s für 10 Sekunden getazed..",SpielerName(Target));
SendClientMessage(Target,GELB,string);
SendClientMessage(Shooter,GELB,string2);
for(new i=0; i<GetMaxPlayers(); i++)
{
new ansage[100];
format(ansage,sizeof(ansage),"**=> %s hat %s getazed.",SpielerName(Shooter),SpielerName(Target));
if(IsPlayerInRangeOfPoint(i,30,x,y,z))
{
SendClientMessage(i,Grau,ansage);
}
}
}
}
return 1;
}
public Tazed(playerid)
{
if(pHS[playerid]==0)
{
pTazed[playerid] = 0;
TogglePlayerControllable(playerid,1);
ClearAnimations(playerid);
}
else if(pHS[playerid]==1);
{
SendClientMessage(playerid,Grau,"test");
}
return 1;
}
ocmd:hs(playerid,params[])
{
new pID, string[64],string1[64];
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,Grau,"**Du bist kein Cop!");
if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Grau,"Benutze: /hs [ID]");
if(pID==playerid)return SendClientMessage(playerid,Grau,"**Du kannst dir nicht selber Handschellen anlegen.");
if(pTazed[pID]==0)return SendClientMessage(playerid,Grau,"**Erst Tazern.");
new Float: x, Float: y, Float: z;
new Float: x1, Float: y1, Float: z1;
GetPlayerPos(pID,x,y,z);
GetPlayerPos(playerid,x1,y1,z1);
if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
{
TogglePlayerControllable(pID,0);
SetTimerEx("hs",40000,0,"i",pID);
format(string,sizeof(string),"Officer %s hat dir Handschellen angelegt.",SpielerName(playerid));
SendClientMessage(pID,Blau,string);
pHS[playerid]=1;
format(string1,sizeof(string1),"Du hast %s Handschellen angelegt.",SpielerName(pID));
SendClientMessage(playerid,Blau,string1);
for(new i=0; i<GetMaxPlayers(); i++)
{
new ansage[100];
format(ansage,sizeof(ansage),"**=> %s hat %s Handschellen angelegt.",SpielerName(playerid),SpielerName(pID));
if(IsPlayerInRangeOfPoint(i,30,x1,y1,z1))
{
SendClientMessage(i,Grau,ansage);
}
}
}
else SendClientMessage(playerid,Grau,"**Der Spieler ist nicht in der Nähe");
return 1;
}
public hs(playerid)
{
//////////////Cuff ist für Cuff aber das poste ich jetzt nicht :D
if(pCuff[playerid]==0)
{
TogglePlayerControllable(playerid,1);
pHS[playerid]=0;
GameTextForPlayer(playerid,"~r~Handschellen geknackt.",3000,1);
}
else
{
}
return 1;
}
Bitte um schnelle Hilfe
Der fragt eben ab wann er Entlassen wird...
Hi, ich habe mir ein Knast System gebaut mit dem man nach relog immern och im KAnst sein "sollte" aber das klapp i.wie nicht. Wenn man im kannst off geht und wieder rein kommt sind alle Daten resetet. Ich weis nicht warum hier mal ein Paar Zeilen:
ocmd:arrest(playerid,params[])
{
new pID,zeit,knastz,knastzm/*kaution*/;
new string[90],string2[90];
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,Grau,"** Du bist kein Cop.");
if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
if(sscanf(params,"ui",pID,zeit/*,kaution*/))return SendClientMessage(playerid,Grau,"Benutze /arrest [ID] [Wanteds]");
if(GetPVarInt(pID,"Wanted")==0) return SendClientMessage(playerid,Grau,"** Dieser Spieler hat keine Wanteds.");
if(!IsPlayerInRangeOfPoint(playerid,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Du bist nicht am Arrest Point.");
if(!IsPlayerInRangeOfPoint(pID,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Der Gesuchte ist nicht am Arrest Point.");
knastzm=zeit*5;
format(string,sizeof(string),"**->Polizist %s hat %s für %i Minuten eingesperrt.",SpielerName(playerid),SpielerName(pID),knastzm);
format(string2,sizeof(string2),"*** ->Du bist jetz %i Minuten im Knast. /knastzeit um zu kucken wir lang noch.",knastzm);
SetPlayerWantedLevel(pID,0);
SetPVarInt(pID,"Wanted",0);
knastz=zeit*6000*5;
SetPVarInt(pID,"Knastzeit",knastz);
SetPlayerInterior(pID,3);
SetPlayerPos(pID,198.6527,161.9291,1003.0300);
SetTimerEx("knast1",1,1,"i",pID);
SetTimerEx("knast2",knastz,0,"i",pID);
SendClientMessage(pID,0x0087FFFF,string2);
SendClientMessageToAll(0x0087FFFF,string);
return 1;
}
public knast1(playerid)
{
new knzeit;
knzeit=GetPVarInt(playerid,"Knastzeit")-1;
SetPVarInt(playerid,"Knastzeit",knzeit);
SpielerSpeichern(playerid);
}
public knast2(playerid)
{
SetPlayerInterior(playerid,0);
SpawnPlayer(playerid);
SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
}
Bei on Player Spawn -->
if(GetPVarInt(playerid,"Knastzeit")>=1)
{
SetPlayerWantedLevel(playerid,0);
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,198.6527,161.9291,1003.0300);
SetTimerEx("knast4",1,1,"i",playerid);
SendClientMessage(playerid,GRÜN,"Du bist wieder im Knast.");
}
public knast4(playerid)
{
if(GetPVarInt(playerid,"Knastzeit")>=1)
{
new knzeit;
knzeit=GetPVarInt(playerid,"Knastzeit")-1;
SetPVarInt(playerid,"Knastzeit",knzeit);
SpielerSpeichern(playerid);
}
else if(GetPVarInt(playerid,"Knastzeit")<=0)
{
SetPlayerInterior(playerid,0);
SpawnPlayer(playerid);
SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
}
}
Wenn ihr noch mehr braucht sagen
Hab in bekommen mit Timer eben und so :DD funktioniert super danke für die Idee
Ja probiers ma
danke
kann mir einer bei einem /arrest Befehl helfen bei dem man die Knast Zeit mit /knasttime abrufen kann und man noch im Knast ist nach einem Relogg.
Da man ja mit Timern glaubig die verbleibende Zeit nicht abrufen kann und ich keine Ahnung habe wie ich sonst die Zeit Speichern könnte.
Hallo ich wollte einen ein oder aus befehl machen wo ebend nicht ein/aus steht sonder nur ein oder aus. Geht aber nicht
an := 0
F12::
if(an == 0)
{
SendInput t/me schaltet den Keybinder aus.{enter}
Suspend
an:= 1
}
else
{
SendInput t/me schaltet den Keybinder ein.{enter}
Suspend
an := 0
}
return
Alles anzeigen
//edit code verändert
Nope Leider nicht
hm... ja ka, ist seit gestern einfach off ohne vorwarnung oder so bist du Chris ?
Ich wollte mal fragen ob ihr die Seite kennt denn ich hatte da meinen Server und nun ist sie seit gestern off genauso wie das cp ... Komisch ist das der gesponserte TS3 noch geht....
//edit: link
Also ich wollte das man wenn man in den cp fährt 5 sek stehen bleiben muss aber man steht für immer da und ist gefreezet...
public OnPlayerEnterCheckpoint(playerid)
{
if(Muellmann[playerid][pmi_bAktiv]) {
Muellmann[playerid][pmi_Checkpoint]++;
TogglePlayerControllable(playerid,0);
SetTimer("muell",5000,0);
new
playercp = Muellmann[playerid][pmi_Checkpoint];
if(playercp == sizeof(Muellabfuhr_Stationen)) {
Muellmann[playerid][pmi_bAktiv]=false;
// Extra code
SendClientMessage(playerid, COLOR_GREEN, "Super Arbeit,du hast die Stadt hervorragend gesäubert");
GivePlayerMoney(playerid, 2000);
}
else {
SendClientMessage(playerid, COLOR_GREEN, "Müll wird aufgeladen.");
PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
}
return 1;
}
return 1;
}
public muell(playerid)
{
new String[128];
new playercp = Muellmann[playerid][pmi_Checkpoint];
TogglePlayerControllable(playerid,1);
format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Muellabfuhr_Stationen));
SendClientMessage(playerid,COLOR_LIGHTGREEN,String);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,Muellabfuhr_Stationen[playercp][M_fX],Muellabfuhr_Stationen[playercp][M_fY],Muellabfuhr_Stationen[playercp][M_fZ],Muellabfuhr_Stationen[playercp][M_fRad]);
}
SetPVarInt(pID,"Knastzeit",grund*300000);
grund = wanted anzahl das mal 300000 ist die knastzeit in Millisekunden die ich für den Timer brauche
Also ich habe mir einen /knast Befehl für Cops gemacht nur wie kann ich das machen dass wenn der der im Knast ist off geht die Zeit gespeichert wird die noch übrich ist und er beim Login wieder in den Knast kommt... ?
Ich hab so Probiert aber das klappt nicht
Bei OnPlayerSpawn
if(GetPVarInt(playerid,"Knastzeit") >0)
{
new string[100];
new knastzeit = GetPVarInt(playerid,"Knastzeit");
SetPlayerInterior(playerid,6);
SetPlayerPos(playerid,263.7221,76.5386,1001.0391+1);
SetTimer("knast",knastzeit,0);
format(string,sizeof(string),"Du bist jetzt noch %i Minuten im Knast",knastzeit);
SendClientMessage(playerid,GRÜN,string);
}
Befehl
ocmd:knast(playerid,params[])
{
new pID,grund;
if(sscanf(params,"ui",pID,grund))return SendClientMessage(playerid,GRAU,"Benutze: /knast[ID] [Zeit]");
if(!isPlayerAnCop(playerid)) return SendClientMessage(playerid,ROT,"Du bist kein Beamter.");
if(isPlayerInFrakt(playerid,0)) return SendClientMessage(playerid,ROT,"Du bist kein Beamter.");
if(IsPlayerConnected(pID))
{
if(IsPlayerInRangeOfPoint(playerid,10,1562.4326,-1612.5048,13.3828))
{
if(GetPVarInt(pID,"Wantedlevel")==0) return SendClientMessage(playerid,GRAU,"Dieser Spieler hat keine Wanteds.");
new Float:x; new Float:y; new Float:z;
GetPlayerPos(pID,x,y,z);
if(IsPlayerInRangeOfPoint(playerid,5,x,y,z))
{
new string[100];
SetPlayerInterior(pID,6);
SetPlayerPos(pID,263.7221,76.5386,1001.0391+1);
format(string,sizeof(string),"Du bist jetzt %i Minuten im Knast",grund);
SetTimerEx("knast",grund*30000,0,"i",pID);
SetPVarInt(pID,"Knastzeit",grund*30000);
SendClientMessage(pID,GRÜN,string);
}
else
{
SendClientMessage(playerid,GRAU,"Du bist nicht in der nähe des Gesuchten.");
}
}
else
{
SendClientMessage(playerid,GRAU,"Du bist nicht am Einknast Punkt!");
}
}
else
{
SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht Online.");
}
return 1;
}
Timer
public knast(playerid)
{
SetPlayerPos(playerid,267.3192,77.5994,1001.0391);
imknast[playerid]=0;
SetPVarInt(playerid,"Wantedlevel",0);
SetPVarInt(playerid,"Knastzetit",0);
SpielerSpeichern(playerid);
SendClientMessage(playerid,GRÜN,"Du bist Entlassen. Benehme dich in Zukunft.!");
}
Danke für eure Hilfe habs hinbekommen