Gibt es die Funktion "Log" überhaubt?
Wenn ja wie is sie aufgebaut?
[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
-
-
Wie trenne ich einen langen text nach sagen wir 100 Zeichen mit einem \n?
Um es richtig in einem MSGBOX Dialog anzeigen zu können. -
@[LoF]Domi:
Du könntest es einfach in nem format machen, so mit genau 100 zeichen geht glaube nicht. -
@[LoF]Domi:
Du könntest es einfach in nem format machen, so mit genau 100 zeichen geht glaube nicht.
Kleiner Anstoß?Hab da was mit strlen (Stringlänge) gefunden.
-
Ich bin gerade schon total stolz auf mich das ich das ganz alleine gescriptet habe
Aber ich brauch doch nochmal eine kleine hilfeSo sieht das ganze gerade aus :
ocmd:wanted(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei angestellt");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
{
new s[64];
new pID,anzahl,grund;
if(sscanf(params,"ui",pID,anzahl,grund))return SendClientMessage(playerid,WEIß,"Benutze: /Wanted [PLAYERID] [ANZAHL] [GRUND]");
SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +anzahl);
format(s,sizeof(s),"Polizist %s hat dir für %s %i Wanteds gegeben.",sName(playerid),grund,anzahl);
SendClientMessage(pID,GRAU,s);
return 1;
}
}und das Problem ist da wo der Grund stehen sollte, steht nichts aber da soll der Grund stehen. Ich weiß gerade nicht wie ich das lösen soll
-
Zeile 7: Aus grund > grund[50] machen
Zeile 8: f(sscanf(params,"uis[50]",pID,anzahl,grund))So sollte es gehen
-
Zeile 7: Aus grund > grund[50] machen
Zeile 8: f(sscanf(params,"uis[50]",pID,anzahl,grund))So sollte es gehen
So funktioniert es nicht dann kommt nur noch : Benutze: /Wanted[PLAYERID].... usw
-
Zeig mal dein aktuellen Code.
Zudem solltest du die Variable von 64 erhöhen. -
Zeig mal dein aktuellen Code.
Zudem solltest du die Variable von 64 erhöhen.ocmd:wanted(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei angestellt");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
{
new s[64];
new pID,anzahl,grund[50];
if(sscanf(params,"uis[50]",pID,anzahl,grund))return SendClientMessage(playerid,WEIß,"Benutze: /Wanted [PLAYERID] [ANZAHL] [GRUND]");
SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +anzahl);
format(s,sizeof(s),"Polizist %s hat dir für %s %i Wanteds gegeben.",sName(playerid),grund,anzahl);
SendClientMessage(pID,GRAU,s);
return 1;
}
} -
Zeig mal dein aktuellen Code.
Zudem solltest du die Variable von 64 erhöhen.
Ist dir aufgefallen das er 3 Parameter verlangt, also pid, anzahl und grund?Logisch das es da nicht hinkommt.
-
-
Problem selbst gelöst Wer wissen will wie der Code jetzt aussieht :
Spoiler anzeigen ocmd:wanted(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei angestellt");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
{
new s[64];
new pID,anzahl,grund[128];
if(sscanf(params,"uis",pID,anzahl,grund))return SendClientMessage(playerid,WEIß,"Benutze: /Wanted [PLAYERID] [ANZAHL] [GRUND] ");
SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +anzahl);
format(s,sizeof(s),"Polizist %s hat dir %i Wanteds gegeben. Grund: %s.",sName(playerid),anzahl,grund);
SendClientMessage(pID,GRAU,s);
return 1;
}
} -
Kleiner Anstoß?Hab da was mit strlen (Stringlänge) gefunden.
Keiner ne Idee?
@BlackAce: -
Wie trenne ich einen langen text nach sagen wir 100 Zeichen mit einem \n?
strins
an position 100 einfach \n einfügen.
nur solltest du bedenken, dass das nur bei einem Leerzeich o.ä. sinn macht -
Ich will das der Spieler aus dem Auto rausgeworfen wird wenn er kein Polizist ist.
Aber ich kriege Errors:Code:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
if(GetPlayerVehicleID(playerid) == PolizeiFahrzeuge(vehicleid) //ERRORS SIND HIER
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,GRAU,"Du bist kein Polizist!");
{
RemovePlayerFromVehicle(playerid);
return 1;
}
}Error:C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : error 012: invalid function call, not a valid address
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : error 017: undefined symbol "vehicleid"
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
Code:
Schreib das mal so:public OnPlayerStateChange(playerid, newstate, oldstate)
{
switch(newstate) {
case PLAYER_STATE_DRIVER: {
if(GetPlayerVehicleID(playerid) == PolizeiFahrzeuge(GetPlayerVehicleID(playerid))) {
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,GRAU,"Du bist kein Polizist!"),RemovePlayerFromVehicle(playerid);
}
}
}
return 1;
}mfg.
-
Schreib das mal so:public OnPlayerStateChange(playerid, newstate, oldstate)
{
switch(newstate) {
case PLAYER_STATE_DRIVER: {
if(GetPlayerVehicleID(playerid) == PolizeiFahrzeuge(GetPlayerVehicleID(playerid))) {
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,GRAU,"Du bist kein Polizist!"),RemovePlayerFromVehicle(playerid);
}
}
}
return 1;
}mfg.
Habe immernoch die gleichen Errors
-
Habe immernoch die gleichen Errors
UnmöglichDa ich gar keine Variable namens "vehicleid" verwende
mfg.
-
UnmöglichDa ich gar keine Variable namens "vehicleid" verwende
mfg.
Stimmt aber trotzdem error
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : error 012: invalid function call, not a valid address
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : error 001: expected token: ";", but found ")"
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
Stimmt aber trotzdem error
Dann stimmt darüber oder o.ä. etwas nicht, habe den Code gerade getestet und er funktioniert einwand frei bei mirmfg.
-
strins
an position 100 einfach \n einfügen.
nur solltest du bedenken, dass das nur bei einem Leerzeich o.ä. sinn macht
Okey, nach dem 100 zeichen is ne neue ZeileJedoch folgendes:
Ich habn Helpsystem geschrieben, und wenn ich nun nen langen text(wie z.B Lorem Ipsum) habe wird zwar nach dem 100 zeichen abetrennt, aber der rest verschwindet irgendwo rechtsHabs versucht mit mehreren strins (100,200,300..) usw.. jedoch hats mir da gleich nen Debug Fehler ausgegeben.
Der Text hat eine Länge von max 1000.