Für was ist #pragma unused params da und muss man es eintragen bei
einem ocmd befehl?
#pragma unused params
- xFreeze
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
das ist wenn der ocmd befehl kein params benötigt. bsp.: sscanf
-
Und was bringt das wenn man das hinschreibt?, da klappt doch auch so oder?
-
Code
ocmd:hi(playerid,params) { #pragma unused params // <<< Weist daraus hin das keine Parameters benutzt werden. SendClientMessage(playerid,Farbe,"Hi."); }
Erklärung außerhalb der Scriptform:
Du möchtest ein Handy kaufen. Also gehst du in einen Laden und suchst nach Handys. Du findest allerdings
nichts. Es ist nämlich gar kein Laden der Handys verkauft. Also hättest du dir die Suche sparen können wenn
draußen ein Schild wäre "Keine Handys". Dabei hättest du Kraft und Zeit gespart.Das Schild "Keine Handys" hat die gleiche Bedeutung wie #pragma unused params
Wenn der Command aufgerufen wird weil dieser von einem Spieler eingegeben wird oder sonstigem
so erkennt OCMD die Nachricht "#pragma unused params" und fängt erst gar nicht an zu suchen ob
es Parameter gibt. Also wird der Command schneller ausgeführt & der Server nicht so sehr in Anspruch
genommen wie ohne diese Meldung. -
Zitat
Dieses Directive ist ähnlich wie stock. Nur man kann nicht immer stock nutzen und da wo man stock nicht nutzen kann, benutzt man #pragma unused.
Wir nehmen mal folgendes Szenario:
public OnGameModeInit() {
//Haha mir ist so langweilig ich mach eine variable die ich nicht nutze
new var;
return 1;
}Da kommt folgender Warnig:
Da können wir nämlich kein stock nutzen, da es eine lokale Variable ist und deshalb nutzen wir #pragma, das sähe dann so aus:
public OnGameModeInit() {
//Haha mir ist so langweilig ich mach eine variable die ich nicht nutze
new var;
#pragma unused var
return 1;
}und der Warning ist weg.
-
@#.KynqS Danke schön echt super erklärung
Habe zuerst gedacht was fängt der jetzt an über Handys zu reden
aber klingt logisch -
Also damit machst du die params "unbrauchbar"..
Wenn du z.B. dcmd verwendest, und keine params benutzt, kommt dieser Error:
C:\Users\Narushi\Desktop\Scripting\PAWN\New-Evolution-Reallife\gamemodes\SelfmadeBT.pwn(903) : warning 204: symbol is assigned a value that is never used: "params"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
Dann machst du da rein::
#pragma unused paramsUnd siehe da::
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase -
breadfish.de
Hat das Thema geschlossen.