Cool, wusst ich nocht gar nicht. Merkt man aber beim Spielen auch eigentlich nix von
Beiträge von Hagi
-
-
Woran machst du fest ob das Vehicle ein Diesel oder Benziner ist?
-
Wenn das von Homer stimmt, dann sollte das so auf jeden Fall funktionieren:
OnGameModeInit
SendRconCommand("password changeme");
public OnNPCConnect(myplayerid)
{
if(myplayerid == 4)
{
SendRconCommand("password 0");
}
} -
du könntest es z.B. so machen
new bool:canlogin = false; // globale variable
Bei OnPlayerConnect
if(canlogin == false && IsPlayerNPC(playerid) == 0) Kick(playerid);
Und dann natürlich:
public OnNPCConnect(myplayerid)
{
if(myplayerid == 4)
{
canlogin = true;
}
}Eventuell funktioniert das, eventuell aber auch nicht
Man müsste rausfinden ob eine ID (playerid) kurzeitig blockiert würde wenn ein Spieler Connected, da dann unter umständen der vorletzte Bot schon die Id des letzten Bots bekommen würde.Ansonsten fällt mir aber auch keine gute Lösung ein.
Kann man eigentlich per Rcon Command beim laufenden Server das Passwort rausnehmen? Wenn ja dann kann man das ja rausnehmen wenn alle Bots connected sind. Dann hätte man das Problem mit den eventuell blockierten IDs nicht.
-
Du kannst beim Connecten eines Bots dessen ID abfangen (Callback:OnNPCConnect). Dafür musst du natürlich wissen, wie viele Bots insgesamt auf deinen Server connecten. Sind es z.B. 5 Bots (playerid = 4)
public OnNPCConnect(myplayerid)
{
if(myplayerid == 4)
{
//allow player to connect here
}
}Innerhalb der if-Abfrage kannst du dann das Connecten erlauben. Du kannst z.B. eine Variable auf false setzen, welche den Spieler beim Connecten kicken würde, wenn diese true wäre. Oder, wobei ich nicht weiß ob das geht, beim Starten ein Passwort setzen und dieses dann nach dem letzten Bot entfernen.
-
Im Grunde musst du ja nur den Zeilenoperator noch hinter jede Zeile hängen
strcat(dialogtext, content);
strcat(dialogtext,"\n"); -
Dann musst du auch einen String auslesen
new Passwort[64];
Passwort = dini_Get(Namewbb,"Passwort");edit: Semikolon vergessen
-
Passwort sollte ein String und kein Integer sein. Abgesehn davon, dass das Passwort in der File im Klartext gespeichert sein muss, damit man sich später auch mit dem Passwort im Forum einloggen kann.
-
Ist ein super geiles Ding. Würd ich auch mal gerne fahren, mach ich vllt auch
Die Strecke ist super gemapped und die einzelnen Segmente sind super auf einander abgestimmt.
Auch das Vorstellungsvideo ist super gemacht.Insgesamt eine super Komposition.
-
Ist zwar nichts Besonderes, ist aber dennoch sehr gut gemacht und sieht auch super aus.
Auf jeden Fall 10/10 Punkte -
Erstmal danke für den Hinweis zur Cache Funktion. Ich werde mir das mal anschaun. Habe ja nie gesagt, dass das hier die final Version ist. Bei jedem "Projekt" gibts immer was zu verbessern und zu verändern.
-
Guten Abend Breadfisher,
Vorwort:
Ich programmiere gerne kleine Scripte in Java. Dabei hatte ich bis jetzt immer das Problem, dass ich Variablen nicht speichern konnte, da ich mich mit Files nicht so gut auskannte.
Daher habe ich mir gedacht, dass ich mal die Dini Methoden aus SAMP (Pawn) in Java umsetze.Verwendung:
Die Klasse dini muss nicht als Objekt erzeugt werden, da es sich bei allen Methoden um statische Funktionen handelt.
Methoden:
Alle Methoden, die auch die Pawn Version von Dini verwendet. Dennoch habe ich alle Methoden dokumentiert. Die Dokumentation wird als Dateianhang an diesen Tread angehangen.
Schlusswort:
Ich weiß, dass die Java Klasse Dini nichts Großartiges ist und auch mit Sicherheit nicht super optimiert gecodet ist. Dennoch hilft sie mir sehr weiter, weshalb ich die Klasse hier releasen möchte. Jeder darf die Klasse für sich verwenden, editieren und wieder hochladen. Ich bitte nur um einen Credit Eintrag im Code.
Pastebin:
Version 0.1 : http://pastebin.com/N1hCC277
-
Also hier der Code
TogglePlayerControllable(id,0);
GameTextForPlayer(id,"~r~DU WURDEST GEBANNT!",4000,3);
SetTimerEx ("publicBan", 100, false,"d", id);
TextDrawShowForPlayer(id,BANNED);
TextDrawHideForPlayer(playerid, NEULING);
new playername[24];
GetPlayerName(id,playername,24);
WBB_BanUser(playername,gMessage);Aber nur unter der Prämisse, dass der Spielername auf dem Server exakt gleich dem Namen des Forumaccounts ist. Sonst funktionierts natürlich nicht.
-
Dir fehlt einfach das Filterscript
"eventfs"
im filterscripts Ordner als .amx
-
Ich würde nicht den Bezeichner long für eine Variable wählen, da das eigentlich ein eigener Datentyp ist, aber Pawn war was das angeht schon immer komisch.
new length= strlen(inputtext)+2; //( davon ausgehend, dass inputtext hier die permission identifizieren soll)
new position = strfind(Fraktionen[FID[playerid]][permissions],inputtext,true);
new pos2 = position+length;
strdel(Fraktionen[FID[playerid]][permissions],position,pos2);
return 1; -
-
du suchst use.cuff via strfind. Damit weißt du an welcher Position dein Substring anfängt. Dann musst du noch die länge des Substrings via strlen("use.cuff") rausfinden und da noch den Zeilenumbruch draufrechnen ("\n")
Heißt wenn strfind dir z.B. Position 5 angibt, steht im 6. Zeichen "u" (von use.cuff) usw.
Insgesamt musst du dann also die Zeichen
6 bis 15 (einschließlich) löschen ( use.cuff\n ist 10 Zeichen Lang) -
Tatsächlich funktioniert das, wenn nur der Spielername in einer Zeile (listitem) steht.
Mann muss zwar alle Spieler durchlaufen, bis man den entsprechenden Spieler gefunden hat, dafür benötigt man aber auch kein Array zum zwischenspeichern der Reihenfolge.
Denn in inputtext steht bei einer Liste der Inhalt der ausgewählten Zeile, in dem Falle der Name
-
Das heißt das gleich wie
if(strcmp(Var1[index], name, true) == 0)
if(!strcmp(Var1[index], name, true))
Sprich wenn die Strings gleich sind wird Test geprintet.
Machs also so
if(strcmp(Var1[index], name, true))
-
Ansonsten bleiben dir hinterher natürlich noch Nebenmissionen wie die Auftragsmorde per Festnetztelefon um Geld zu verdienen. Und du hast noch die Autoaufträge für Brucie und später für dessen Freund. Das sind auch nochmal locker 50 Autos für die du immer Geld bekommst.