Ich benutze zur Zeit noch für alles strcmp, habe aber vor in meinem kommenden Gamemode/Projekt alle Befehle mit Parametern per ocmd zu machen.
//Edit: 100. Post ! Das musste sein =)
Ich benutze zur Zeit noch für alles strcmp, habe aber vor in meinem kommenden Gamemode/Projekt alle Befehle mit Parametern per ocmd zu machen.
//Edit: 100. Post ! Das musste sein =)
Gehen die anderen Befehle aus dem Script bzw. lädt der Server das FS beim Starten?
//OnGameModeInit
new GATE = CreateObject(969, 833.74, -2728.68, 13.00, 0.00, 0.00, 360.00);
und das dann oben raus nehmen, dann sollte es gehen...
Hast du das Plugin (mysql.dll) im Plugins Ordner und in der Server.cfg eingetragen? Das kann eig nur heißen, das das Plugin nicht geladen wird und der Server somit die MySQL Funktionen nicht kennt...
Hab mich nartürlich schon registriert (kenn die Seite schon von GTB) und hoffe, dass der Mod bald fertig ist sodass man loszocken kann! Werde mir dann die Tage ((über)Morgen) oder so das Game selbst auch zulegen.
Dankeschön schonmal, Cedii. Jetzt wird erstmal getestet bis der Server qualmt =)
Werde dann wie gesagt hier mein Feedback abgeben aber ich ahb mir nartürlich schon die neuen Funktionen angeschaut und muss sagen das sie leicht zu verwerten sind!
Super wollte das ganze gerade testen und der Client-Downloadlink ist down Echt schade...
Sobald der DL wieder da ist werde ich testen und mein Feedback abgeben
Per Strfind kannst du suchen ob diese Zeichen im Namen vorkommen.
Bsp.:
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
if(strfind(pName, "[", true) != -1)
{
SendClientMessageToAll(0xFFFFFFFF, "Ungültiger Name... *kick*");
Kick(playerid);
}
So in der Art, geht bestimmt auch anders...
Einrückungsfehler, im Grunde musst du nur bei return die 1 durch eine 0 ersetzen.
...
else
{
SendClientMessage(playerid, COLOR_GRAD1, " ** INFO: Das ist ein Adminbefehl, du bist kein Admin!");
}
}
return 0;
}
Probiers so! Sollte gehen
Da musste ich erstmal grinsen
Ob darauf "1x .de domain" läuft kann man so nciht sagen da die Domain != Webserver ist, aber:
Auf meinem vServer (ähnliche Werte) läuft das ganze wunderbar ohne größere Laggs (wobei es auch auf die Useranzahl/Auslastung annkommt)
Ups hab da wohl eine Funktion nichtmehr richtig gewusst...
ersetze mal IsInAnyVehicle durch IsPlayerInAnyVehicle
Die Loose indentation sind nur einrückungsfehler (Warnings)
Zu symbol is assigned a value that is never used: "plname" kann ich nichts sagen da es nichts mit meinen änderungen zutun hat
Woops verbessert eine Klammer zu schließen
So gehts richtig:
if(strcmp(cmd, "/respawnfv", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
{
for(new i = 57;i<64;i++) {
for(new pid = 0;pid<MAX_PLAYERS;pid++)
{
if(!IsInAnyVehicle(pid))
{
SetVehicleToRespawn(i);
}
}
}
SendClientMessage(playerid, COLOR_RED, "Respawned");
else
{
SendClientMessage(playerid, COLOR_RED,"Du darfst diesen Befehl nicht benutzen!");
}
}
return 1;
Das fragt ein "Fortgeschrittener"? Na gut aber ich bin nartürlich wieder gut gelaunt und erkläre dir RFTs Variante.
Also was du machst ist kompletter Blödsinn das es alles andere als ressourcensparend ist! Du definierst für jedes Auto eine neue Variable -> Mad!
RFT erstellt nur eine Variable (Array) in die er dann alle Cars lädt und sie später wieder per for-Schleife "abfragt" bzw. weiterverwertet.
new CopCar[34]; // definiert die Variable mit 34 "Spalten"
CopCar[0] = AddStaticVehicleEx(528,1545.0760,-1650.8989,5.6128,90.6154,0,1,-1); // definiert ein Auto und lädt es in den Array
for(new Car = 0; Car < sizeof(Cop); Car ++) // Schleife die die Autos "lädt" also ihnen Car zuweißt (Car = alle Autos)
{
if(Cop[Car] == carid) // Wenn carid eines dieser Auto ist
return true; //gib wahr aus (stimmt)
}
return false; // sonst gib falsch aus (stimmt nicht)
//Edit: da war RFT wohl viel schneller
if(strcmp(cmd, "/respawnfv", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
{
for(new i = 57;i<64;i++) {
for(new pid = 0;pid<MAX_PLAYERS;pid++)
{
if(!IsInAnyVehicle(pid))
{
SetVehicleToRespawn(i);
}
}
}
SendClientMessage(playerid, COLOR_RED, "Respawned");
else
{
SendClientMessage(playerid, COLOR_RED,"Du darfst diesen Befehl nicht benutzen!");
}
}
return 1;
ACHTUNG: Ich habe das ganze nicht getestet und schon lange nichts mehr mit Pawn gemacht, weiß also nicht ob es geht!
//Edit: Tipp: Ich würde die Autos nicht einzeln respawnen lassen sondern per for-Schleife
//Edit2: Code verbessert
1. nicht gleich so frech...
2. bau oben im Script ein:
new Eingeloggt;
3. Poste auch mal 5 Zeilen davor und danach denn die Errors haben nie nur was mit einer einzelnen Zeile zutun.
Schau dir den Code an bzw. den /su Befehl und OnPlayerDeath (brauchst da die killerid).
Code:
// OnPlayerDeath
SetPlayerWantedLevel(killerid, 1);
return 1;
//Edit:
da war wohl einer schneller
Sorry wenn ich jetzt so komm aber 135 Beträge und du kannst das nicht?
Na gut zu deiner Frage:
Speicher das ganze per dini (z.B. Kasse.ini in der dann die Fraktionen mit dem Wert aufgeführt sind) oder per MySQL (das ganze dann eben als Tabelle).
dini_IntSet("kasse.ini", "Fraktion", 3500); // 3500 = 3500$ also der Wert
dini_Int("kasse.ini", "Fraktion"); // holt den Wert aus der ini
Entweder immer wenn ein User connected/joint das in eine Datei schreiben (so eine art Log) oder per Timer überprüfen, wobei das total sinnlos wäre da wohl niemand ohne Joinen auf den Server kommt bzw. ihn wieder ohne Disconnect ihn verlässt.
//Edit:
public OnPlayerConnect(playerid)
{
users++;
Log = fopen("players.log", io_append);
gettime(h, m, s);
format(str, sizeof(str), "%d:%d:%d | %d (joined)", h, m, s, users);
fwrite(Log, str);
fclose(Log);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
users--;
Log = fopen("players.log", io_append);
gettime(h, m, s);
format(str, sizeof(str), "%d:%d:%d | %d (disconneted)", h, m, s, users);
fwrite(Log, str);
fclose(Log);
return 1;
}
So irgendwie hab das jetzt nicht getestet sollte aber gehen
Klammerfehler...
Schau mal ob alle Klammern zu sind oder gib uns die Scriptzeilen (wobei das ganze dnan "weiträumig" sein müsste.
//Edit: Sorry errors nicht angegugt sondern nur auf die Anzahl geschaut. Du brauchst neuere Includes, lad dir am besten den Server neu runter. (sa-mp.com)