/nachtrag
Jetzt geht es
die While schleife ist da unsinn ich habe nur das mysql_fetch_row vergessen mitzubenutzen^^
/nachtrag
Jetzt geht es
die While schleife ist da unsinn ich habe nur das mysql_fetch_row vergessen mitzubenutzen^^
Schön Kopiert
Erstens ist params cmdtext
dann gehört das #error da nicht hin
etVehicleNumberPlate da gehört ein S vor
Auch Fehlerhaft xD
So ist es richtig
ocmd:makeleader(playerid,params[])
{
new pID,fID;
new string[128];
new fraktname[128];
if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
SetPVarInt(pID,"Fraktion",fID);
SetPVarInt(pID,"Leader",1);
switch(GetPVarInt(pID,"Fraktion"))
{
**FRAKTIONSDEFINES**
}
SpielerSpeichern(pID);
format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
SendClientMessage(playerid,HBLAU,string);
format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
SendClientMessage(playerid,HBLAU,string);
format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
SendClientMessageToAll(ADMROT,string);
return 1;
}
Bei IsPlayer Admin muss aufjedenfall das ! weg. xD
Muss auf jedenfall nicht weg, da die Abfrage richtig ist!
Zu deinen Problem war das der fehler:
ocmd:makeleader(playerid,params[])
{
new pID,fID;
new string[128];
new fraktname[128];
if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
switch(GetPVarInt(playerid,"Fraktion"))
{
**FRAKTIONSDEFINES**
}
SetPVarInt(pID,"Fraktion",fID);
SetPVarInt(pID,"Leader",1);
SpielerSpeichern(pID);
format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
SendClientMessage(playerid,HBLAU,string);
format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
SendClientMessage(playerid,HBLAU,string);
format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
SendClientMessageToAll(ADMROT,string);
return 1;
}
Fällt er dir auf?
Dann kann das kein Admin machen?
umgedreht
Admins dürfen es ab rank 1
User dürfen es nicht
so machst du es z.B. die abfrage
if(!isPlayerAnAdmin(playerid,1))return echo(playerid,-1,"Kein Admin");
^Das ! bedeutet sowas wie das:
Is NOT IsPlayerAnAdmin(playerid,Rank)
das Not also wenn er es nicht ist
Ich steh gerade aufm Schlauch
bcmd:handy(playerid,params[])
{
if(PlayerInfo[playerid][Logged]!=1)
return SendClientMessage(playerid,cRed,"Du bist nicht eingeloggt!");
if(PlayerInfo[playerid][Gemutet]!=0)
return SendClientMessage(playerid,cWarn,"Du bist gemutet!");
new string[512], query[128];
format(string,sizeof string,"(Jemanden anrufen)\n(SMS schreiben)");
format(query,sizeof query,"SELECT * FROM `SMS` WHERE `Name` = '%s'",PlayerInfo[playerid][Name]);
mysql_query(query, (-1), (0), SQL);
mysql_store_result(SQL);
new fuckhandy = mysql_num_rows(SQL);
new data[100],Typ[MAX_PLAYER_NAME];
for(new i;i<fuckhandy;i++)
{
mysql_fetch_field("txt",data,SQL);
mysql_fetch_field("abs",Typ,SQL);
format(string,sizeof string,"%s\nSMS: %s: %s",string,Typ,data);
}
mysql_free_result(SQL);
ShowPlayerDialog(playerid,diaHandy,DIALOG_STYLE_LIST,"Handy",string,"Wählen","Abbruch");
return 1;
}
Wenn ich 2 SMS in der Tabelle habe, steht das in den Dialog:
Jemanden Anrufen
SMS Schreiben
SMS: Susi: Hi
SMS: Susi: Hi
statt:
Jemanden Anrufen
SMS Schreiben
SMS: Susi: Hi
SMS: Peter: Hi
Wiso?
Irgendwie macht mich das gerad stutzig
Ich brauch mal wieder ein Rat
bcmd:handy(playerid,params[])
{
if(PlayerInfo[playerid][Logged]!=1)
return SendClientMessage(playerid,cRed,"Du bist nicht eingeloggt!");
if(PlayerInfo[playerid][Gemutet]!=0)
return SendClientMessage(playerid,cWarn,"Du bist gemutet!");
new string[512], query[128];
format(string,sizeof string,"Jemanden anrufen\nSMS schreiben");
format(query,sizeof query,"SELECT * FROM `SMS` WHERE `Name` = '%s'",PlayerInfo[playerid][Name]);
mysql_query(query, (-1), (0), SQL);
mysql_store_result(SQL);
new fuckhandy = mysql_num_rows(SQL);
new data[8][100],Typ[8][MAX_PLAYER_NAME];
for(new i;i<fuckhandy;i++)
{
mysql_fetch_row(query, "|", SQL);
mysql_fetch_field(data[i],"txt",SQL);
mysql_fetch_field(Typ[i],"abs",SQL);
format(string,sizeof string,"%s\nSMS: %s: %s",string,Typ[i],data[i]);
}
mysql_free_result(SQL);
ShowPlayerDialog(playerid,diaHandy,DIALOG_STYLE_LIST,"Handy",string,"Wählen","Abbruch");
return 1;
}
der Fetch Row gibt mir diese Fehler aus
[Thu Mar 14 08:35:47 2013] Error (1): Function: mysql_fetch_field could not find field name: "NULL".
[Thu Mar 14 08:35:47 2013] Error (1): Function: mysql_fetch_field could not find field name: "NULL".
[20:58:20] CMySQLHandler::Query(UPDATE `accounts` SET `Team` = '0' WHERE `Name` = '') - An error has occured. (Error ID: 1054, Unknown column 'Team' in 'field list')
Du hast kein Name und die Felder gibt es in der Tabelle nicht
Das ist es ja
wenn ich dann in einer Fraktion bin wo ich Rank 0 bin, kann ich den Chat nicht nutzen
Daher hab ich ja das got genommen damit er direkt runterspringt
Aktivier den mysql_debug und poste dann den log beim laden/speichern
Habe ein Problem mit den cmd
wenn ich Präsident bin sendet er mir den Text richtig
Bin ich aber in einer Fraktion, dann sendet er mir den Teamrnk nicht und den namen auch nicht nur den Text
bcmd:d(playerid,params[])
{
if(PlayerInfo[playerid][Logged]!=1)
return SendClientMessage(playerid,cRed,"Du bist nicht eingeloggt!");
if(PlayerInfo[playerid][Gemutet]!=0)
return SendClientMessage(playerid,cWarn,"Du bist gemutet!");
if(!IsADepartmentMember(playerid) && PlayerInfo[playerid][President] !=1 )
return SendClientMessage(playerid,cWarn,"Du bist kein staatlicher Mitarbeiter!");
new msg[128];
if(sscanf(params,"s[128]",msg))
return SendClientMessage(playerid,cRed,"/d(epartment) [Nachricht]");
if(PlayerInfo[playerid][President]==1)format(msg,sizeof msg,">> Präsident %s: %s",PlayerInfo[playerid][Name],msg);goto BieneMaja;
if(PlayerInfo[playerid][Team] == tFahrschule && PlayerInfo[playerid][Rank] < 2)
return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 2!");
else if(PlayerInfo[playerid][Team] == tCop && PlayerInfo[playerid][Rank] < 1)
return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 1!");
else if(PlayerInfo[playerid][Team] == tOa && PlayerInfo[playerid][Rank] < 1)
return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 1!");
else if(PlayerInfo[playerid][Team] == tFeuer && PlayerInfo[playerid][Rank] < 2)
return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 2!");
else if(PlayerInfo[playerid][Team] == tMedic && PlayerInfo[playerid][Rank] < 2)
return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 2!");
else if(PlayerInfo[playerid][Team] == tNews && PlayerInfo[playerid][Rank] < 5)
return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 5!");
format(msg,sizeof msg,">> %s %s: %s",TeamRank[PlayerInfo[playerid][Team]][PlayerInfo[playerid][Rank]],PlayerInfo[playerid][Name],msg);
BieneMaja:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsADepartmentMember(i)!=0)
{
SendClientMessage(i,cRed,msg);
}
}
return 1;
}
Hat jemand ne idee wiso das ist?
Dann kommt dieser Error: C:\Users\Lars\Downloads\Selfmade\gamemodes\selfmade.pwn(133) : error 017: undefined symbol "mysql_store_results"
Dieser kommt 2 mal.
Es gibt auch kein store_results eher mysql_store_result
jo das geht
if(!GetVehicleTrailer(GetPlayerVehicleID(playerid)))
return SendClientMessage(playerid, cRed, "Wo ist dein Anhänger?!");
so eine Abfrage in der Funktion machen die du benötigst
if(IsPlayerNPC(playerid))return 1;
So sollte es auch schon sein
if(IsPlayerNPC(playerid,return 1;)
wo ist der fehler?
Hier kannste nachsehen wie die Funktion funktioniert
Du könntest die Leiter hochfahren, aber musst du halt einscripten.
Und wie soll man das machen können?
format(Spielerdatei,sizeof,(Spielerdatei),"/Accounts/"%s.ini, SpielerName(playerid));
das füßchen ist zu früh zugemacht
format(Spielerdatei,sizeof,(Spielerdatei),"/Accounts/%s.ini", SpielerName(playerid));