Problem gelöst. Der Dialog "pwchange" hat sich wohl gedeckt mit dem pwchange von DCMD.
Habe den Befehl umbenannt, nun klappts.
Beiträge von .:luma:.
-
-
Zum 1. Warning:
In dem Befehl
CreateHaus(x,y,z,100,"Keiner",0);
Hast du einen "Tag" zu viel. Die hintere 0 hat nach deiner stock keine Bedeutung.Entweder passt du den Befehl an die Stock an:
CreateHaus(x,y,z,100,"Keiner");Oder du Passt den Stock an:
stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32],innenraum)
{
new pfad[50];
for(new haus=1;haus<MAX_HAUS;haus++)
{
format(pfad,50,"/haus/%d.txt",haus);
if(!fexist(pfad))
{
dini_Create(pfad);
dini_FloatSet(pfad,"x",x);
dini_FloatSet(pfad,"y",y);
dini_FloatSet(pfad,"z",z);
dini_IntSet(pfad,"preis",preis);
dini_Set(pfad,"besitzer",besitzer);
dini_IntSet(pfad,"innenraum",innenraum);
}
}
return 1;
}Der fehler wird gewesen sein, dass du den Innenraum nicht korrekt eingebaut hast.
Deshalb würde ich die Stock anpassen.Zum 2. Warning kann ich leider grad nichts sagen.
-
warum sollte das genau der fehler sein? genau so wie es da steht funktioniert es bei meinen ~100 anderen Befehlen auch.
-
Moin,
ich habe für meinen GM einen Befehl zum ändern des Passworts erstellt, der leider ohne Wirkung bleibt.
Heißt im Klartext: Ich gebe /pwchange ein (ohne ID) und es wird nicht mal die Meldung wiedergegeben, dass die Playerid fehlt.Hier der Befehl:
dcmd_pwchange(playerid,params[]) {
if(pInfo[playerid][admin] < 5) { return 1; }
new pw[250], pm[128], ls[170], name[MAX_PLAYER_NAME], zname[MAX_PLAYER_NAME], ziel;
if(sscanf(params, "u",ziel)) {
return SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /pwchange [playerid]");
}
GetPlayerName(ziel,zname,sizeof(zname));
GetPlayerName(playerid,name,sizeof(name));
format(pw,sizeof(pw),"Hallo %s,\nAdmin %s hat dich aufgefordert dein Passwort zu wechseln.\nGebe dein neues gewuenschtes Passwort ein und klicke auf Bestaetigen.\nMoechtest du dein Passwort nicht wechslen klicke auf Abbrechen.",zname, name);
ShowPlayerDialog(ziel,pwchange,DIALOG_STYLE_INPUT,"Passwortaenderung",pw,"Bestaetigen","Abbrechen");
format(pm,sizeof(pm),"AdmCmd: %s hat %s aufgeordert das Passwort zu ändern.", name, zname);
AdminMessage(COLOR_ORANGE,pm);
format(ls,sizeof(ls),"[PWCHANGE] %s hat %s aufgefordert das Passwort zu ändern.",name, zname);
Log("admin",ls);
return 1;
}Könnt ihr mir helfen das Problem zu finden?
-
Die Mofaprüfbescheinigung (Kein Führerschein) beinhaltet - glaube ich - nur 6 Theoriestunden und eine Fahrstunde.
Nach der einen Fahrstunde kannste zur Theorieprüfung. Ist die Theorieprüfung bestanden, darfste fahren, wenn du die Prüfbescheininung hast und 15 bist.Ich habe 2009 ca. 160€ bezahlt.
-
jo danke klappt
-
Moin,
ich bin im Moment dabei mir eine eigenen Tempban-Funktion zu scripten.
Das Ende des Tempbans wird in einer Datei gespeichert.
Beispiel:Wenn ein Spieler sich nun einlogt, und in seiner Spielerdatei gespeichert ist, dass er einen Tempban hat (tempbanned = 1) wird dieser auf den tempban überprüft.
Ist der Tempban noch gültig wird der Spieler gekickt, ist er nicht mehr gültig, wird tembanned auf 0 gesetzt und der Spieler kann spielen.
Die Abfrage, ob der Spieler noch gebannt ist, sieht so aus:
if (jahr < tInfo[playerid][Jahr] && monat < tInfo[playerid][Monat] && tag < tInfo[playerid][Tag]
&& stunde < tInfo[playerid][Stunde] && minute < tInfo[playerid][Minute] && sekunde < tInfo[playerid][Sekunde]) {
SendClientMessage(playerid,COLOR_RED, "Du bist noch gebannt.");
Kick(playerid);
return 1;
}
else {
pInfo[playerid][tempbanned] = 0;
return 1;
}Diese Abfrage ist, wie sich im nachinein herausgestellt hat Sinnlos, denn wenn nur die aktuelle Sekunde größer ist als die, die in der Tempban datei steht, wird der Tempban aufgehoben.
Ursprünglich wollte ich das das Datum bis zu welchem der Spieler gebannt ist Speichern und mit dem aktuellen Datum abgleichen, doch wie das geht weiß ich nicht
Ist dies überhaupt möglich?
Wenn nicht, wie kann ich es sonst machen? -
Moin,
ich würde gerne mal wissen, wie man ein Logsystem mit DINI erstellt.
Ich möchte verschiedene Logdatein haben (z.B. Admin-CMDs, Kick & Ban, Paylogs, etc).
In diese Logdatein möchte ich mit einer Funktion (am Liebsten: "log("LOGNAME", string)") rein schreiben.
Nun stellt sich mir die Frage wie ich a) die Funktion erstelle und b) in DINI in eine Datei eine neue Zeile einfüge.Wäre nett wenn man mir dazu ein paar Tips geben könnte.
-
Moin ihr lieben,
wir kann ich bestimmte Sachen wie z.B. Positionen (X,Y,Z) für z.B. 15 MInuten lang Speichern.
Nach den 15 Minuten soll das gespeicherte dann zum Ursprünglichen zurück gesetzt werden.Die Zeit soll natürlich auch laufen, wenn der gewünschte Spieler off ist.
wie bekomme ich das hin?
-
wenn du mit
Zitatmach mal return 1
das Return 0 am ende zu return 1 zu machen bringt es nichts, weil dann nämlich garnichts mehr passiert
-
Moin,
zu erst will ich sagen, dass ich die SuFu schon genutzt habe.
Zu meinem Problem:
Ich habe einen Befehl erstellt, der beim Compilen keinerlei Errros oder Warnings entwickeln lässt.
Wenn ich diesen Befehl nun Ingame ausführen möchte, sagt mir der Server:ZitatServer: Unkonw Kommand
Mein Problem ist nicht die "Unknown Command" meldung, sondern dass der Befehl nicht funktioniert.
Ich habe jetzt ca. 1 halbes Jahr nicht mehr gesciptet und komme leider nicht weiter.HIer mein OnPlayerCommandText:
public OnPlayerCommandText(playerid, cmdtext[])
{
new spieler[MAX_PLAYER_NAME];
new ziel = strval(strget(cmdtext,1));
new save[40];
new name[40], pname[40];
format(save,sizeof(save),"Spieler/%s.ini",name);
//setadmin
if(strcmp(cmdtext,"/setadmin",true,9) == 0)
{
new level = strval(strget(cmdtext,2));
if (pInfo[playerid][admin] >= 6)
{
if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_YELLOW, "Benutzte: /setadmin [ID] [0-6]");
{
if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_YELLOW, "Benutzte: /setadmin [ID] [0-6]");
{
if(level < 0) return SendClientMessage(playerid, COLOR_RED, "Fehler: Das Adminlevel darf nicht größer als 6 und kleiner als 0 sein!");
{
if(level > 6) return SendClientMessage(playerid, COLOR_RED, "Fehler: Das Adminlevel darf nicht größer als 6 und kleiner als 0 sein!");
{
pInfo[ziel][admin] = level;
dini_IntSet(save,"Admin",pInfo[ziel][admin]);
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(ziel,pname,sizeof(pname));
new adm[128], adm1[128];
format(adm,sizeof(adm),"Admin %s hat die zum Level %d Admin gemacht. Für Adminbefehle Tippe: /ahelp",name,level);
format(adm1,sizeof(adm1),"Du hast %s zum Level %d Admin gemacht.",pname,level);
SendClientMessage(ziel, COLOR_ORANGE,adm);
SendClientMessage(ziel, COLOR_ORANGE,adm1);
return 1;
}
}
}
}
}
}
return 0;
}Ich hoffe, ihr könnt mir Helfen.
-
gibt es da nciht ne andere meöglichkeit?
Bots benötigen ja acuh resourcen.. -
dei einzige Stelle, in der SetPlayerHealth vor kommt ist mein /sethp befehl.
//------------------------------sethp------------------------------
if (strcmp("/sethp", cmdtext, true, 6) == 0)
{
if(pInfo[playerid][alevel] >= 3)
{
new betrag = strval(strget(cmdtext,2));
new fname[128], name[128], fr[128], pf[128];
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(ziel,fname,sizeof(fname));
format(fr,sizeof(fr),"Du hast %s's HP auf %d gestzt!",fname,betrag);
format(pf,sizeof(pf),"Admin %s hat deine HP auf %d gesetzt!",name,betrag);
SetPlayerHealth(ziel, betrag);
SendClientMessage(playerid,COLOR_YELLOW,fr);
SendClientMessage(ziel,COLOR_YELLOW,pf);
return 1;
}
if(pInfo[playerid][alevel] < 3)
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
}
} -
Hey Ho, mal wieder hab ich nen Problem mit nem Selfmade GM.
Das Problem ist: ID 0 ist unverwundbar. Beim 1. Test meines Gamemodes hab ich gemekrt, dass jeder der ID 0 hatt, unverwundbar war.
Woran kann das liegen? -
danke danke, scheint zu funktionieren..
-
ich hoffe ich habs richtig verwendet.
Ich habe einen Timer erstellt, der alle 30 sek die Stats im TextDraw updaten soll.Die Updatefunktion sieht bei mir folgendermaßen aus (aktuell nur für die Kills):
public StatsUpdate()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
new sk[128];
new morde = pInfo[i][kills];
format(sk,sizeof(sk),"Kills: %d",morde);
TextDrawSetString(Textdraw1,sk);
}
}ist dies soweit richtig, dass es funktioniert?
luma
-
eine solche funktion ist mir und dem englischem samp wiki nicht bekannt
-
Hey Ho,
ich bin dabei ein Statssystem mit TextDraws zu erstellen.
Der Textdraw steht soweit und zeigt auch an.
Mein Problem ist jetzt, dass ich nicht weiß, wie ich den Textdraw aktualisieren kann, wenn man jemanden Tötet oder stirbt.
Wie kann ich das am besten machen?PS: Das Statssystem sieht so ähnlich aus:
Stats:
Kills: x
Tode: x
Punkte: xfür x steht denn halt ne Zahl.
luma
-
-
Hallo Brotfischler,
ich bin dabei ein DM Script zu erstellen und möchte aus Textdraws eine Statsbox unten an den Rand machen.
Um aber die Kills usw. anzuzeigen, muss ich sie aus der Datei des Players auslesen lassen. Da in OnGameModeInit die Textdraws erstellt werden und playerid dort nicht definiert ist muss ich dies machen.
NUr leider habe ich keine Ahnung wie. Könnt ihr mir helfen?luma