Hat sich erledigt, der Fehler lag daran das ich bei der ID beim laden einen Schreibfehler hatte
Beiträge von .Kevin
-
-
Hallo Com,
ich arbeite gerade an einem Haussystem... komischerweise bekomme ich immer gesagt das ich nicht an meiner Haustüre bin..
Der Debug gibt immer Haus ID 0 aus ? Dabei ist die Hausid in der ich stehe 2 und meine Hausnummer ist auch 2. Steht auch alles so in der DB..Code:
COMMAND:haus(playerid,params[])
{
new string[64];
if(SpielerInfo[playerid][Eingeloggt] == 0)return SendClientMessage(playerid,Grau,"Du bist nicht eingloggt!");
if(SpielerInfo[playerid][BHaus] == 0)return SendClientMessage(playerid,Weiss,"Du besitz kein Haus!");
for(new i; i<MAX_HAUSER; i++)
{
printf("Haus: %d | Hausnummer: %d",i,SpielerInfo[playerid][Hausnummer]);
if(IsPlayerInRangeOfPoint(playerid,1.0,Haus[i][posx],Haus[i][posy],Haus[i][posz]) || IsPlayerInRangeOfPoint(playerid,1.0,Haus[i][spx],Haus[i][spy],Haus[i][spz]))
{
if(SpielerInfo[playerid][Hausnummer] != Haus[i][hID])return SendClientMessage(playerid,Weiss,"Du hast keine Schlüssel für dieses Haus!");
format(string,sizeof(string),"%s",Haus[i][Beschreibung]);
ShowPlayerDialog(playerid,DIALOG_EDITHAUS,DIALOG_STYLE_LIST,string,"Haustür auf/abschließen\nMiete ändern","auswahl","abbrechen");
}
else { SendClientMessage(playerid,Weiss,"Du bist nicht an deiner Haustüre!"); return 1; }
}
return 1;
}Edit: Code bearbeiet !
-
GetPlayerDistanceFromPoint sollte dir helfen
Leider ist die Wiki gerade down
-
if(strcmp(cmdtext,"/stats", true) == 0 )
if(strcmp("/o",cmdtext,true,10)==0)
wieso bekomme ich da lose..?
warning 217: loose indentationNicht richtig eingerückt
-
Besitzt ihr schon ein Script oder muss von 0 angefangen werden ?
-
Habe auch Windows 8, nahe zu perfekt
Kann es nur weiter empfehlen.
-
versuch mal ohne filterscripts, glaube du hast zuviele, gibt ja ne maximale anzahl die du haben darfst.
MFG
Die Maximale Anzahl beträgt 16, mit 10 überschreitet er die nicht. -
-
vllt liegts am quers selber, das du ein feld auslesen willst was du aber zum auslesen brauchst, probiers mal so
format(query, sizeof(query), "SELECT * FROM `Stuff` WHERE Serverpw = '%s' LIMIT 1;'",sachen[Serverpw]);
Das ändert auch nichts an der Sache -
format(query, sizeof(query), "SELECT `Serverpw` FROM `Stuff` WHERE Serverpw = '%s' LIMIT 1;'",sachen[Serverpw]);
du hast das ' hinter dem %s vergessen
Ändert auch nichts an der ganzen Sache -
was steht denn in den array sachen[Serverpw]
Der string wird richtig geladen und gesetzt.mysql_fetch_field_row(query,"Serverpw"); format(sachen[Serverpw],32,query);
& in der Datenbank steht auch alles richtig drinne
[20:20:34] CMySQLHandler::Query(SELECT `Serverpw` FROM `Stuff` WHERE Serverpw = 'Test LIMIT 1;') - Successfully executed.[20:20:34] >> mysql_store_result( Connection handle: 1 )
-
Mit deinem Code klappts auch nicht
Beavis: willst nochmal drüber schauen ? -
Ich Tippe mal eher das es eher sowas wie ein Bool ist
-
So sollte es auch gemacht werden
format(query, sizeof(query), "SELECT `Serverpw` FROM `Stuff` WHERE Serverpw = '%s LIMIT 1;'",sachen[Serverpw]);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows())
{
// Passwort richtig
}
else
{
// Passwort falsch
}
! ist falsch alles darüber is nen Treffer
Nein klappt auch nichtIch kann es mir nicht erklären ..
new query[200];
format(query, sizeof(query), "SELECT `Serverpw` FROM `Stuff` WHERE Serverpw = '%s LIMIT 1;'",sachen[Serverpw]);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows())
{
// Passwort richtig
TextDrawHideForPlayer(playerid,ServerLogin[2]);
TextDrawHideForPlayer(playerid,ServerLogin[3]);
TextDrawShowForPlayer(playerid,IRP);
TextDrawShowForPlayer(playerid,LBox);
TextDrawShowForPlayer(playerid,Streifen1);
TextDrawShowForPlayer(playerid,Streifen2);
TextDrawShowForPlayer(playerid,Streifen3);
TextDrawShowForPlayer(playerid,Streifen4);
TextDrawShowForPlayer(playerid,Login);
TextDrawShowForPlayer(playerid,Regi);
TextDrawShowForPlayer(playerid,Leave);
SelectTextDraw(playerid,0x4B0000FF);
return 1;
}
else
{
Spieler[playerid][PWFail]++;
format(string,sizeof(string),"Falsches Server Passwort! %d/3",Spieler[playerid][PWFail]);
SendClientMessage(playerid,Weiss,string);
if(Spieler[playerid][PWFail] >= 3) { SetTimerEx("SpielerKicken",888,0,"d",playerid); return 0;}
ShowPlayerDialog(playerid,DIALOG_SERVERPWLOGIN,DIALOG_STYLE_INPUT,""#Servername" - Server Passwort","Bitte gib das Server Passwort ein,\n um zum Login Bereich zu gelangen.","absenden","abbrechen");
}
mysql_free_result();Edit: Wofür steht das Limit 1?
-
Hallo Communiy,
ich habe glaube gerade irgendwas Falsch gemacht, und zwar ist egal was ich Eingebe das PW immer Falsch ? ..
Auch wenn es richtig ist... Datenbank ist alles eingetragennew query[200];
format(query, sizeof(query), "SELECT `Serverpw` FROM `Stuff` WHERE Serverpw = '%s'",sachen[Serverpw]);
mysql_query(query);
mysql_store_result();
new numrows = mysql_num_rows();
if(numrows == 1)
{
// Passwort Falsch
}
if(!numrows)
{
// Passwort richtig
}
mysql_free_result(); -
Was macht ihr euch das so Kompliziert .. Eine Globale Variable erstellen, die unter OnPlayerConnect / Disconect rauf
oder runter zu rechnen und auszulesen ?
new Variable;Variable++;
Variable--;
TextDrawSetString(TD,"%d/500",Variable);
TextDrawShowForAll(TD); -
Schau doch mal was für ein Skin ID In deiner Datei steht
Dann siehst du ob es richtig Speichert oder da schon abschmiert
-
Naja ich brauchte nicht lange überlegen .. Ist auch im echten Leben mein Name.
CoD: Rebell -> Ich bin immer am Rebellieren
-
Es hat nichts damit zu tun ob der Spieler AFK geht oder ob er sich duckt, lediglich eine Abfrage ob der Spieler sich nicht
bewegt. Die Animation dazu lautet:PED IDLE_STANCE
-
Is
Du kannst doch seine Position abfragen (GetPlayerPos) und einen Timer von 1sek starten, und dann die Position nochmals abfragen, wenn PositionA == PositionB => Spieler ist regungslos.
Es muss aber auch über die Funktion gehen..