Fehler war das ich die Tabelle "users" bei mir mit "user" benannt hatte.
Ein Buchstabe aber halt gefunden, trotzdem besten dank für die Hilfe.
@Jeffry
Beiträge von Lui
-
-
Code
Alles anzeigenpublic OnPlayerRequestClass(playerid, classid) { if(!Spieler[playerid][peingeloggt]) { new query[128]; mysql_format(handle, query, sizeof(query), "SELECT id FROM users WHERE name = '%e'", Spieler[playerid][pname]); mysql_pquery(handle, query, "OnUserCheck", "d", playerid); } return 1; } forward OnUserCheck(playerid); public OnUserCheck(playerid) { new rows; cache_get_row_count(rows); if(rows == 0) { ShowPlayerDialog(playerid, 8, DIALOG_STYLE_PASSWORD, "Registration", "Bitte registriere Dich:", "Registrieren", "Abbrechen"); } else { ShowPlayerDialog(playerid, 9, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:", "Login", "Abbrechen"); } return 1; }
Mir wird kein Dialog angezeigt..
-
Es werden keine Dialoge angezeigt bei mir, obwohl die Abfrage zuvor dementsprechend sind.
Die Connection zur Datenbank steht auch..
Woran kann es liegen? -
Top, hat geholfen, danke.
-
Wie sieht dein muellInfo enum aus?
enum muellInfo{
mid,
Pfand,
Text3D:lablemid,
Float:mx,
Float:my,
Float:mz,
Float:mrx,
Float:mry,
Float:mrz
} -
new muell[][muellInfo]={
[u]{1,0,0,1741.7400,-1034.3438,23.9609,0.0000,0.0000,0.0000},
{2,0,0,1746.2051,-1034.3973,23.9609,0.0000,0.0000,0.0000},
{3,0,0,1750.6563,-1034.4320,23.9609,0.0000,0.0000,0.0000}[/u]
}; -
Tag missmatch @Jeffry beim array.
-
Hallo,
1 von 3 Text Lable updatet sich, die anderen sind in den Variablen gespeichert aber werden nicht in das Text-Lable geupdatet.
Compiler spuckt keine Fehler aus.SetTimer("Muelllable",1000,true);//zum Erstellen des Timers für das Updaten der Flaschen.
muelllable=Create3DTextLabel(string,Weiß,muell[i][mx],muell[i][my],muell[i][mz],15.0,0,0);
forward Muelllable();
public Muelllable()
{
for(new i=0; i<sizeof(muell); i++)
{
new string[128];
format(string,sizeof(string),"Mülltonne %i\nVerfügbare Flaschen:%i",muell[i][mid],muell[i][Pfand]);
Update3DTextLabelText(muelllable, Weiß, string);
}
return 1;
}Das wird mir Ingame angezeigt.
-
Hast du Fraktion in einem Enum?
Ist vorhanden ja.
enum fInfo{ fID, fname[128], fleader[MAX_PLAYER_NAME], fmember, fkasse, Float:f_x, Float:f_y, Float:f_z}new Fraktion[MAX_FRAKTION][fInfo];EDIT:
//Das beim Befehl eingefügt
Spieler[pID][invite]=Spieler[playerid][fid];//Das bei OnDialogResponse
Spieler[playerid][fid]=Spieler[playerid][invite];
Spieler[playerid][invite]=0;würde dieses funktionieren?
funktioniert alles perfekt, falls Verbesserungsvorschläge in euren Köpfen stecken, haut sie raus.
Besten Dank für die Hilfe. -
Hallo,
wie im Titel schon beschrieben suche ich einen Lösungsansatz für mein Invite System.
Mein Stand ist derzeit dieser:
//Der Befehl
ocmd:invite(playerid,params[])
{
new playername[MAX_PLAYER_NAME],string[128],pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Gelb,"Benutze: /invite [ID]");
if(Spieler[playerid][fleader]==1)return SendClientMessage(playerid,Rot,"Du bist kein Leader einer Fraktion.");
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"Der Leader %s der Fraktion %s möchte dich in die Fraktion aufnehmen.",playername,Fraktion[Spieler[playerid][fid]][fname]);
ShowPlayerDialog(pID,13,DIALOG_STYLE_MSGBOX,"Einladung zur Fraktion",string,"Annehmen","Ablehnen");
return 1;
}
//OnDialogResponse
if(dialogid==InviteDialog)
{
if(response == 1)
{
Spieler[playerid][fid]== ???
}
if(response == 0)
{
}
return 1;
}Mein Problem an dieser Stelle ist, dass ich nicht weiß wie ich die Fraktionsid auslesen lasse von dem Spieler der den /invite Befehl eingegeben hat.
-
Lol mein Fail, besten dank...
-
Guten Tag,
und zwar wenn ich diesen Befehl eingebe und der Code ausgeführt wird, dann crasht der Server.
Keine Angaben sind im Server Log.
ocmd:createfrak(playerid,params[])
{
new frakname[35],fraktion[35],query[128];
if(sscanf(params,"s[35]",frakname))return SendClientMessage(playerid,Gelb,"Benutze: /createfrak [Name]");
mysql_escape_string(frakname,fraktion,dbhandle);
format(query,sizeof(query),"INSERT INTO fraktion (Name) VALUES ('%s')",fraktion);
mysql_function_query(dbhandle,query,false,"","");
SendClientMessage(playerid,Gelb,"Du hast die Fraktion %s erstellt und der Datenbank hinzugefügt.");
return 1;
} -
Es gab ein Error beim Compilen, da die Variable "timer" nicht definiert war.
Aber habe behoben.
Danke -
ocmd:pflanzen(playerid)
{
new Float:x, Float:y, Float:z, Float:rot, name[MAX_PLAYER_NAME],string1[100],string2[100],string3[100], timer,Text3D:drogenlabel;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid,rot);
GetPlayerName(playerid, name, sizeof(name));
CreateObject(19473, x, y, z -1.5, 0.0, 0.0, 0.0, 0.0);
format(string1,sizeof(string1), "Drogenpflanze von: %s", name);
timer = SetTimer("DrogenEnde", 6000, false);
format(string2,sizeof(string2), "Diese Pflanze braucht noch %i.",timer);
format(string3,sizeof(string3), "%s \n %s", string1, string2);
drogenlabel = Create3DTextLabel(string3,Gelb,x,y,z,5,0,0);
Update3DTextLabelText(drogenlabel, Gelb, string3);
return 1;
}
}Das Textlabel zeigt den derzeitigen Timer nicht an.
Vorerst soll nur der Timer im 3D Textlable im Stande sein runter zu laufen.
help