Sollte mit einer combination von einer if und for schleife funktionieren..
Bin müde ich versuch mal was
for(new i = 0; i < MAX_VEHICLES; i++)
SetVehicleHealth(i,100);
Bei einem einzelnen
nur SetVehicleHealth(id,100);
Hoff das ist so richtig
Sollte mit einer combination von einer if und for schleife funktionieren..
Bin müde ich versuch mal was
for(new i = 0; i < MAX_VEHICLES; i++)
SetVehicleHealth(i,100);
Bei einem einzelnen
nur SetVehicleHealth(id,100);
Hoff das ist so richtig
Alles anzeigen
Natürlich nicht vervielfacht sich die .amx nicht .
Die größe verändert sich.
Zu dem sagst du ja das variabeln fast das gleiche sind wie arrays obwohl das je nach verwendung ja natürlich unterschiedlich sind daher das fast , jetzt nur auf
die variabeln bezogen.
also
new var1;
new var2;
new var3;
ist das selbe wie
new array[3]; und enthält auch diese drei variabeln
array[0], array[1], array[2].
Solltest du immer noch einer anderen meinung sein dann solltest du dir erstmal selbst erklären warum
die .amx größe so beinflusst wird bei multidimensionalen arrays.
Das ganze sollte man sich wie eine tabelle vorstellen die erste dimension wäre die Zeilen die zweite die Spalten etc...
jetzt mal bezogen auf zweidimensionale arrays.
Also da ist es ganz klar das eine Tabelle welche nur 10 EInträge hat kleiner ist als eine mit 1000 Einträgen.
//Zum ersten teil
klar wird die amx um einen ganz ganz ganz kleinen teil größer.
Aber er hat geschrieben, dass sie von 2kb auf 137kb hochschiest (irwie sowas), und das, denke ich kann man schon vervielfachen nennen oder ?
//zum zweiten
in der amx steht ja nur die anweisung dieses array zu instanzieren, endgültig instanziert, also der reale speicherplatz dafür, wird aber erst geschaffen, wenn die .amx benutzt wird (samp-server)
Sollte mit einer combination von einer if und for schleife funktionieren..
Bin müde ich versuch mal was
for(new i = 0; i < MAX_VEHICLES; i++)
SetVehicleHealth(i,100);
Bei einem einzelnen
nur SetVehicleHealth(id,100);
Hoff das ist so richtig
Und wie kann ich das in einem Befehl rein bauen das es nur ein Admin kann?
//Zum ersten teil
klar wird die amx um einen ganz ganz ganz kleinen teil größer.
Aber er hat geschrieben, dass sie von 2kb auf 137kb hochschiest (irwie sowas), und das, denke ich kann man schon vervielfachen nennen oder ?
//zum zweiten
in der amx steht ja nur die anweisung dieses array zu instanzieren, endgültig instanziert, also der reale speicherplatz dafür, wird aber erst geschaffen, wenn die .amx benutzt wird (samp-server)
Das mit der ersten aussage das war ein kleine klugscheißer provokationen nicht ernst nehmen, ich wusste schon was du meinst.
Aber zum eigentlichen Thema du hast schon recht das der Speicher auch zugesichert wird , wenn die amx ausgeführt wird (samp-server).
Jedoch um nochmal auf das kompilen zurück zu kommen und der Tabelle , wie sich die array zusammen setzt meiner meinung nach so wie ich es auch mal aufgefasst habe.
Sollte man sich das array vorstellen wie eine Tabelle das kann man auch ausgeben lassen , wenn man den asm output angeben lässt.
Jetzt als bestes beispiel was ich mein kannst dir zum beispiel ein einfachen texteditor nehmen.
Und gibst dort mal 2000 zeichen ein da wird das textfile auch schon etwas groß und das ist das was ich meine.
Das ein array die vereinfachte form im ist zum beispiel von variabeln.
also
wird so gesehen angeben in der .amx oder als asm code
0
0
0
hingegen so dargestellt wird als tabelle 1 Zeile und 3 Spalten
Also ich gebe ehrlich zu ich hab nicht genau ahnung wie sich das ganze genau bei dem preprozessor auseinenader.
Wie scripte ich eine Oneshot-Sniper, dass es auch einen Punkt für den Mörder zählt? Ich schaffe es nur, dass die HP auf 0 gesetzt werden, damit bekommt der Mörder aber den Punkt nicht
dann speicherst du den mörder ab, und schreibst es bei onplayerdeath in killerid rein.
Wird z-B bei einem random(15) die 0 mit gezählt? Spricht 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 sind möglich? also insgesamt 16?
Mfg
Sebastian
Also ich gebe ehrlich zu ich hab nicht genau ahnung wie sich das ganze genau bei dem preprozessor auseinenader.
Der Präprozessor, hat so gut wie nichts mit Arrays und Speicherverteilung zu tun.
Es ist halt die erste Instanz die Arbeitet sogar noch vor dem Compiler, darum ja auch "Prä".
Wird z-B bei einem random(15) die 0 mit gezählt? Spricht 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 sind möglich? also insgesamt 16?
Mfg
Sebastian
Pawn fängt immer von 0 an also 0-14
Ok, danke.
Wüsste noch wer, wie man ein random von vorne startet?
Also wenn ich es jetzt so z.B mache:
new zufall = random(16);
und die zahl z.B 9 ist, soll erstmal abgefragt werden ob eine varibale false ist, wenn Sie true ist, soll der zufall nochmal passieren. Nur ich kann ja nicht 10x die abfrage unter einander machen. weil wenn von 16 nur die zahl 7 false ist, ist die Wahrscheinlichkeit ja nicht gerade hoch, das die 7 kommt.am besten von anfang an nur zufalls zahlen sein, die false sind
new zufall = random(16);
if(Info[zufall][Test] == false){
//dann soll was passieren
}
Ich hoffe ich habe mein Problem "gut" ausgedrückt
Mfg
Sebastian
Ist zwar unschön, aber du kannst es mit goto machen. Alternativ, wenns nur ne kleine Funktion ist, einfach die Funktion nochmal ausführen. Goto-Snippet:
start:
new zufall = random(16);
if(Info[zufall][Test] == false){
//dann soll was passieren
}
else goto start;
danke dir.
Naja, was heißt kleine funktion. Ist halt für einen Nebenjob. Ich erstelle mit hilfe eines array halt jedesmal einen zufalls Checkpoint, wenn ich diesen betrete wird dieser auf true gesetzt, und dieser wird mir dann nicht mehr angezeigt. sprich also jeder Checkpoint ist nur 1x da
//Edit:
Wird OnPlayerPickupPickUp auch aufgerufen, wenn man in einem Auto sitzt?
Und wenn nicht, wie kann ich dies dann umgehen außer mit OnPlayerUpdate?
Hey, ich suche ein Befehl, womit Admin Voll Speed haben..
z.B. /aspeed, dann wird Speed angeschaltet, und sobald man w drückt, gibt man richtig gas, wei bei s0beit..^^
Und wenn man nochmal /aspeed macht, schaltet sich es wieder aus..
Ich hoffe da hat jemand ein Script..
Woher bekommt man
ProxDetector ?
Zeile (309) : Unbekannte Variable : "ProxDetector"
schau mal das an [ SCRIPTING ] Simpler Job mit Checkpoint und Befehlen
Hay hab ein Problem (sitze seit ca 2h+ dran >.<) ich hab eine neue Skinauswahl mit Textdraws gemacht
bei meinem alten ging es mit 'leertaste' jetzt hab ich aber '<<' und '>>'
jetzt hab ich den code von der 'leertaste' unter der vom Textdraw '>>' gemacht..
Aber wie mach ich jetzt '<<' ? weil ich bekomme da immer die falschen Skins, hab schon alles versucht, aber verwirr mich nur noch mehr x.x
//ausschnitt fürs Skinsetzen bei '>>'
if(SkinAuswahlSlot[playerid] == 1) { SetPlayerSkin(playerid, 21); SkinAuswahlSlot[playerid] = 2; PlayerSkin[playerid] = 21; }
else if(SkinAuswahlSlot[playerid] == 2) { SetPlayerSkin(playerid, 23); SkinAuswahlSlot[playerid] = 3; PlayerSkin[playerid] = 23; }
else if(SkinAuswahlSlot[playerid] == 3) { SetPlayerSkin(playerid, 18); SkinAuswahlSlot[playerid] = 4; PlayerSkin[playerid] = 18; }
else if(SkinAuswahlSlot[playerid] == 4) { SetPlayerSkin(playerid, 22); SkinAuswahlSlot[playerid] = 5; PlayerSkin[playerid] = 22; }
else if(SkinAuswahlSlot[playerid] == 5) { SetPlayerSkin(playerid, 60); SkinAuswahlSlot[playerid] = 6; PlayerSkin[playerid] = 60; }
else if(SkinAuswahlSlot[playerid] == 6) { SetPlayerSkin(playerid, 167); SkinAuswahlSlot[playerid] = 7; PlayerSkin[playerid] = 167; }
else if(SkinAuswahlSlot[playerid] == 7) { SetPlayerSkin(playerid, 97); SkinAuswahlSlot[playerid] = 8; PlayerSkin[playerid] = 97; }
else if(SkinAuswahlSlot[playerid] == 8) { SetPlayerSkin(playerid, 59); SkinAuswahlSlot[playerid] = 1; PlayerSkin[playerid] = 59; }
Kann ich in einem Dialog auch einen Timer benutzen, also das der Spieler warten muss bis der Timer abgelaufen ist um auf die 2 Buttons klicken zu können?
Ja danke schon, das wenn er z.B. vor der bestimmten zeit auf button 1 klickt er wieder den dialog bekommt und dort steht: warte bis die wartezeit abgelaufen ist ( sie beträgt noch % Sekunden ) oder so..
Hättest du ein Beispiel für mich, ich habe ein Regelwerk was man sich Durchlesen muss, anschließend muss man es Akzeptieren. Das sollte 1-2 Minuten dauern.
Danke schon mal.
Wie macht man beim Servernamen solche Sonderzeichen dazu •••••• Wenn ich die Sonderzeichen direkt in die server.cfg rein mache, zeigt mir der Client nur ?????? an......Bitte um Hilfe...ich sehe so viele Server mit diesem Zeichen aber keiner kann mir sagen wie das funzt