Das muss ins hauptverzeichnis des servers!
Beiträge von Kasakow
-
-
Erstmal eine Version fuer MySQL veröffentlichen Den Rest schreib ich dir Später per PN
-
Ich finde dieses System garnicht mal so Schlecht
6/10 -
Poste mal den dazugehörigen query sieht danach aus als ob dein ein ' hinter der id vergessen hast
Hab ihm schon geholfen, die string länge war anscheinend zu klein. -
-
Bitte zeige uns doch einen QuellCode
(PS: Du kannst mich auch in Skype,Facebook um hilfe beten )
-
Benutze SetPlayerAttachedObject
Kannst auch gerne meinen Editor dafür habencommand(editx, playerid, params[])
{
new id, Float:x, Float:y, Float:z;
if(sscanf(params, "i", id))return SendClientMessage(playerid, Weiß, "Befehl: /editx [Objekt - ID]");
SetPlayerAttachedObject(playerid, 0, id, 6, x, y, z, 0.0, 0.0, 0.0, 1, 1, 1);
EditAttachedObject(playerid, 0);
return 1;
}public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
{
new File:hFile = fopen("/file.txt", io_append), string[420];
if(response && hFile) {
format(string, sizeof(string), "SetPlayerAttachedObject(playerid, 0, %i, 0, %f, %f, %f, %f, %f, %f, %f, %f, %f);", modelid, fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
fwrite(hFile, string);
fclose(hFile);
}
else if((!response || !hFile)) {
RemovePlayerAttachedObject(playerid, 0);
}
return 1;
} -
Ist mir ja garnicht aufgefallen
Dankesehr, klappt nun wunderbar -
Guten Tag,
Mein Name lautet MrPawn.
Und zwar habe ich mein Script von Dini auf MySQL umgeschrieben (War ein etwas älteres & kleineres Script).
Aber jetzt wenn ich gesperrt bin und auf den Server connecte kommt der Dialog nicht mehr.if(mysql_CheckIP(playerid) || mysql_CheckBan(playerid))return 1;
Das lasse ich bei OnPlayerConnect abfragen!
Das soll bewirken das der Login Dialog nicht kommt.Das habe ich dann bei OnPlayerRequestClass
if(mysql_CheckIP(playerid) == 1)
{
new string[128];
format(string, sizeof(string), "* Der IP Gesperrte Spieler %s hat versucht sich einzuloggen!",GetName(playerid));
SendAdminMessage(playerid, HellRot, string);
SendClientMessage(playerid, Rot, "Deine IP wurde Gesperrt. Du wirst nun gekickt!");
Kick_Ex(playerid);
return 1;
}
if(mysql_CheckIP(playerid) == 1)
{
new string[128];
format(string, sizeof(string), "* Der Gesperrte Spieler %s hat versucht sich einzuloggen!",GetName(playerid));
SendAdminMessage(playerid,HellRot, string);
SendClientMessage(playerid, Rot, "Dein Account wurde Gesperrt. Du wirst nun gekickt!");
Kick_Ex(playerid);
return 1;
}
//BanAbfrage
stock mysql_CheckBan(playerid) {
if(!mysql_CheckAccount(playerid))return -1;
sStats[playerid][sGesperrt] = mysql_GetInt("acc", "Gesperrt", "Name", GetName(playerid));
return sStats[playerid][sGesperrt];
}
//CheckIP
stock mysql_CheckIP(playerid) {
new query[256], result;
mysql_real_escape_string(GetIP(playerid), GetIP(playerid));
format(query, sizeof(query), "SELECT * FROM ip WHERE BIP = '%s'", GetIP(playerid));
mysql_query(query);
mysql_store_result();
if(mysql_num_rows()){result = true;}
else result = false;
mysql_free_result();
return bool:result;
}Aber das lustige ist, mir wird nichtmal gesagt das ich gesperrt bin
Hier mal ein Paar Screens zur übersicht.Datenbank:
Ingame:
Wäre nett, wenn mir einer Helfen könnte
Mit freundlichen Grüßen,
MrPawn
-
Your are banned.. kommt auch wenn du keine Verbindung aufbauen ,sowie du schlechtes Internet hast.
Ich habe dies mal ausprobiert, in dem ich meinen eigenen server mit "DoS" überflutet habe
Dieser Fehler kann genau so gut auftreten, sobald der Server schlechte anbindung hat. -
Habs behoben
Aktueller Code:
public OnPlayerSpawn(playerid)
{
if(uInfo[playerid][sTod] == 1) {
SpawnEx(playerid);
}
return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{
uInfo[playerid][sTod] = 1;
return 1;
}//Spawn System
stock SpawnEx(playerid) {
uInfo[playerid][sTod] = 0;
if(!strcmp(uInfo[playerid][sArena], "Keine", true)) {
SetCameraBehindPlayer(playerid);
SetSpawnInfo(playerid, 0, uInfo[playerid][sSkin], 1310.2816, -1369.6655, 13.5655, 181.3278, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid),SetPlayerInterior(playerid, 0), SetPlayerVirtualWorld(playerid, 0),TogglePlayerControllable(playerid, true);
SetPlayerPos(playerid, 1310.2816, -1369.6655, 13.5655);
SetPlayerSkin(playerid, uInfo[playerid][sSkin]);
}
return 1;
} -
Ich habe
ForceClassSelection
nirgentwo stehen
Was sollte ich am besten machen -
//Spawn System
stock SpawnEx(playerid) {
uInfo[playerid][sTod] = 0;
if(!strcmp(uInfo[playerid][sArena], "Keine", true)) {
SetCameraBehindPlayer(playerid);
SetSpawnInfo(playerid, 0, uInfo[playerid][sSkin], 1310.2816, -1369.6655, 13.5655, 181.3278, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid),SetPlayerInterior(playerid, 0), SetPlayerVirtualWorld(playerid, 0),TogglePlayerControllable(playerid, true);
}
return 1;
}Ehm also es ist so:
Ich mache /test dann sterbe ich.
Ich komme zu den Pfeiltasten & Spawnbutton, und wenn ich dann auf Spawn klicke, dann kommt mir die Nachricht .
Also OnPlayerSpawn wird erst nach dem Spawnbutton ausgeführt! -
Guten Tag,
Mein Name lautet MrPawn.
Und zwar bekomme ich hier gerade irgentwie dieses bug nicht gefixxt.public OnPlayerSpawn(playerid)
{
if(GetPVarInt(playerid, "Tod") < 1)return 1;
SetPVarInt(playerid, "Tod", 0);
format(uInfo[playerid][sArena], 30, "Keine");
SpawnEx(playerid);
return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{
SetPVarInt(playerid, "Tod", 1);
return 1;
}Ich sterbe, spawne zwar am spawn aber bleibe in der luft hänhen und habe diese Pfeiltasten & den Spawn button
Mit freundlichen Grüßen,
MrPawn
-
Das ist ein SAMP Bug. Ich glaube der tritt bei einer schlechten Verbindung häufig auf.
Das ist kein Bug.. Das ist beabsichtigt!
-
Also war ich einfach nur zu Blöd mir die Richtige Version zu holen ?
-
1. Gibt es keine R2 Clientversion von SA:MP, nur vom Server.
2. Das hat noch nie funktioniert, s0Beit war auch für 0.3x R2 verfügbar.
3. Die "GetVersion" Funktion ist einfach nur bescheuert.
1. Das ist eine Ansichtssache,dazu war es ein Beispiel.
2. Doch sollte geben, http://forum.sa-mp.com/showthread.php?t=487997
3. Das hat Funktoniert, genau wie Tollbeit. Nicht jeder hatte dieses S0beit -
Es wird schwer gleich ganz s0Beit im 0.3z zu blocken dennoch hätte ich eine Idee.
Wenn das so wie in 0.3x ist dann wenn man z.B auf einen 0.3z r2 server joint aber man hat 0.3z wegen s0beit, dann könnte man mit GetPlayerVersion arbeitenSagen wir wir haben einen > 0.3z server
Dann fragen wir das so ab:public OnPlayerConnect(playerid) {
if(strcmp(GetVersion(playerid), "0.3zr..", false))return Kick(playerid);
return 1;
}
stock GetVersion(playerid) {
new version[lenght];
GetPlayerVersion(playerid, version, lenght);
return version;
} -
public OnPlayerSpawn(playerid)
{
if(GetPVarInt(playerid, "Tod") < 1)return 1;
SpawnPlayer(playerid);Das ist ja der beste Teil
User Spawnt -> er soll nochmal neu spawnen -> das geht die ganze Zeit so weiterAußerdem fällt mir der Teil auf
SetPlayerPos(playerid, GetPVarFloat(playerid, "X"), GetPVarFloat(playerid, "Y"), GetPVarFloat(playerid, "Z")), SetPlayerInterior(playerid, GetPVarInt(playerid, "Int"));
Wo holst du die Position her?Sie wird ja in die PVars gesetzt sobald, mann ins cpjail gesteckt wurde..
-
Deine Abfrage bezüglich den keys ist invalid bits werden nicht mit dem == überprüft
Darf ich fragen, was genau du nun meinst ?
UND Video KOMMT