Guten Morgen,
wire kann ich etwas schließen Beispiel:
Typ A raubt ne Bank aus, Typ B will ausrauben, aber bank wurde schon von A ausgeraubt. Wie bekomm ich das hin?
Guten Morgen,
wire kann ich etwas schließen Beispiel:
Typ A raubt ne Bank aus, Typ B will ausrauben, aber bank wurde schon von A ausgeraubt. Wie bekomm ich das hin?
für dauerhaft ? machst einfach schalt function, sobald 1 ausraubt springt es auf 1, um der neachste der kommt erhält dann mitteilung..bsp wurde schon ausgeraubt ..wenns nicht auf dauer sein soll machst du ein settimerex dazu , die eine public auslöst die den schalter wieder auf 0 sezt.
Danke, ich habs so bisschen verstanden. Kannst mir aber mal eine Beispiel Funktion machen. ich kann ja kein Playerid nutzen oder doch? Also es soll mit SetTimerEx wirder aufgelöst werden.
Hoffe kannst mir noch einmal helfen. Timer sind nicht meine Stärke -.-
Aber Spieler A sollte das auch nicht mehr machen koennen.
hier mal ein bsp.(sry das mit settimerex funct nicht, nur settimer oder soll nur der eine spieler sie nicht gleich danach nochmal ausrauben können ?.)
//header
forward ResetAusraub();
new bankrob = 0;
// befehl
if(strcmp(cmd, "/ausrauben", true) == 0)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(bankrob != 0)
{
SendClientMessage(i, COLOR_GRAD2, "Die Bank Wurde vor kurzen erst ausgeraubt");
}
if(bankrob == 0)
{
// hier die ausraub function
bankrob = 1;
SetTimer("ResetAusraub", 240000, 0); // Zeit kannste dir ja selbst einstellen.
}
}
return 1;
}
public ResetAusraub()
{
bankrob = 0;
return 1;
}
Soweit gut ich versteh es. Also Man soll sie generell nur in einer bestimten Zeit ausrauben. Also A raubt B kann dann nicht mehr aber A auch nicht mehr erst nachdem der Timer der Gas Station auf 0 ist.
Kann ich dann die anderen Tankstellen ausrauben ?!
ZitatAlso A raubt B kann dann nicht mehr aber A auch nicht mehr erst nachdem der Timer der Gas Station auf 0 ist.
richtig. A, kann erst so wie alle andern erst wieder ausrauben wenn die zeit abgelaufen ist.
zu den anderen :
wenn du jetz überall den selben befehl anwändest sind alle tanken solange dicht bis der timer es wieder resetet hat, wenn du für jede es einzelnd haben willst musst du für jede tanke meines wissens dann so eine schalt function neu machen, die tanken kannste ja mit PTP(Player To Point) definieren bsp.
2 Tanken
//header
forward ResetRaubTanke1();
forward ResetRaubTanke2();
new TankRaub1 = 0;
new TankRaub2 = 0;
if(strcmp(cmd, "/ausrauben", true) == 0)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(TankRaub1 != 0 || TankRaub2 != 0 ) // auch die schalter einfach adden
{
SendClientMessage(i, COLOR_GRAD2, "Die Bank Wurde vor kurzen erst ausgeraubt");
}
if(PlayerToPoint(1,i,x,y,z))//hier coords Tanke 1 Bsp hin.
{
// hier die ausraub function
TankRaub1 = 1;
SetTimer("ResetRaubTanke1", 240000, 0); // Zeit kannste dir ja selbst einstellen.
}
if(PlayerToPoint(1,i,x,y,z))//hier coords Tanke 2 Bsp hin.
{
// hier auch die ausraub function
TankRaub2 = 1;
SetTimer("ResetRaubTanke2", 240000, 0);
}
}
return 1;
}
public ResetRaubTanke1()
{
TankRaub1 = 0;
return 1;
}
public ResetRaubTanke2()
{
TankRaub2 = 0;
return 1;
}
usw...
Ne kürzere Variante gibts nicht? ;D Aber sonst ein dickes Danke.
öhm mir fällt grad nur die ein ..aber vieleischt weis ein anderer wie es kürzer geht. und nichts zu danken
Ok dann werde ich es erst mal so machen. Danke nochmal Sehr gute Erklärung.