Heißt dass, wenn ich hinter einen String einen Integer definieren, dass der String immer nur ein Wort lang ist?
Ja, sonst würde das System ja nicht funktionieren ![]()
mfg. ![]()
Heißt dass, wenn ich hinter einen String einen Integer definieren, dass der String immer nur ein Wort lang ist?
Ja, sonst würde das System ja nicht funktionieren ![]()
mfg. ![]()
Schreibe es mal so:
if(sscanf(params,"s[25]is[128]",targetname,time,reason))
sscanf kann keine Makros auflösen, deshalb geht das nicht ![]()
mfg. ![]()
Mit welcher Funtuion kann die die Message abrechen lassen das es nicht weiter die nachrichten schreibt?
Nun das geht momentan nur automatisch, sprich so:
SendTimeMessage(playerid,0xFFFFFF,10,"hi","hi2");
Sobald hi2 gesendet wurde, bricht das ab...
//Edit²: So habe nun die Funktionen verbessert und Callbacks hinzugefügt !
Viel Spaß ![]()
so kann man die message von neuen starten ohne nen eigenen timer verwenden zu müssen.
Gute Idee, werde es später mal editieren ![]()
mfg. ![]()
Schade.. also sprich jewals ne neue zeile erstellen? Oder geht das so auch nicht.
Wenn du zeitversetzt 1ne Message ausgeben willst, musst du mit Timern arbeiten, sprich sowas:
forward MSG_Timer(time,x);
public MSG_Timer(time,x) {
switch(x) {
case 0: SendClientMessageToAll(-1,"hi"),time=120; //jetzt würde die näcshte MSG erst nach 120 Sek kommen
case 1: SendClientMessageToAll(-1,"hi2");
case 2: return 0;
}
x++;
SetTimerEx("MSG_Timer",1000*time,0,"ii",time,x);
return 1;
}
//Dann sähe das so aus:
MSG_Timer(60,-1); //Erste nachricht kommt nach 60sek
So ungefähr ![]()
mfg. ![]()
kann man es auch in einer zeile so machen das die Narichten zeitverschoben kommen?
Nein, dass kann man nicht machen, nur regelmäßige Abstände ![]()
90% von dem Code ist ja irgendwie kopiert und wirklich "gut" ist das auch nicht ![]()
Naja 3/10 ![]()
@Schwabbel
Wenn ich also
SendTimeMessageToAll(0xFF4800FF,60000,"Test");
eingebe kommt diese Nachricht jede Minute?
Nein...
So müsstest du das z.B. machen
SendTimeMessageToAll(0xFF4800FF,60,"Test","Test1","Test2","Test3","Test4");
Jetzt würde direkt "Test" erscheinen, nach 1min dann "Test1", nach einer weiteren min "Test2" usw...
Wenn du willst, dass immer die selbe Message aufgerufen wird, kannst du auch einen normalen Timer verwenden ![]()
mfg. ![]()
Gerade die Funktion SendTimeMessageToAll hinzugefügt und die Downloadlinks erneuert ![]()
mfg. ![]()
Ja ich glaub es dir hab das ganze mit 11 string 11 mal 200 Zeichen getestet
Na dann ![]()
und d.h es kommt zu keinen Memory Leaks ?
Denn wenn das so ist, dann sage ich schonmal:
@BlackAce nimm das ![]()
Wurde das irwie geändert, dass ich mit einem Timer arbeiten muss ?
Nope, mal im server.log richtig geschaut, vielleicht wurden sie gekickt und sind wieder connected ![]()
Neuer Test:
Beides mal: 16320 Bytes...
mfg. ![]()
Immer noch ein Error
Das ist ein Warning und der bedeutet, dass du das falsch eingerückt hast...
Rücke es mit TAB richtig ein oder schreibe:
#pragma tabsize 0 //oben in dein Script
mfg. ![]()
Ich geh dennoch mal davon aus das die bytewerte gelöscht oder überschrieben werden von dem string(array)
Davon ging ich auch aus...teste es mal ![]()
//Edit:
Habe es getestet, bei beiden Fällen immer 15 kb:
mfg. ![]()
public BanTimer(playerid)
{
Kick(playerid);
return 1;
}
So schreiben:
forward BanTimer(playerid);
public BanTimer(playerid)
{
Kick(playerid);
return 1;
}
Alles anzeigenpublic OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimer",500,false,"i",playerid); //Du musst den Timer für die playerid starten. Dein Timer heisst unten "BanTimer" und nicht "BanTimerText
Kick(playerid);
return 1;
}
}
So schreiben:
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimer",500,false,"i",playerid); //Du musst den Timer für die playerid starten. Dein Timer heisst unten "BanTimer" und nicht "BanTimerText
Kick(playerid);
}
return 1;
}
mfg. ![]()
ch habe die: " RemoveBuildingForPlayer" Zeilen entfernt
Anscheinend nicht alle, schau nochmal in Filterscripts oder so, evtl hast du die da auch nochmal stehen ![]()
mfg. ![]()
Davon hab ich nie gesprochen
Jajaja ![]()
Wie hieß es doch:
Ich soll strdel verwenden, weil ich so nicht das Lösche sondern nur Memory Leaks verursache... ![]()
cannot open shared object file: No such file or directory)
anscheinend ja nicht... ![]()
Eigentlich war es eine anspielung auf das Wort "Speicherleck"
Denoch frag ich mich ob sowas überhaupt möglich ist generel mit Pawn hab zumindestens noch nie von solch einem Problem gehört.
Außer jetzt die Probleme mit dem MySQL R7 plugin und paar generelle MySQL probleme.
Oh doch nach BlackAce gibt es die, wenn du z.B. sowas machst:
string = "";
//oder einen string returnst
mfg. ![]()