Willst du Ddos Angriffe vorbereiten?
Nein nur mein eigenes Script auf Belastbarkeit testen.
Suche das dringend!
//exit:Text
Willst du Ddos Angriffe vorbereiten?
Nein nur mein eigenes Script auf Belastbarkeit testen.
Suche das dringend!
//exit:Text
Guten Tag,
ich möchte derzeit ein Timeban System sowie ein Prison System erstellen, in diesem man(n) lediglich seine Zeit absitzen muss.
Sprich ich banne den Spieler für eine gewisse Zeit und berechne die Zeit bis er wieder entbannt werden sollte und frage das dann ab.
Wie funktioniert das genau?
Zu 1.: Google mal nach "raksamp client", da müsstest du fündig werden
Zu 2.: Was sollen die Bots machen?
Finde den Clienten nicht für 0.3z, hat den jemand?
Suche den echt dringend
//edit:text
//edit:text
C:\Users\Acer\Desktop\Samp server\gamemodes\LoS.pwn(6590) : warning 219: local variable "cmd" shadows a variable at a preceding level
C:\Users\Acer\Desktop\Samp server\gamemodes\LoS.pwn(8098) : warning 219: local variable "carid" shadows a variable at a preceding level
C:\Users\Acer\Desktop\Samp server\gamemodes\LoS.pwn(8139) : warning 219: local variable "carid" shadows a variable at a preceding level
C:\Users\Acer\Desktop\Samp server\gamemodes\LoS.pwn(8401) : warning 219: local variable "vehicleid" shadows a variable at a preceding level
C:\Users\Acer\Desktop\Samp server\gamemodes\LoS.pwn(16074) : warning 219: local variable "x" shadows a variable at a preceding level
C:\Users\Acer\Desktop\Samp server\gamemodes\LoS.pwn(17666) : warning 219: local variable "cmd" shadows a variable at a preceding level
Die wurden im Script schon mal so deklariert.
Guten Tag,
ich habe direkt 2 Fragen.
1.Ist es möglich Bots mit einem Programm auf den SA:MP Server connecten zu lassen?
2.Ist es möglich Bots mit einem Programm auf ein WBB Forum connecten zu lassen?
Ich rede nicht von normalen SA:MP Bots, sondern Bots die als richtige Spieler wahrgenommen werden.
Jetzt kommt der Ban Dialog aber nicht, obwohl Gebannt auf 1 steht.
public OnPlayerRequestClass(playerid, classid)
{
if(SpielerInfo[playerid][pGebannt] == 0)
{
if(mysql_CheckAccount(playerid) == 0)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Registrierung","Willkommen auf "#SERVERNAME"\n\nEs wurde kein Account in der Datenbank gefunden, bitte gebe nun dein gewünschtes Passwort ein.\nSolltest du dein Passwort vergessen haben, melde dich bei einem Head Administrator.","Registrieren","Abbrechen");
InterpolateCameraPos(playerid, 1327.365844, -1589.601684, 83.515167, 2475.331787, -1668.155273, 41.523700, 28000);
InterpolateCameraLookAt(playerid, 1332.219238, -1589.629394, 82.313415, 2478.929199, -1668.136474, 38.051193, 3000);
SetPlayerColor(playerid,COLOR_GRAU);
}
else if(mysql_CheckAccount(playerid) == 1)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{00AFFF}"#SERVERNAME" {FFFFFF}- Login","Willkommen auf "#SERVERNAME"\n\nDein Account wurde in der Datenbank gefunden, bitte gebe nun dein Passwort ein.\nSolltest du dein Passwort vergessen haben, melde dich bei einem Head Administrator.","Login","Abbrechen");
InterpolateCameraPos(playerid, 1327.365844, -1589.601684, 83.515167, 2475.331787, -1668.155273, 41.523700, 28000);
InterpolateCameraLookAt(playerid, 1332.219238, -1589.629394, 82.313415, 2478.929199, -1668.136474, 38.051193, 3000);
SetPlayerColor(playerid,COLOR_GRAU);
}
}
else
{
new string[128];
format(string,sizeof(string),"Dieser Account ist gesperrt, mit ihm kann nicht mehr gespielt werden.\n\nAusführendes Team-Mitglied: %s\nGrund: %s\nDauer: Permanent",SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund]);
ShowPlayerDialog(playerid,DIALOG_GEBANNT,DIALOG_STYLE_MSGBOX,"{00AFFF}"#SERVERNAME"{FFFFFF}: Information",string,"Verlassen","");
SetTimerEx("KickDelayed",100,0,"i",playerid);
}
return 1;
}
Letztendlich hier nur in der Funktion, woanders wird das nicht geladen.
SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund]
Hier noch die 2 Variablen von Enum
pAusfuehrender[30],
pGrund[40]
sowie die LoadPlayer Funktion
mysql_fetch_field_row(data,"Ausfuehrender");
SpielerInfo[playerid][pAusfuehrender]=strval(data);
mysql_fetch_field_row(data,"Grund");
SpielerInfo[playerid][pGrund]=strval(data);
Gut danke funktioniert, jetzt habe ich nur noch ein Problem mit der Abfrage.
new string[128];
format(string,sizeof(string),"Dieser Account ist gesperrt, mit ihm kann nicht mehr gespielt werden.\n\nAusführendes Team-Mitglied: %s\nGrund: %s\nDauer: Permanent",SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund]);
ShowPlayerDialog(playerid,DIALOG_GEBANNT,DIALOG_STYLE_MSGBOX,"{00AFFF}"#SERVERNAME"{FFFFFF}: Information",string,"Verlassen","");
SetTimerEx("KickDelayed",100,0,"i",playerid);
Die beiden Zeilen die einen Wert wiedergeben sollen, bleiben leer.
Weil Excuse nun mal pID ist, die gebannt wird?
Zeigt trotzdem kein Mucks.
[23:22:43] CMySQLHandler::Query(UPDATE `accounts` SET `Level` = '1',`Adminlevel` = '4',`Online` = '0',`Datum` = '',`Geschlecht` = '1',`Alter` = '16',`Skin` = '2',`Fraktion` = '0',`Fraktionsrang` = '0',`Leader` = '0',`MuteZeit` = '0',`Gemutet` = '0' WHERE Name='Excuse') - Successfully executed.
[23:22:43] >> mysql_query( Connection handle: 1 )
[23:22:43] CMySQLHandler::Query(UPDATE `accounts` SET `Gebannt` = '1',`Ausfuehrender` = '',`Grund` = '' WHERE Name='Excuse') - Successfully executed.
[23:22:43] >> mysql_query( Connection handle: 1 )
Wieso wir das hier den immer wieder überschrieben, obwohl es richtig gesetzt ist?
stock mysql_GetString(Table[], Field[], Where[], Is[])
{
new query[128], Get[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(Get);
mysql_free_result();
return Get;
}
Zeigt trotzdem kein Mucks.
[23:22:43] CMySQLHandler::Query(UPDATE `accounts` SET `Level` = '1',`Adminlevel` = '4',`Online` = '0',`Datum` = '',`Geschlecht` = '1',`Alter` = '16',`Skin` = '2',`Fraktion` = '0',`Fraktionsrang` = '0',`Leader` = '0',`MuteZeit` = '0',`Gemutet` = '0' WHERE Name='Excuse') - Successfully executed.
[23:22:43] >> mysql_query( Connection handle: 1 )
[23:22:43] CMySQLHandler::Query(UPDATE `accounts` SET `Gebannt` = '1',`Ausfuehrender` = '',`Grund` = '' WHERE Name='Excuse') - Successfully executed.
[23:22:43] >> mysql_query( Connection handle: 1 )
Hier im Ban Befehl, da geht das ja auch.
new query[128];
format(query,128,"UPDATE `accounts` SET `Ausfuehrender`='%s',`Grund` = '%s' WHERE `Name`='%s'",SpielerInfo[pID][pName],reason,SpielerInfo[pID][pName]);
mysql_query(query);
Dann kommt letztendlich nur noch die normale SavePlayer Funktion.
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
new query[800];
format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Adminlevel` = '%d',`Online` = '%d',`Datum` = '%s',`Geschlecht` = '%i',`Alter` = '%i',`Skin` = '%i',`Fraktion` = '%i',`Fraktionsrang` = '%i',`Leader` = '%i',`MuteZeit` = '%i',`Gemutet` = '%i' WHERE Name='%s'",
SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline],SpielerInfo[playerid][pDatum],SpielerInfo[playerid][pGeschlecht],SpielerInfo[playerid][pAlter],GetPlayerSkin(playerid),SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pFraktionsrang],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pMuteZeit],SpielerInfo[playerid][pGemutet],SpielerInfo[playerid][pName]);
format(query, sizeof(query), "UPDATE `accounts` SET `Gebannt` = '%i',`Ausfuehrender` = '%s',`Grund` = '%s' WHERE Name='%s'",
SpielerInfo[playerid][pGebannt],SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund],SpielerInfo[playerid][pName]);
mysql_query(query);
printf(query);
}
}
return 1;
}
Letztendlich würde ich aber trotzdem gerne wissen wieso er es erst speichert und in der Speicherung wieder überschreibt.
[21:46:18] CMySQLHandler::Query(UPDATE `accounts` SET `Ausfuehrender`='Excuse',`Grund` = 'Healhacker' WHERE `Name`='Excuse') - Successfully executed.
[21:46:18] >> mysql_query( Connection handle: 1 )
[21:46:18] CMySQLHandler::Query(UPDATE `accounts` SET `Gebannt` = '1',`Ausfuehrender` = '',`Grund` = '' WHERE Name='Excuse') - Successfully executed.
[21:46:18] >> mysql_query( Connection handle: 1 )
[21:46:18] CMySQLHandler::Query(UPDATE `accounts` SET `Gebannt` = '1',`Ausfuehrender` = '',`Grund` = '' WHERE Name='Excuse') - Successfully executed.
[21:46:18] >> mysql_query( Connection handle: 1 )
[21:46:18] CMySQLHandler::Query(UPDATE `accounts` SET `Online`='0',`Datum` = '14.03.2014' WHERE `Name`='Excuse') - Successfully executed.
Alles anzeigenDu gibst ja am ende WHERE Name = '%s' dass muss du auch am ende angeben so z.B
stock getPlayerName(playerid){
new name[24];
GetPlayerName(playerid, name, 24);
return name;
}
new query[128];
format(query, sizeof(query), "UPDATE table SET variable = '%s' WHERE Name = '%s' ", string, getPlayerName(playerid));
mysql_query(query);
Das ist unnötig, kann ich genauso SpielerInfo[pID][pName] benutzen.
Es geht darum das du bei "WHERE `Name`" am ende die variable, den Namen von dir, und nicht vom "anderen" spieler einträgst.
Oh danke, übersehen.
Du gibts aber auch eine Float an für den Name ?
Wie meinst du das?
Also du meinst erst wird der wert richtig eingetragen dann wird er überschrieben mit leeren platzhaltern ?
Genau.
Successfully executed.
Succesfully heißt erfolgreich und executed ausgeführt
Also kurz gesagt erfolgreich ausgeführt
Verstehe nun dein Prob nicht
Hier wird das nach dem richtigen Wert direkt wieder überschrieben.
[21:18:08] CMySQLHandler::Query(UPDATE `accounts` SET `Gebannt` = '1',[b]`Ausfuehrender` = '',`Grund` = '' WHERE Name='Excuse') - [/b]Successfully executed.
[21:18:09] >> mysql_query( Connection handle: 1 )
Warum willst du dich eigendlich selber bannen?
Habe keine zum testen da.
Du hast doch die MySQL Version R5 oder ?
Ja.
Mein System mag mich glaube ich nicht, zumindest also hier.
In der MySQL Log wird es kurz gesetzt bzw wiedergeben, wird aber nach der Funktion danach wieder überspielt.
[21:18:08] CMySQLHandler::Query(UPDATE `accounts` SET `Ausfuehrender`='Excuse',`Grund` = 'Hacker' WHERE `Name`='Excuse') - Successfully executed.
[21:18:08] >> mysql_query( Connection handle: 1 )
[21:18:08] CMySQLHandler::Query(UPDATE `accounts` SET `Gebannt` = '1',`Ausfuehrender` = '',`Grund` = '' WHERE Name='Excuse') - Successfully executed.
[21:18:09] >> mysql_query( Connection handle: 1 )
new query[128];
format(query,128,"UPDATE `accounts` SET `Ausfuehrender`='%s',`Grund` = '%s' WHERE `Name`='%s'",SpielerInfo[playerid][pName],reason,SpielerInfo[playerid][pName]);
mysql_query(query);