Soweit gute Regelung, allerdings würde ich . - und _ erlaubt^^
Beiträge von Manuel
-
-
Versuch es doch mal einfach mit Rotation...
-
Moin,
ich wollte heute mal wieder ne runde BF3 zocken, allerdings startet mein Origin nicht mehr.
Ich habe bereits Origin deinstalliert, CCleaner drüber laufen lassen, Registeryeinträge entfernt, etc.
Allerdings hat auch dies nicht geholfen.
Wenn ich versuche Origin zu starten steht etwa für ne halbe Sekunden Origin.exe*32 im Taskmanager, verschwindet allerdings auch direkt wieder.
Weder Google konnte mir helfen und Origin Support kann man eh vergessen.
Ich habe für das Spiel bezahlt und möchte es auch spielen können... -
Wenn er Anfänger ist?? Sowelche Kommis sind richtig unnötig!
Naja dann soll ers runter schreiben und nicht sagen "SO müsste es gehen" -
Den
Bin anfänger und zugleich funktioniert der Befehl bestens :))
ach und setze das ganz oben in dein Script hinein.
new
bool:aduty[MAX_PLAYERS char];
Den ersten vorschlag den du geschrieben hast ist völliger unsinn... Du kannst eine Variable nicht mit {} abfragen oder ändern! -
SO müsste es gehen
Wenn du nicht scripten kannst dann solltest du es lassen... -
Benutzt du sonst irgendwo die Variable aduty??
-
Versuch mal so:
ocmd:aduty(playerid,params[])
{
new aduty[MAX_PLAYERS], astr[128];
if(!IstSpielerAdmin(playerid, 1))
{
return SendClientMessage(playerid, ROT, "Du bist kein Admin");
}
if(aduty[playerid] == 0)
{
format(astr, sizeof(astr), "Admin %s hat sich zum Support angemeldet.", SpielerName(playerid));
SendClientMessageToAll(BLAU, astr);
aduty[playerid] = 1;
return 1;
}
if(aduty[playerid] == 1)
{
format(astr, sizeof(astr), "Admin %s hat sich vom Support abgemeldet.", SpielerName(playerid));
SendClientMessageToAll(BLAU, astr);
aduty[playerid] = 0;
return 1;
}
return 1;
} -
Okay habe es mal eingebaut, hat geklappt, danke an euch.
-
Ich habe es mal so jetzt gemacht:
stock mysql_CheckFraktion(frakid)
{
new Query[128],count;
format(Query,sizeof(Query),"SELECT COUNT(*) FROM `accounts` WHERE `Fraktion` = '%d'", frakid);
mysql_query(Query);
mysql_store_result();
count = mysql_num_rows();
return count;
} -
Und dann am ende
return resultat;
? -
Du musst (ich weiß nicht wo du die Fraktionsmember speicherst) mit COUNT arbeiten. Ich vermute mal so: SELECT COUNT(*) WHERE fraktion ='1' ... irgendwie so Bin grad am Handy.
Am besten mal google benutzen.
Du meinst z.B. so?
format(Query,sizeof(Query),"SELECT COUNT(*) FROM `accounts` WHERE `Fraktion` = '%d'", frakid); -
Hallo,
wie kann ich im Script abfragen wie viele Spieler z.B. in einer Fraktion sind.
Das Account System läuft über MySQL.Gruß
Manuel -
Naja ich versuche immer 2-3 stunden länger wach zu bleiben als am vortag, meist klappt das auch^^
-
@ Paddy:
Danke hat geklappt, allerdings ein fehler.
das Ausrufezeichen bei if(!IsVehicleEmpty(FactionCars[i][fCarid])) musste weg^^ -
So sollte der Fehler behoben sein
ocmd:respawnfw(playerid,params[])
{
if(SpielerInfo[playerid][Leader] == 0)
return SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Leader!");
if(SpielerInfo[playerid][Leader] == 2)
{
for(new x; x < MAX_VEHICLES; x++)
for(new i; i < sizeof(FactionCars); i++)
if(x==FactionCars[i][fCarid])
if(FactionCars[i][fFaction][0] == GetPlayerFaction(playerid))
if(IsVehicleEmpty(FactionCars[i][fCarid]))continue;
DestroyAndCreateFactionCar(FactionCars[i][fCarid]);
}
return 1;
}stock IsVehicleEmpty(vehicleid)
{
for(new i =0; i < GetMaxPlayers(); i++)
if(IsPlayerInVehicle(i,vehicleid)) return 1;
return 0;
}
Jetzt respawnen sie garnicht mehr... -
So erstelle ich die:
public LoadFactionCars(){
if(!fexist(FACTION_CAR_FILE)){
new File:tfFile=fopen(FACTION_CAR_FILE,io_write);
fclose(tfFile);
}
new File:fFile=fopen(FACTION_CAR_FILE,io_read),Content[1024],fc;
while(fread(fFile,Content) && fc<sizeof(FactionCars)){
StripNewLine(Content);
sscanf(Content,"dffffdddddddddddddddddddddd",
FactionCars[fc][fVehid],
FactionCars[fc][fPos][0],
FactionCars[fc][fPos][1],
FactionCars[fc][fPos][2],
FactionCars[fc][fPos][3],
FactionCars[fc][fCol][0],
FactionCars[fc][fCol][1],
FactionCars[fc][fFaction][0],
FactionCars[fc][fFaction][1],
FactionCars[fc][fFaction][2],
FactionCars[fc][fFaction][3],
FactionCars[fc][fFaction][4],
FactionCars[fc][fTuning][0],
FactionCars[fc][fTuning][1],
FactionCars[fc][fTuning][2],
FactionCars[fc][fTuning][3],
FactionCars[fc][fTuning][4],
FactionCars[fc][fTuning][5],
FactionCars[fc][fTuning][6],
FactionCars[fc][fTuning][7],
FactionCars[fc][fTuning][8],
FactionCars[fc][fTuning][9],
FactionCars[fc][fTuning][10],
FactionCars[fc][fTuning][11],
FactionCars[fc][fTuning][12],
FactionCars[fc][fTuning][13],
FactionCars[fc][fPrice]);
if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
// #if defined FACTION_CARS_LOCKABLE
fLockCar(FactionCars[fc][fCarid]);
FactionCars[fc][fLock] = true;
// #endif
#if defined FACTION_CARS_TUNEABLE
if(IsAllowedFactionToTune(FactionCars[fc][fFaction][0])){
if(FactionCars[fc][fTuning][0] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][0]); }
if(FactionCars[fc][fTuning][1] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][1]); }
if(FactionCars[fc][fTuning][2] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][2]); }
if(FactionCars[fc][fTuning][3] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][3]); }
if(FactionCars[fc][fTuning][4] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][4]); }
if(FactionCars[fc][fTuning][5] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][5]); }
if(FactionCars[fc][fTuning][6] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][6]); }
if(FactionCars[fc][fTuning][7] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][7]); }
if(FactionCars[fc][fTuning][8] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][8]); }
if(FactionCars[fc][fTuning][9] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][9]); }
if(FactionCars[fc][fTuning][10] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][10]); }
if(FactionCars[fc][fTuning][11] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][11]); }
if(FactionCars[fc][fTuning][12] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][12]); }
if(FactionCars[fc][fTuning][13] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][13]); }
}
#endif
SetVehicleHealth(fc,1500);
fc++;
}
}fclose(fFile);
return printf(" '%d' Fraktionsfahrzeuge wurden geladen & erstellt.",fc);
} -
error 033: array must be indexed (variable "FactionCars")
Die Variable:
new FactionCars[MAX_FACTION_CARS][fCar]; -
if(!IsVehicleEmpty(i))
Das sollte der Fehler sein.
Hier wird nur die "Position" des Fahrzeugs im Array abgefragt, aber nicht die ID des Fahrzeugs.
Wie genau meinst du das? -
Hallo,
ich habe ein kleines problem mit dem Leader Respawn befehl für Fraktions Fahrzeuge,
es werden alle Fahrzeuge respawnt, auch die besetzten.Hier der Command:
ocmd:respawnfw(playerid,params[])
{
if(SpielerInfo[playerid][Leader] == 0)
{
SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Leader!");
return 1;
}
if(SpielerInfo[playerid][Leader] == 2)
{
for(new i; i < sizeof(FactionCars); i++)
{
if(FactionCars[i][fFaction][0] == GetPlayerFaction(playerid))
{
if(!IsVehicleEmpty(i))
{
continue;
}
else
{
DestroyAndCreateFactionCar(i);
}
}
}
}
return 1;
}Funktion DestroyAndCreateFactionCar
public DestroyAndCreateFactionCar(fc)
{
if(!IsVehicleEmpty(fc))
{
return 1;
}
if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
{
DestroyVehicle(FactionCars[fc][fCarid]);
FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
#if defined FACTION_CARS_TUNEABLE
if(IsAllowedFactionToTune(FactionCars[fc][fFaction][0]))
{
if(FactionCars[fc][fTuning][0] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][0]);
}
if(FactionCars[fc][fTuning][1] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][1]);
}
if(FactionCars[fc][fTuning][2] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][2]);
}
if(FactionCars[fc][fTuning][3] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][3]);
}
if(FactionCars[fc][fTuning][4] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][4]);
}
if(FactionCars[fc][fTuning][5] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][5]);
}
if(FactionCars[fc][fTuning][6] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][6]);
}
if(FactionCars[fc][fTuning][7] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][7]);
}
if(FactionCars[fc][fTuning][8] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][8]);
}
if(FactionCars[fc][fTuning][9] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][9]);
}
if(FactionCars[fc][fTuning][10] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][10]);
}
if(FactionCars[fc][fTuning][11] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][11]);
}
if(FactionCars[fc][fTuning][12] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][12]);
}
if(FactionCars[fc][fTuning][13] != 0)
{
AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][13]);
}
}
#endif
motor[fc] = false;
SetVehicleHealth(fc,1500);
}
return true;
}Funktion IsVehicleEmpty:
stock IsVehicleEmpty(vehicleid)
{
for(new i =0; i < GetMaxPlayers(); i++)
{
if(!IsPlayerConnected(i)) continue;
if(IsPlayerInVehicle(i,vehicleid)) return 0;
}
return 1;
}Habe bereits alles mögliche probiert bekomme es aber nicht hin...
Währe sehr freundlich wenn mir jemand helfen würde...
//edit:
Schleife durch alle Spieler entfernt