Hier hast du alle keys: http://wiki.sa-mp.com/wiki/Keys
Andere Keys wirst du nicht ohne erheblichen größeren Aufwand detecten können ![]()
Hier hast du alle keys: http://wiki.sa-mp.com/wiki/Keys
Andere Keys wirst du nicht ohne erheblichen größeren Aufwand detecten können ![]()
Die Frage verstehe ich nicht.
Du kannst doch deine Keys Clientseitig belegen...ESC > Options > Settings > Control Settings > Dann auswählen Fahrzeug oder zu Fuß und dann einfach die Funktion suchen die du ändern magst dann Enter drücken und dann die Taste, mit der du die Funktion belegen magst ![]()
Das starke Argument für die for - Schleife ist, dass es deutlich übersichtlicher ist und man damit schwieriger aus Versehen Endlosschleifen einbaut.
Ich sagte nur, dass es performanter ist nicht, dass das das Hauptargument dafür ist.
Dachte eigentlich das sei klar geworden, anhand meiner Beispiele.
Spaßeshalber mal ein Performance Test:
#include <a_samp>
main(){
new t = GetTickCount();
for(new i; i<10000; i++) test1();
printf("For-Schleife: %dms",GetTickCount()-t);
t = GetTickCount();
for(new i; i<10000; i++) test2();
printf("While-Schleife: %dms",GetTickCount()-t);
}
test1() {
for(new i; i<10000; i++){}
}
test2() {
new i;
while(i<10000) {
i++;
}
}
Alles anzeigen
Ergebnis:
Ich denke schon. DSGVO eingehalten Foren-Lizenz. Richtiges Impressum, SSL ich denke da stimmt alles.
Des warn simpler Wortwitz...da war keine Intention dahinter ![]()
Aber freut mich, dass ihr mit serious-reallife serious durchstarten wollt ![]()
Ist das nicht egal? Oder ist das ein starker Performance unterschied in Pawn?
Naja, ich habs ja extra in den Spoiler gepackt um es nur mal am Rande zu erwähnen.
Es gehört sich in meinen Augen einfach für solche Dinge die for-Schleife zu verwenden, schließlich wurde sie genau dafür konzipiert, also wieso nicht nutzen xD Ist ein Stil-Bruch in meinen Augen, wenn man das nicht tut und ist halt nicht sehr schön xD
Es gibt einen Performance Unterschied, und die for-Schleife ist hier definitiv um einiges effizienter.
Aber in dem Fall ist das ja komplett belanglos, ich meine wir reden hier von 3 Einträgen, da könnte er auch for, while, do-while und goto irgendwie mixxen und es wäre kack egal xD
Ich meine nur, wollte es halt einfach mal erwähnen xD
Uns ist bewusst, dass sämtliche Restarts zu nichts geführt haben und ihr euch nun sicher die Frage stellt: Warum jetzt?
Also ich frage mich, ob ihr serious seid hahaha xD
Ich weiß ja nicht, wer dir das erzählt hat, oder ob du Alexa/Google or whatever gefragt hast
Offensichtlich nicht, da er ja sonst sofort fündig geworden wäre hahaha xD
Hier gibts n schickes Video zu:
In meinen Augen aber nicht sehr zu empfehlen, aber das muss ja jeder selbst wissen ![]()
while(fv<=rows)
Hier liegt der Fehler.
Das muss while(fv < rows) sein ![]()
Für sowas nutzt man übrigens eine for-Schleife ![]()
Du zeigst uns den Code, den du zum speichern verwendest, der Fehler tritt aber beim laden auf ![]()
#Handy
Als kleinen Tipp, man munkelt das du kleine Eier davon bekommst.
Ohne Flax, wer sich sowas spritzt, hat die in meinen Augen schon hahaha ![]()
Luzides Träumen, schon jemand Erfahrung damit gemacht ?
Oh ja, ist ne lustige Sache, wenn man im Traum weiß, dass man träumt ![]()
Gibt online gute Tutorials wie man das mit den Trigger Points trainieren kann xD
Von Astralreisen sollte man aber die Finger lassen, das suckt hahaha xD 1x ist vielleicht ganz lustig, aber wenn man das öfter macht, dreht man komplett ab xD
Ja, mit einem Makro kannst du das einfach lösen:
#define Setter(%0,%1,%2) TestDaten[%0][%1]=%2
und du das sscanf Plugin nutzt, versuch es mal bitte so:
Nur um das mal zu erwähnen, sscanf in so einem Fall zu nutzen ist sehr schlecht, da das komplett überflüssig ist.
Man sollte bei so einem Fall direkt params nutzen:
ocmd@3:a,achat,adminchat(playerid,params[])
{
if(!PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
if(params[0] == EOS || params[0] == '\1') return SendClientMessage(playerid,COLOR_RED,"[INFO] Nutze /a[chat] [Text]");
new msg[128];
format(msg,sizeof(msg),"%s %s: %s",Adminrang(playerid),PlayerInfo[playerid][pName],params);
SendMessageToAdmins(COLOR_ADMIN,msg);
return 1;
}
aber ich würde es mit strcat machen
Wozu?
Da er eh format nutzen muss, kann er das doch einfach in die Funktion packen.
Ist doch dann einfacher, übersichtlicher und genauso bzw sogar minimal performanter ![]()
Proof
//Beweis Skript:
#include <a_samp>
main()
{
new t = GetTickCount();
for(new i; i<1000000; i++) test1();
printf("Format: %dms",GetTickCount()-t);
t = GetTickCount();
for(new i; i<1000000; i++) test2();
printf("strcat: %dms",GetTickCount()-t);
}
stock test1()
{
new string[128],tmp[]="Hallo",d=5;
format(string,sizeof(string),"%s\nHallo: %d",tmp,d);
}
stock test2()
{
new string[128],tmp[]="Hallo",d=5;
strcat(string,tmp);
format(string,sizeof(string),"\nHallo: %d",d);
}
Alles anzeigen
Ich verstehe weder die Frage, noch dein Problem ![]()
Denn ironischer Weise würde dein Beispiel perfekt funktionieren ![]()
Wo ist ein Zweithandy unpraktisch? Man nimmt dann eben nicht sein Privathandy zur Arbeit.
Da hat jemand richtig Herz für seine Angestellten hahaha xD
Arbeitnehmer haben, wenn nicht anders vereinbart, sich selbst um ein Geschäftshandy zu kümmern, wenn sie denn eins wollen oder benötigen.
Du hast die Problematik nicht ganz verstanden.
1. Es ist nötig, dass keine Geschäftsdaten, auf dem Privat Handy gespeichert werden, da heute jeder Whats App nutzt.
2. Kannst du diese Angelegenheit somit nicht deinen Angestellten überlassen, weil das keinen interessiert.
3. Also musst du selbst dafür sorgen, dass sie entweder ein 2. Handy bekommen oder eine Virtualisierungs App denen geben und erklären.
4. Da 2. Handys 1. teuer und 2. sehr unpraktisch sind, geht mein Gedanke eher zu der App.
5. Aber da finde ich keine gute App xD Es gibt zwar Container Apps, aber die virtualisieren nur Apps, nicht aber z.B. die Kontaktdaten. Zumal muss das auch noch alles verschlüsselt sein und und und...