Hey,
wie kann man eig ne for-Schleife richtig beenden?
Code:
if(GF[zone][flaggeerobert] >= FlaggeZeit)
{
format(str,sizeof(str),"|Gangfight| %s hat die Flagge erobert! |Gangfight|",Name(playerid));
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if((Spieler[i][Fraktion] != GZ[zone][owner]) && (Spieler[i][Fraktion] != GF[zone][angreifer]))continue;
SendClientMessage(i,Gelb,str);
break;
}
}
Habe auch anstatt break -> continue verwendet, jedoch klappt eig nichts, habe alles iwi wieder vergessen
Beiträge von ErikSon
-
-
Versuchs mal so:ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid == -1 || Spieler[playerid][Fraktion] != 1) return 1;
if(FCarlock[vehid] == 1) {
FCarlock[vehid] = 0;
for(new p; p<MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetVehicleParamsForPlayer(vehid,p,0,0);
} else if(!FCarlock[vehid]) {
FCarlock[vehid] = 1;
for(new p; p<MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetVehicleParamsForPlayer(vehid,p,0,1);
}
return 1;
}//Edit: Wofür brauchste die Schleife mit der Variable i? macht doch keinen Sinn
mfg.
Aber wie kann ich dann machen, dass Fraktion 1 nur Fahrzeuge von Fraktion 1 öffnen / schließen kann und Fraktion 2 genau so?PS: Klappt immer noch nicht, kann es immer noch nur aufschließen, aber nicht zuschließenKlappt jetzt doch
Danke dir! -
Hey,
habe mal nach langer Zeit wieder an meinem Script gearbeitet.. Jetzt habe ich das Problem, dass ich bei "/flock" ( Fraktionsfahrzeuge abschließen / aufschließen ), dass ich die Fahrzeuge nur aufschließen kann, aber nicht abschließen..Code.
ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
new i,p;
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid != -1)
{
for(i = 0; i<sizeof(PresiVehs); i++)
{
if(Spieler[playerid][Fraktion] == 1)
{
if(FCarlock[vehid] == 1)
{
FCarlock[vehid] = 0;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,0);continue;
}
else if(FCarlock[vehid] == 0)
{
FCarlock[vehid] = 1;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,1);continue;
}
}
}
}
return 1;
}Was ist falsch beim Code?
+ Bekomme bei meinem Server immer folgendes:
ZitatHSA ERROR: Entries set too low!
Weiß einer warum das kommt? -
Hey,
habe mal nach langer Zeit wieder an meinem Script gearbeitet.. Jetzt habe ich das Problem, dass ich bei "/flock" ( Fraktionsfahrzeuge abschließen / aufschließen ), dass ich die Fahrzeuge nur aufschließen kann, aber nicht abschließen..Code.
ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
new i,p;
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid != -1)
{
for(i = 0; i<sizeof(PresiVehs); i++)
{
if(Spieler[playerid][Fraktion] == 1)
{
if(FCarlock[vehid] == 1)
{
FCarlock[vehid] = 0;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,0);continue;
}
else if(FCarlock[vehid] == 0)
{
FCarlock[vehid] = 1;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,1);continue;
}
}
}
}
return 1;
}Was ist falsch beim Code?
-
Ich an deiner Stelle würde es lieber so machen:
new lastkillid[MAX_PLAYER_NAME];OnPlayerDeath
format(lastkillid[playerid],MAX_PLAYER_NAME,"%s",PlayerName(playerid));Abfrage:
format(string,sizeof(string),"%s wurde zuletzt von %s gekillt.", PlayerName(giveplayerid), lastkillid[giveplayerid]);Das hat den Vorteil, wenn der Spieler disconnected ( den der Spieler getötet hat ), dass dann der Name trotzdem steht
-
Damit kann man die Player Attackieren mit der Taste R & Diese verlieren dazu leben
Meinst du AFK-Ghost? -
ist Skin Attack & Kick Up schon gefixxt?
Weiß nicht genau was du meinst, beschreibe die beiden Sachen doch bitte -
Hey,
hier mal wieder eine neue Version, nach einiger Zeit
Neue Funktionen:
|AntiCheat Version 3.0|
+Anti Weaponhack verbessert+
Anti AFK-Ghost [X]
Anti Slidebug [X]
Anti No Reload [X]
Anti Unlimmited Ammo[X]
Anti enter locked Cars[X]
Anti unfreeze [X]
Anti Playerspeedhack[X]
Anti Skinchanger [X]
Anti Distancehack [X]
||9 Anti- Funktionen ||Gesamte Funktionen:
Spoiler anzeigen |AntiCheat Version 1.0|
Anti Jetpack [X]
Anti Weaponhack [X]
Anti Healthhack [X]
Anti Armourhack [X]
Anti Moneyhack [X]
Pingkick [X]
Anti Badword [X]
Anti Speedhack [X]
Anti C-Bug [X]
Anti Spawnkill [X]
Anti Fakekill [X]
Anti Driveby [X]
Anti Spam [X]
Anti IP-Spam [X]
Anti TuningHack [X]
Anti Flyhack [X]
||16 Anti- Funktionen||
|AntiCheat Version 2.0|
Anti Airbrake [X]
Anti Joypad [X]
Anti Godmode [X]
Anti Rapid-Fire [X]
Anti Vehicle Tele [X]
Anti Telehack [X]
Anti Carsurf [X]
||7 Anti- Funktionen ||
|AntiCheat Version 3.0|
+Anti Weaponhack verbessert+
Anti AFK-Ghost [X]
Anti Slidebug [X]
Anti No Reload [X]
Anti Unlimmited Ammo[X]
Anti enter locked Cars[X]
Anti unfreeze [X]
Anti Playerspeedhack[X]
Anti Skinchanger [X]
Anti Distancehack [X]
||9 Anti- Funktionen ||
| Gesamt |
| 32 Anti- Funktionen |Anti-Aimbot ( Skinaimbot ) wurde wieder nicht eingefügt.. Ich habe viele versuche gemacht, mich jedoch letztendlich entschieden, es nicht mit reinzupacken, da es ja auch einfach nur Skill sein kann und man das nicht genau überprüfen kann.
Wer sich jedoch gegen den "PRO-" bzw "POOR-"Aim schützen will, kann es sich hier von d0ma holen.ZitatGeblockt = Aimbot(ProAim & PoorAim) + AFK Ghost + Andere Bullet fuck-arounds: http://dl.gta-sa-mp.de/s/shotplayerdist.pwn
Hoffe es gefällt euch!
// Falls Verbesserungsvorschläge das sind ( neue Funktionen ), bitte posten ,)
-
Zeig doch mal, wo & wie du jemanden wegen "Money-Hack" bannst..
-
Du könntest sein Leben doch einfach erhöhen, ohne das dort ein längerer Balken ist..
Ansonsten kannst du es wie Rocky, oder Prototype es geschrieben hat, machen.//E
Und wenn du das Leben nur erhöhst, kannst du ja auch einfach ein Textdraw neben den Balken machen, wo dann steht, wie viel HP man hat.. -
Wenn es dort kein R gibt dann gibt es wohl doch auch keine Möglichkeit oder?
Könnte ja sein..
Aber ist egal, ich habe es mit meiner eigenen Lösung gemacht..
Es war für "Anti-AFK-Ghost" gedacht, jedoch hab ichs schon
Danke trotzdem! -
Hast du dir die Seite überhaupt mal angeschaut?
Da gibt es keine Taste "R", deswegen frage ich ja auch, ob es eine Möglichkeit gibt, die Taste abzufragen.. -
Hey, gibt es irgendeine Möglichkeit, abzufragen, ob der Spieler die Taste "R" drückt?
-
//E
Ne, klappt doch..
Irgendwie gerade bisl durcheinander.Habe jetzt nochmal gemacht, dass dann auch die Leute, die nicht connected sind, ausgeschlossen werden und jetzt klappts ,)
Danke dir! -
public CheckWeapon()
{
new Weaps[13][2];
for(new i = 0; i<MAX_PLAYERS; i++)
{
for (new _w; _w < 13; _w++)
{
GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
printf("Weapon: %d / Ammo: %d",Weaps[_w][0],Weaps[_w][1]);
}
}
return 1;
}So ist es richtig.
Enum: Dein Code tut nicht wenn du mehr als einen Spieler im Server hast, da sich "_w" nicht zu 0 zurücksetzt, daher funktioniert es immer nur für ID 0, sonst für keinen.
Und es ist entgegen allen Programmier-Regeln, seinen gesamten Code in eine Zeile zu schreiben, das macht kein Mensch, weil es absoluter Käse ist und außer dass es keiner lesen kann es nichts bringt.
Habs mir jetzt genau angeschaut..
Angeblich habe ich 2x eine Deagle, obwohl man die ja nur 1x haben kann ;P
Habe es ausgeben lassen, da stand dann:[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 24
[18:02:20] Waffe 0
[18:02:20] Waffe 29
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 0
[18:02:20] Waffe 24
Der fragt irgendwie auch viel zu viel ab..
Normalerweise solln es ja nur 13 sein, aber irgendwie sinds 27//E
Habe vergessen zu machen, dass es bei Bots nicht abgefragt wird, deswegen waren es mehr als 13
Also, jetzt nur noch das Problem, warum ich 2x Deagle habe -
So ist es richtig.
Danke dir ,)
Hätte gedacht, es ist egal, wann man die Variable erstellt.. -
Hatte mir gerade einen kleinen Befehl gebastelt.
ocmd:checkwp(playerid,params[]){
new i=0,_w=0,Weapon[13][2];
for(;i<GetMaxPlayers();i++)for(;_w<13;_w++)GetPlayerWeaponData(i,_w,Weapon[_w][0],Weapon[_w][1]),printf("Weapon: %d | Ammo: %d",Weapon[_w][0],Weapon[_w][1]);
}
Ausgabe:Code[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 24 | Ammo: 500[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0
Hilft leider nicht..Brauche es in nem Timer..
-
public CheckWeapon()
{
new i = 0,Weaps[13][2],_w = 0;
for(; i<MAX_PLAYERS; i++)
{
for (; _w < 13; _w++)
{
GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
printf("Weapon: %d / Ammo: %d",Weaps[_w][0],Weaps[_w][1]);
}
}
return 1;
}
Leider wird bei "Weapon" und "Ammo" immer 0 ausgegeben, obwohl ich Waffen besitze..
Hab ich was falsch gemacht? -
Hast du es denn schon ausprobiert?
Wenn nicht, dann tue es doch.. -
Dann mach es zu einem Wert
Du kannst ja z.B machen
new Float:Drogen[MAX_PLAYERS];
ocmd:command(playerid, params[])
{
new Float:g, str[75];
if(sscanf(params, "f", g))return 1;
format(str, sizeof(str), "Du hast %f gramm drogen zu sich genommen!", g);
SendClientMessage(playerid, -1, str);
Drogen[playerid] -= wert;
return 1;
}
Wo wird denn die Variable "wert" definiert?format(str, sizeof(str), "Du hast %.2f gramm drogen zu sich genommen!", g);
Damit sind dann noch 2 Kommastellen, anstatt 6..@TE:
Wenn du auch mit 0,93g einnehmen machen willst, muss die Variable "Drogen" ein Float sein..