Ich finde die Stadthalle in deinem Bild relativ schön, könnte man eigentlich so übernehmen
Beiträge von JustMe.77
-
-
Dankeschön, freut mich das zu hören. Habe schon einige Antisobeit Scripts gesehen, die funktionieren auch eigentlich relativ gut aber die meisten Server besitzen soetwas leider nicht.
-
Viele davon gefallen mir, gute Arbeit !
-
Hatte auch dieses Problem, ein Server Restart hat da eigentlich immer geholfen
-
Ich würde dir helfen, nur müsstest du halt warten bis mein Geld auf meinem PayPal Konto angekommen ist, habe es soeben per SEPA Überweisung an mein PayPal Konto überwiesen.
-
Ich hätte nichts dagegen wenn sich Teams anmelden die zuvor nicht im Forum registriert waren, aber ich würde die Anmeldung der externen Teams begrenzen damit es nicht all zu "fremd" wird.
-
Jeffry hatte mir damals hiermit geholfen:
"Du musst die Größe das anklickbaren Bereiches mit PlayerTextDrawTextSize anpassen. wiki.sa-mp.com/wiki/PlayerTextDrawTextSize Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.
Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann
machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so
groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst
du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch
10, das wäre 64. Somit ist PlayerTextDrawTextSize-X = 120 + 64 = 184.
Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du
bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm
von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt
24. Somit wäre PlayerTextDrawTextSize-Y = 24." -
Ich habe bereits über diesem Forum ein Angebot erhalten, denke aber nicht das es zum Verkauf kommen wird.
Ob ich es mal veröffentliche weiß ich nicht, habe die Befürchtung das es dann User gibt die Möglichkeiten finden die Checks zu umgehen und schlimmstenfalls das die Entwickler dahinter kommen und es eventuell beheben.
Bisher gibt's nur ein Server dem ich dieses System eventuell witmen möchte, mal schauen ob es was wird
Edit:
Ich schätze mal 1-3 Sekunden, kann die Zeit später auch gerne printen lassen. Die Checks können aber unterschiedlich lange dauern wenn z.B. Methode 1 fehlschlägt, dann kommt ja Methode 2 zum Vorschein und deshalb würde das etwas länger dauern.
-
Ich erkenne nicht ganz so viel auf den Bildern aber auf dem ersten Blick sieht das doch ganz in Ordnung aus.
Ich finde 512 Objekte sind etwas zu viel, ist aber Geschmackssache
-
@shoxinat0r
Danke erstmal, ich führe die Checks bei der Class-selection durch und einmal beim spawnen, das hat den Vorteil das der Spieler während des Vorgangs nichts bemerkt und es verzögert sich auch gar nichts.Ich könnte auch ein Admin Befehl einfügen womit man ein Spieler manuell überprüfen könnte, das ist aber mit den aktuellen Methoden noch nicht nötig
-
Hmm was hat denn Kaliber hiermit zu tun
Benutze wie gesagt verschiedene Methoden, einige davon sind auch schon allbekannt, einige aber nicht
Edit:
Ich habe bereits leider eine modifizierte Version von Sobeit entdeckt die noch nicht erkannt wird, ich arbeite aber bereits daran auch hierfür ein kleines System zu schreiben um die Version zu
detecten. Glücklicherweise ist die Version die nicht erkannt wird ziemlich unbekannt und bis jetzt noch unverbreitet -
Es gab erneut ein Update, danke an VVWVV für seine Unterstützung.
Hier ein Überblick der Konversation bzw. den Veränderungen: https://github.com/Ino42O/OxygenController/pull/2Download Link im Startpost aktuallisiert, VVWVV zu den Credits hinzugefügt.
-
Habe das so, hilft nicht.
Edit:
Problem gefunden, ein FilterScript hatte OnPlayerSpawn/Death gestört, danke
-
-
Hi, habe ein DM System, doch komme bei einem Problem nicht weiter. Alles funktioniert so weit so gut, aber wenn der Spieler in der DM Arena stirbt, soll er wieder spawnen nur scheint das hier leider nicht der Fall zu sein. Findet jemand den Fehler?
Befehl um zur Arena zu gelangen:
CMD:dm1(playerid, params[])
{
if(InDM[playerid] == 1)
{
SendClientMessage(playerid,-1,"You're already in DM. Use /exit to leave it.");
return 1;
}
InDM[playerid] = 1; // we declared him in the DM arena.//Save Stuff
new Float:HP, Float:Pos[4], Float:Armour;
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
GetPlayerHealth(playerid, HP);
GetPlayerArmour(playerid, Armour);
for (new i = 0; i <= 12; i++) GetPlayerWeaponData(playerid, i, pStuff[playerid][weapons][i], pStuff[playerid][munition][i]);
pStuff[playerid][p_Health] = HP;
pStuff[playerid][p_Armour] = Armour;
pStuff[playerid][p_X] = Pos[0];
pStuff[playerid][p_Y] = Pos[1];
pStuff[playerid][p_Z] = Pos[2];
pStuff[playerid][p_A] = Pos[3];
pStuff[playerid][p_Interior] = GetPlayerInterior(playerid);
pStuff[playerid][p_VirtualWorld] = GetPlayerVirtualWorld(playerid);GameTextForPlayer(playerid, "/exit to exit!", 3000, 4); // a little game text to tell him how to exit if he's bored from the arena.
SendClientMessage(playerid, -1, "{66FF66}Welcome to the deathmatch arena! {BABABA}"); // Welcoming him to the arena..
SetPlayerInterior(playerid, 1); // setting his interior to 1
SetPlayerPos(playerid, 1412.639892, -1.787510, 1000.924377); // aswell as his position
SetPlayerVirtualWorld(playerid, 1); // and virtual world :D
ResetPlayerWeapons(playerid); // removing his weapons from outside the arena
SetPlayerColor(playerid, 0xFF8000FF); // setting everyone's color to white, u can change it
SetPlayerHealth(playerid, 100); // 100 for the health
SetPlayerArmour(playerid, 100); // 100 armour
GivePlayerWeapon(playerid, 24, 500);
GivePlayerWeapon(playerid, 34, 500);new str[200], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), "{FFFFFF}%s {BABABA}(ID: %d) has entered the DM arena! Join him using /dm1 !", name, playerid);
SendClientMessageToAll(-1, str);// we just announced to everyone that he entered the arena
return 1;
}Arena verlassen
CMD:exit(playerid, params[])
{
if(InDM[playerid] == 0)
{
SendClientMessage(playerid, -1, "You are not at the DM arena!");
return 1;
}
else if(InDM[playerid] == 1)
{
InDM[playerid] = 0;
//Give Stuff back
ResetPlayerWeapons(playerid);
for(new i=0; i < 13; i++)GivePlayerWeapon(playerid,pStuff[playerid][weapons][i], pStuff[playerid][munition][i]);
SetPlayerPos(playerid, pStuff[playerid][p_X], pStuff[playerid][p_Y], pStuff[playerid][p_Z]);
SetPlayerFacingAngle(playerid, pStuff[playerid][p_A]);
SetPlayerInterior(playerid, pStuff[playerid][p_Interior]);
SetPlayerVirtualWorld(playerid, pStuff[playerid][p_VirtualWorld]);
SetPlayerHealth(playerid, pStuff[playerid][p_Health]);
SetPlayerArmour(playerid, pStuff[playerid][p_Armour]);
GivePlayerWeapon(playerid,pStuff[playerid][weapons], pStuff[playerid][munition]);
SendClientMessage(playerid, -1, "You have left the DM arena!");
return 1;
}
return 1;
}OnPlayerSpawn
public OnPlayerSpawn(playerid)
{
if(playerspawned[playerid] == true)
{
SpawnPlayer(playerid);
playerspawned[playerid] = false;
}if(Dead[playerid] == 1)
{
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
ResetPlayerWeapons(playerid);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 1);
SetPlayerPos(playerid, 1412.639892, -1.787510, 1000.924377);
Dead[playerid] = 0;
}return 1;
}OnPlayerDeath (denke hier liegt das Problem)
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
if(InDM[playerid] == 1)
{
SetPlayerHealth(killerid, 100);
SetPlayerArmour(killerid, 100);
Dead[playerid] = 1;
SetPlayerPos(playerid, 1412.639892, -1.787510, 1000.924377);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 1);
ResetPlayerWeapons(playerid);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid, 24, 500);
GivePlayerWeapon(playerid, 34, 500);
}
return 1;
} -
Spielt keine Rolle was ich abfragen möchte, ich meine nur das ich vorhabe 100 Sachen abzufragen und die Information in einer Nachricht ausgeben möchte.
Meine Frage, gibt es da ein Weg ohne gleich für jede verschiedene Abfrage einen anderen String zu erstellen? Weil aktuell überschneidet das sich ja.Die Nachricht wird dann z.B. so ausgegeben:
Aktuelle Position (0.000000) (0.000000) (0.000000) (0.000000)
SAMP Version:Aktuelle Position (0.000000) (0.000000) (0.000000) (0.000000)
-
Hi, möchte 100 Abfragen machen, doch wie löse ich das alles ohne für jede Abfrage ein eigenen String zu deklarieren?
new string[2048];
new Float:x, Float:y, Float:z, Float:a;//Get Stuff
GetPlayerPos(playerid,x,y,z); //Done
GetPlayerFacingAngle(playerid,a); //Done
GetPlayerVersion(playerid, string, sizeof(string));//Messages
format(string, sizeof(string), "Aktuelle Position {FF0000}(%f) {00FF00}(%f) {FF0000}(%f) {00FF00}(%f) ", x,y,z,a);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "SAMP Version: {FF0000}%s", string);
SendClientMessage(playerid, -1, string); -
Nicht empfehlenswert, ich habe auch vermutet das es am Ackslimit liegt, aber 10.000 ist viel zu hoch! Dadurch entstehen Sicherheitslücken und es besteht die Möglichkeit den Server crashen zu lassen, mit einem bestimmten Tool.
Schau erstmal was die Serverlog sagt, vielleicht musst du das Limit nur um 500-1000 erhöhen.
-
Poste die einfach hier rein und wir schauen nach
-
Steht etwas in der Server_log.txt ?