GetGMRang(playerid)
{
new string[36];
switch(sInfo[playerid][Adminlevel]) {
case 1: string = "[GS]Gamesage";
case 2: string = "[GM]Gamemaster";
case 3: string = "[ADM]Admin";
}
return string;
}
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Sorry, mein Fehler. Hab lange nichts in PAWN grmacht. Aber war ja fast so.

-
GetGMRang(playerid){ new string[36]; switch(sInfo[playerid][Adminlevel]) { case 1: string = "[GS]Gamesage"; case 2: string = "[GM]Gamemaster"; case 3: string = "[ADM]Admin"; } return string;}
Funktioniert leider immernoch nicht.
Selbes Ergebis:PLAYERX ist nun als im Dienst
-
mach mal ein stock vor die Funktion.
stock getGMRang -
mach mal ein stock vor die Funktion.
stock getGMRangFunktioniert leider auch nicht^^
Villeicht die String grössen im Befehl als auch im stock erhöhen?
-
Funktioniert leider auch nicht^^
Villeicht die String grössen im Befehl als auch im stock erhöhen?
Ich habs genauso gemacht wie du und bei mir funktionierts... -
@xPatrick
Nutze mal bitte dies, und sage uns was dann in der Konsole steht wenn du die Funktion nutzen tust.
GetGMRang(playerid)
{
new string[36];
switch(sInfo[playerid][Adminlevel]) {
case 1: string = "[GS]Gamesage";
printf("Case 1: %s", string);
case 2: string = "[GM]Gamemaster";
printf("Case 2: %s", string);
case 3: string = "[ADM]Admin";
printf("Case 3: %s", string);
}
return string;
}Mit freundlichen Grüßen,
Aaron! -
@xPatrick
Nutze mal bitte dies, und sage uns was dann in der Konsole steht wenn du die Funktion nutzen tust.
GetGMRang(playerid){ new string[36]; switch(sInfo[playerid][Adminlevel]) { case 1: string = "[GS]Gamesage"; printf("Case 1: %s", string); case 2: string = "[GM]Gamemaster"; printf("Case 2: %s", string); case 3: string = "[ADM]Admin"; printf("Case 3: %s", string); } return string;}Mit freundlichen Grüßen,
Aaron!C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1010) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1010) : warning 215: expression has no effect
C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1011) : error 014: invalid statement; not in switch
C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1011) : warning 215: expression has no effect
C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1011) : error 001: expected token: ";", but found ":"
C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1011) : error 029: invalid expression, assumed zero
C:\Users\Paddz\Desktop\Neuer Ordner\gamemodes\Roleplay.pwn(1011) : fatal error 107: too many error messages on one lineFunktionier so nicht^^ Sorry bin noch ein Noob wasdas scripten angeht. Sollte ich etwas offensichtliches Vergessen haben, sagts mir
-
@Aaron1337 die Funktion ist so korrekt, diese vor allem so zu überprüfen ist unnötig.
@xPatrick zeig mir mal bitte wie und wo du die Funktion aufrufst.
-
@Aaron1337 die Funktion ist so korrekt, diese vor allem so zu überprüfen ist unnötig.
@xPatrick zeig mir mal bitte wie und wo du die Funktion aufrufst.
ocmd:aduty(playerid,params[])
{
if(!IsPlayerGM(playerid,1)) return 1;
if(!AdmOnDuty{playerid})
{
new string[128];
format(string,sizeof(string),"* %s ist nun als %s im Dienst! *",getPlayerName(playerid),GetGMRang(playerid));
SendClientMessageToAll(FARBE_BLAU,string);
SetPlayerColor(playerid, FARBE_ROT);
AdmOnDuty{playerid}=true;
CMDLog(string);
}Zum Beispiel hier. Es steht dann jetzt mit euren Ergebnissen nach wie vor Spieler X ist nun als im Dienst
-
@Aaron1337 die Funktion ist so korrekt, diese vor allem so zu überprüfen ist unnötig.
Weshalb sollte dies unnötig sein?
Was ist wenn er die Veriable gar nicht gesetzt hat, dann hätte wir den Fehler direkt gefunden?
Oder nicht richtig Laden/Speichern tut?@xPatrick
Tue mir bitte einen Gefallen und nutze dies einmal und sage dann ob es dann geht.
ocmd:aduty(playerid,params[])
{
if(!IsPlayerGM(playerid,1)) return 1;
if(!AdmOnDuty{playerid})
{
sInfo[playerid][Adminlevel] = 3;
new string[128];
format(string,sizeof(string),"* %s ist nun als %s im Dienst! *",getPlayerName(playerid),GetGMRang(playerid));
SendClientMessageToAll(FARBE_BLAU,string);
SetPlayerColor(playerid, FARBE_ROT);
AdmOnDuty{playerid}=true;
CMDLog(string);
}
} -
Du kannst nicht überall die geschweiften Klammern ("{}") benutzen.
ocmd:aduty(playerid,params[])
{
if(!IsPlayerGM(playerid,1)) return 1;
if(!AdmOnDuty[playerid])
{
new string[128];
format(string,sizeof(string),"* %s ist nun als %s im Dienst! *",getPlayerName(playerid),GetGMRang(playerid));
SendClientMessageToAll(FARBE_BLAU,string);
SetPlayerColor(playerid, FARBE_ROT);
AdmOnDuty[playerid]=true;
CMDLog(string);
}
return 1;
} -
Du kannst nicht überall die geschweiften Klammern ("{}") benutzen.
ocmd:aduty(playerid,params[]){ if(!IsPlayerGM(playerid,1)) return 1; if(!AdmOnDuty[playerid]) { new string[128]; format(string,sizeof(string),"* %s ist nun als %s im Dienst! *",getPlayerName(playerid),GetGMRang(playerid)); SendClientMessageToAll(FARBE_BLAU,string); SetPlayerColor(playerid, FARBE_ROT); AdmOnDuty[playerid]=true; CMDLog(string); } return 1;}Weshalb sollte dies unnötig sein?Was ist wenn er die Veriable gar nicht gesetzt hat, dann hätte wir den Fehler direkt gefunden?
Oder nicht richtig Laden/Speichern tut?@xPatrick
Tue mir bitte einen Gefallen und nutze dies einmal und sage dann ob es dann geht.ocmd:aduty(playerid,params[]){ if(!IsPlayerGM(playerid,1)) return 1; if(!AdmOnDuty{playerid}) { sInfo[playerid][Adminlevel] = 3; new string[128]; format(string,sizeof(string),"* %s ist nun als %s im Dienst! *",getPlayerName(playerid),GetGMRang(playerid)); SendClientMessageToAll(FARBE_BLAU,string); SetPlayerColor(playerid, FARBE_ROT); AdmOnDuty{playerid}=true; CMDLog(string); }}
Ok Jungs, jeder eurer Vorschläge hat funktioniert. Ich habe bei AdmRang {} benutzt weil es so in einen Tutorial gezeigt wurde, ist ein bool.
Also danke. Ich nehme jetzt malE Variante, da ich da 1 Zeile spare^^ danke euch -
FastFoodBiz[i][FastFoodActor] = CreateActor(68,375.5763,-65.5976,1001.5078,178.5633); //4779
SetActorVirtualWorld(FastFoodBiz[i][FastFoodActor], i); //4780
C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German 0.3z\gamemodes\German.pwn(4779) : error 017: undefined symbol "CreateActor"
C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German 0.3z\gamemodes\German.pwn(4780) : error 017: undefined symbol "SetActorVirtualWorld" -
FastFoodBiz[i][FastFoodActor] = CreateActor(68,375.5763,-65.5976,1001.5078,178.5633); //4779SetActorVirtualWorld(FastFoodBiz[i][FastFoodActor], i); //4780
C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German 0.3z\gamemodes\German.pwn(4779) : error 017: undefined symbol "CreateActor"C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German 0.3z\gamemodes\German.pwn(4780) : error 017: undefined symbol "SetActorVirtualWorld"
Kannst du denn einen Actor normal erstellen, ohne dein FastfoodBiz... oder kommen da die selben Fehler?
-
Kannst du denn einen Actor normal erstellen, ohne dein FastfoodBiz... oder kommen da die selben Fehler?
Kommt der Selbe Fehler
-
Lade dir den aktuellen 0.3.7 Server von sa-mp.com herunter, und füg nur deine PWN ein und kompiliere deinen Gamemode, dann sollte es gehen.
Es müsste normalerweise an deiner Include liegen, die nicht aktuell ist. -
Moin
Aktuell habe ich einen Command /blowup mit dem ich pruefe ob der Spieler in der Naehe eines Bettes von diesem Array hier ist:
Cnew const Float:beds[][3] = { {-2340.7637,-2024.7919,270.5094},//VIOLET {-2812.6035,-1515.9814,140.8438},//Brown {-2326.8735,-1356.4872,300.2661}//Yellow };
Und dann mit dem jeweiligen Index stelle ich fest ob er bei dem Brown ist oder aehnlich.
Kann ich das ganze eventuell effizienter machen, indem ich die CreateObjects in das Array packe? Kann ich die dann auch z.B. mit DeleteObject oder aehnlich verarbeiten? also so dass ich in dem Array statt der 3 Koordinaten einfach die 3 Objekte habe?Weitere Sache.
Ich will folgendes machen:Habe ein Gamemode mit 3 Maps, jedoch braucht jeder dieser Maps angepasste Koordinaten, weshalb ich Koordinaten und OnPlayerCommandText fuer jede Map mit #tryinclude einbinde.
Gibt es die Moeglichkeit dass ich irgendwie mit Praeprozessoranweisung machen kann, dass ich den Mapnamen irgendwie im Kopf des Gamemodes festgelegt wird, und je nachdem das entsprechende Include eingebunden wird? Also geht if etc. mit Praeprozessoranweisungen?Also ich will das ganze Modular machen, das meiste ist bei allen Maps gleich, ausser die Koordinaten von diversen Spawns und locations, und die will ich halt bei Bedarf einfach einsetzen koennen ohne irgendwie, wie ich es bisher gemacht habe, den Gamemode zu kopieren, und da die Koordinaten umzuschreiben.
-
Code
format(query,sizeof(query),"SELECT * FROM "#DATENBANKTAG"_gangwar WHERE GangZoneID='%d'",gw); //MYSQL R31 mysql_function_query(MySqlConnection,query,true,"OnQueryFinish","siii",query,_SQL_GANGZONE_INSERT,gw,MySqlConnection); //MMYSQL R31 mysql_pquery(handle,query,"OnQueryFinish","i",_SQL_GANGZONE_INSERT); //MYSQL R41Hey, ich wollte fragen ob das so stimmen kann wen ich das umschreiben möchte auf R41
-
Hey, ich wollte fragen ob das so stimmen kann wen ich das umschreiben möchte auf R41

