[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
@[LnD]JustMe.77 Das würd ich so nicht sagen, damals als ich mein GF noch auf ini Basis hatte, war das auch so. Da konnte man keinen Account öffnen ohne das nicht alles in einer reihe angezeigt wurde.
Im Notepad++ hat er alles untereinander angezeigt, halt da wo Zeilenumbrüche waren. Seit dem vertrau ich eigentlich nur noch auf Notepad++. Vor allem weil er auch syntax Highlighting usw kann.Versuchs einfach mal: https://notepad-plus-plus.org/download/v6.9.1.html
-
Danke, hat mit Nodepad geklappt

Letze Frage zu diesem Thema, wie logge ich die Zeit an dem der Befehl benutzt wurde + das Datum ? -
-
Kaliber:
Ok Danke
Könntest du mir dort mal Helfen komme einfach nicht weiter.
Mysql Problem -
@[LnD]JustMe.77 hier ist mal ein Beispiel
new File:log = fopen("command_log.txt", io_append);
new playername[24], logstring[256], hour, minute, second, day, month, year;
GetPlayerName(playerid, playername, 24);
getdate(year, month, day);
gettime(hour, minute, second);
format(logstring, sizeof(logstring), "[%02d.%02d.%d, %d:%d:%d] [CMD LOG]: << %s used %s >>\n", day, month, year, hour, minute, second, playername, cmdtext);
fwrite(log, logstring);
fclose(log); -
Hey ich weiß nicht aber irgendwas stimmt mit meinem /f befehl nicht. Ich bekomme keine Errors o.Ä.
ocmd:f(playerid,params[])
{
new text[144],name[MAX_PLAYER_NAME];
if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(text,144,""#fchat_farbe"*%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,params);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
SendClientMessage(i, -1, text);
} else {
printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,params);
}
}
return 1;
} -
ocmd:f(playerid,params[])
{
new text[144],name[MAX_PLAYER_NAME], msg[144];
if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(msg,144,""#fchat_farbe"*%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
SendClientMessage(i, -1, msg);
} else {
printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
}
}
return 1;
} -
Er zeigt mir immer noch nichts im Chat (oder Konsole) an.
@SynonymousZ -
ocmd:f(playerid,params[])
{
new text[144],name[MAX_PLAYER_NAME], msg[144];
if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
print("Debug - 1");
printf("%s - %s - %s", name,f_rang[PlayerInfo[playerid][pFrank]-1], text);
format(msg,144,""#fchat_farbe"*%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
SendClientMessage(i, -1, msg);
} else {
printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
}
}
return 1;
}
Schreibs mal so und sag was er printet -
-
ocmd:f(playerid,params[]){ new text[144],name[MAX_PLAYER_NAME], msg[144]; if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung"); if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]"); GetPlayerName(playerid,name,MAX_PLAYER_NAME); print("Debug - 1"); printf("%s - %s - %s", name,f_rang[PlayerInfo[playerid][pFrank]-1], text); format(msg,144,""#fchat_farbe"*%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text); for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){ SendClientMessage(i, -1, msg); } else { printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text); } } return 1;}
Schreibs mal so und sag was er printet@SynonymousZ er macht das Debug - 1 das darunter nicht mehr
Er zeigt mir das an:
Code[17:44:59] sscanf warning: Strings without a length are deprecated, please add a destination size. [17:44:59] Debug - 1 [17:44:59] [debug] Run time error 4: "Array index out of bounds" [17:44:59] [debug] Accessing element at index 9 past array upper bound 1 [17:44:59] [debug] AMX backtrace: [17:44:59] [debug] #0 00008fb4 in public ocmd_f (0, 265096) from Hightech_Reallife.amx [17:44:59] [debug] #1 native CallLocalFunction () from samp-server.exe [17:44:59] [debug] #2 00000264 in public OnPlayerCommandText (0, 265068) from Hightech_Reallife.amx -
Dann mach das ganze mal so:
ocmd:f(playerid,params[])
{
new text[144],name[MAX_PLAYER_NAME], msg[144];
if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
new p_frank;
if(PlayerInfo[playerid][pFrank] < 1)p_frank = 1;
else p_frank = f_rang[PlayerInfo[playerid][pFrank]-1];
format(msg,144,""#fchat_farbe"*%s %s: %s", p_frank,name,text);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
SendClientMessage(i, -1, msg);
} else {
printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
}
}
return 1;
} -
kann mir mal hier wer helfen ?
Mysql Problem -
Ich musste das umstellen, da mein f_rang aufgebaut ist wie eine Tabelle.
static const f_rang[][][] = {
{"Trainee","Police Officer","Detective","Sergeant","Lieutenant","Captain","Commander","Deputy Chief of Police","Assistant Chief of Police","Chief of Police"}, //SAPD
{"Trainee","Police Officer I","Police Officer II","Sergeant","Lieutenant","Captain","Deputy Chief","Assistant Sheriff","Undersheriff","Sheriff"} //LVPD
//{"Ersthelfer","Sanitätshelfer","Sanitäter","Rettungshelfer","Rettungssanitäter","Rettungsassistent","Kinderarzt","Notarzt","Leitender Notarzt","Stellv. Chefarzt","Chefarzt"}, //SAMD
//{"Praktikant","Lehrling","Geselle","Abschlepper","Assistant Kontrolleur","Kontrolleur","Ausbilder","Ordnungshüter","Oberrat","Vize Direktor","Direktor"}, //OAMT
//{"Praktikant","-","-","-","-","Chefjournalist","Chefredakteur","Redaktionsleitung","Eventsleitung","Stellv. Geschäftsführung","Leitende Geschäftsführung"} //NEWS
};mein Code sieht nun so aus:
ocmd:f(playerid,params[])
{
new text[144],name[MAX_PLAYER_NAME], msg[144];
if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
new p_frank;
if(PlayerInfo[playerid][pFrank] < 1)p_frank = 1;
else p_frank = f_rang[PlayerInfo[playerid][pFraction]][PlayerInfo[playerid][pFrank]-1]; //Diese Zeile
format(msg,144,""#fchat_farbe"*%s %s: %s", p_frank,name,text);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
SendClientMessage(i, -1, msg);
} else {
printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
}
}
return 1;
}es kommt dieser Error:
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(332) : error 006: must be assigned to an array
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(726) : warning 203: symbol is never used: "f_skins"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
Hoffe du kannst damit was anfangen und mir das vielleicht erklären warum ich nach f_rang drei "[]" machen muss bei zwei "[]" zeigt er mir den falschen Rank namen an.
-
Was zeigt er dir denn bei 2 "[]" an?
-
Gibt es eine Funktion mit der ich ein Fahrzeug restreamen kann? Z.b. dafür das, dass Kennzeichen angezeigt wird?
Ansonsten erstelle ich eine simple Funktion. -
Was zeigt er dir denn bei 2 "[]" an?
Wie meinst du das?
Also f_rang hab ich immer so benutzt:
format(string,sizeof(string),""#info_farbe"Du bist %s (Rank: %i)", f_rang[PlayerInfo[playerid][pFraction]-1][PlayerInfo[playerid][pFrank]-1],PlayerInfo[playerid][pFrank]);
SendClientMessage(playerid,-1,string); -
Du kannst es respawnen ?
-
Du kannst es respawnen ?
Dann würde das Fahrzeug aber wieder an die Ursprungs Position spawnen.
-
@The Sensei
Sorry, ich habe mich eben total vertan
Versuchs so:
ocmd:f(playerid,params[])
{
new text[144],name[MAX_PLAYER_NAME], msg[144];
if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
new p_frank[30];
if(PlayerInfo[playerid][pFrank] < 1)format(p_frank,30,"%s",f_rang[PlayerInfo[playerid][pFraction-1]][0]);
else format(p_frank, 30, "%s", f_rang[PlayerInfo[playerid][pFrank]-1]);
format(msg,144,""#fchat_farbe"*%s %s: %s", p_frank,name,text);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
SendClientMessage(i, -1, msg);
} else {
printf("%s %s: %s",p_frank,name,text);
}
}
return 1;
}
Wenns wieder nicht geht, melde dich mal mit TV Daten per PN dann mache ich es dir eben dann geht das schneller
