Hey,
ich will einen string auslesen aus mysql.
format(query,128,"SELECT '%s' FROM `account` WHERE `User` = '%s'",str,SpielerName[playerid]); //%s = Link
mysql_query(query);
mysql_store_result();
mysql_fetch_row(str);
printf("%s",str); //hier printet er Link statt http://www.google.de
Beiträge von theTV
-
-
da fehlt die if abfrage
if(IsPlayerInArea(playerid, 2437.7234,-1724.5155,2541.3564,-16634.4830))
{
SendClientMessage(playerid, 0x00FF0AFF, "Test!");
} -
Wiki:
ZitatUse TogglePlayerSpectating to make objects stream in for the player while the camera is moving.
-
bei forward OnUserCheck(playerid) fehlt ein ;
-
Wenn ich falsch liege SAGT WAS,
Gibt es nicht 2 Varianten bei Enumenum car
{
bool:Engines=true,
}
oder
enum car
{
bool:Engines=true
}; -
Zu deinem Problem kann es sein das du die Dialoge "DIALOG_ESSEN_MAIN_MENU" und dein RegisterDialog die gleichen Zahlen haben?
Sprich:
#define DIALOG_ESSEN_MAIN_MENU 4
#define DIALOG_REGISTER 4Unten hab ich dir gleich mal noch den Code richtig gemacht.
Spoiler anzeigen
if(dialogid==DIALOG_ESSEN_MAIN_MENU)
{
if(!response)return 1;
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pBurger] > 0)
{
SendClientMessage(playerid,BLAU,"Du hast einen Burger gegessen.");
SetPlayerHealth(playerid, 100.0);
PlayerInfo[playerid][pBurger] -= 1;
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
}
else
{
SendClientMessage(playerid,ROT,"Du hast keine Burger");
}
}
case 1:
{
if(PlayerInfo[playerid][pKekse] > 0)
{
SendClientMessage(playerid,BLAU,"Du hast einen Keks gegessen");
SetPlayerHealth(playerid, 100.0);
PlayerInfo[playerid][pKekse] -= 1;
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
}
else
{
SendClientMessage(playerid,ROT,"Du hast keine Kekse");
}
}
}
} -
wo liegt denn jetzt das Problem?
soll er sofort gekickt werden wenn er sich muni cheatet oder
soll er keine admins kicken? -
enum
{
DIALOG_SUPPORTERCAR
}//fehlt ein ;autostring[supauto]="Supporterwagen";
//zu
format(autostring[supauto],16,"Supporterwagen"); -
Damit sollte es gehen:
format(SpielerInfo[playerid][pEatSlot1],100,mysql_GetString("accounts", "EatSlot1", "Name",SpielerInfo[playerid][pName]));
format(SpielerInfo[playerid][pEatSlot2],100,mysql_GetString("accounts", "EatSlot2", "Name", SpielerInfo[playerid][pName]));
format(SpielerInfo[playerid][pEatSlot3],100,mysql_GetString("accounts", "EatSlot3", "Name", SpielerInfo[playerid][pName]));//edit: angepasst
-
Hab noch eine Frage, dann brauch ich kein neuen Thread aufmachen.
Undzwar
//Meine eingabe ingame:
/makeleader 0 Medic//das wird geprintet:
Eingabe: Medic Gefunden: Zivilist(0)//Der Code:
enum FraktionsEnumInfo{
ID,
Name[25]
};
new FraktionsEnum[][FraktionsEnumInfo]={
{0,"Zivilist"},
{1,"SAPD"},
{2,"Medic"},
{3,"Oamt"}
};
if(!IsNumeric(name)) //hat einen Fraktionsnamen eingegeben
{
for(new i=0;i<5;i++)
{
printf("%d",i);
if(strcmp(FraktionsEnum[i][Name],name,true)==0)continue; //hier soll er überprüfen ob der eingegebene Fraktionsnamen existiert
// aber es ist: "Zivilist"=="Medic" und er geht weiter
print("weiter");//aber er nimmt einfach 0=Zivilist und geht weiter, obwohl Medic auf 2 ist
format(Spieler[pID][FraktionsName],10,"%s",name);
printf("Eingabe: %s Gefunden: %s(%d)",name,FraktionsEnum[i][Name],FraktionsEnum[i][ID]);
Spieler[pID][FraktionsID]=FraktionsEnum[i][ID];
Spieler[pID][Fraktionsrang]=5;
SCMEx(playerid,grün,"Du hast %s zum Leader der Fraktion %s(ID: %d) ernannt.",SpielerName[pID],name,FraktionsEnum[i][ID]);
break;
}
} -
es kann auch sein das er einfach noch die funktion sscanf in seinem gamemode oder in einer anderen include hat.
stimmt hatte die Funktion noch im gamemode hab sie mal entfernt und es ging -
Jetzt wird das nicht geprintet es kommt immer wieder
/makeleader [playerid/name] [fraktionsid/fraktname]
Ich hab IsNumeric auch miteingefügt.
Und so siehts bei mir aus:
Spoiler anzeigen
ocmd@2:makeleader,setleader(playerid,params[])
{
new pID,name[10];
if(!IsPlayerAnAdmin(playerid,5))return SCM(playerid,grau,"Du bist kein Admin");
if(sscanf(params,"us[10]",pID,name))return SCM(playerid,grau,"/makeleader [playerid/name] [fraktionsid/fraktname]");
GetPlayerName(pID,SpielerName[pID],MAX_PLAYER_NAME);
if(!IsNumeric(name))printf("1. Name:%s Fraktname:%s",SpielerName[pID],name);
else printf("2. Name:%s FraktID:%d",SpielerName[pID],strval(name));
if(!IsPlayerConnected(pID))return SCM(playerid,grau,"Der Spieler ist nicht on");
if(!IsNumeric(name)) //hat einen Fraktionsnamen eingegeben
{
for(new i=0;i<10;i++)
{
if(strcmp(FraktionsEnum[i][Name],name,true))continue;
format(Spieler[pID][FraktionsName],10,"%s",name);
Spieler[pID][FraktionsID]=FraktionsEnum[i][ID];
Spieler[pID][Fraktionsrang]=5;
SCMEx(playerid,grün,"Du hast %s zum Leader der Fraktion %s(ID: %d) ernannt.",SpielerName[pID],name,FraktionsEnum[i][ID]);
break;
}
}
else {
for(new i=0;i<10;i++)
{
if(FraktionsEnum[i][ID] == strval(name))continue;
format(Spieler[pID][FraktionsName],20,"%s",FraktionsEnum[i][Name]);
Spieler[pID][FraktionsID]=FraktionsEnum[i][ID];
Spieler[pID][Fraktionsrang]=5;
SCMEx(playerid,grün,"Du hast %s zum Leader der Fraktion %s(ID: %d) ernannt.",SpielerName[pID],FraktionsEnum[i][Name],FraktionsEnum[i][ID]);
break;
}
}
return 1;
}
-
Hey,
undzwar möchte ich das man beim Befehl /Makeleader einen Fraktionsnamen oder eine FraktionsID eingibt.
Das Problem ist wenn ich ingame: /makeleader 0 Arzt eingebe, printet er immer die 2.Variante
new pID,fraktid,name[10];
if(sscanf(params,"p< >uD(-1)S()[10]",pID,fraktid,name))return SCM(playerid,grau,"/makeleader [playerid/name] [fraktionsid/fraktname]");
if(fraktid==-1)printf("1. Name:%s Fraktname:%s",SpielerName[pID],name);
if(fraktid!=-1)printf("2. Name:%s FraktID:%d",SpielerName[pID],fraktid);
Das wird geprintet:
Name:test FraktID:0 //ingame eingabe: /makeleader 0 Arzt -
Vllt. kannst du ja, wenn man ein Multi-Befehl eingibt. das man den auch wiedergibt bsp.:
ocmd@4:help,hilfe,hallo,test(playerid,params[])return SendClientMessage(playerid,-1,"Du hast den Befehl %s benutzt.",);
dass man statt das %s sieht welchen befehl ich eingegeben habe, in dem Fall, das man entweder /help,/hilfe,/hallo,/test sieht? -
if(strcmp(cmdtext,"/auf",true)==0)
{
MoveObject(sapdtor2, 1546.69921875, -1621.69921875, 14.10000038147-10,5);//geschwindigkeit als dezimalzahl benutzen
MoveObject(sapdtor3, 1546.69921875, -1629.599609375, 14.10000038147-10,5);//geschwindigkeit als dezimalzahl benutzen
return 1;
}if(strcmp(cmdtext,"/auf",true)==0)
{
MoveObject(sapdtor1, 1584.69921875, -1638.099609375, 12.5-10,5);//geschwindigkeit als dezimalzahl benutzen
return 1;
}if(strcmp(cmdtext,"/zu",true)==0)
{
MoveObject(sapdtor2, 1546.69921875, -1621.69921875, 14.10000038147);//geschwindigkeit vergessen
MoveObject(sapdtor3, 1546.69921875, -1629.599609375, 14.10000038147);//geschwindigkeit vergessen
return 1;
}if(strcmp(cmdtext,"/zu",true)==0)
{
MoveObject(sapdtor1, 1584.69921875, -1638.099609375, 12.5);//z-koordinate vergessen
return 1;
}f(strcmp(cmdtext,"/auf",true)==0)
{
MoveObject(yakuzator, 2520.1999511719, 1819.1999511719, 11.5-10,5);//geschwindigkeit als dezimalzahl benutzen
MoveObject(yakuzator2, 2520.1999511719, 1827.0999755859, 11.5-10,5);//geschwindigkeit als dezimalzahl benutzen
return 1;
}if(strcmp(cmdtext,"/zu",true)==0)
{
MoveObject(yakuzator, 2520.1999511719, 1819.1999511719, 11.5,5);//geschwindigkeit als dezimalzahl benutzen
MoveObject(yakuzator2, 2520.1999511719, 1827.0999755859, 11.5,5);//geschwindigkeit als dezimalzahl benutzen
return 1;
}return 0;
}
-
ZitatAlles anzeigen
Tankstellen[i][superpreis] = dini_IntSet(Tankstellen,"superpreis",75);
Tankstellen[i][pickup] = //hier fehlt was
Tankstellen[i][kaufpreis] = dini_IntSet(Tankstellen,"kaufpreis",Preis); -
Dann schreibe ich mal einen Satz.
-
Hey,
ich möchte ein Vehicle Command machen.
Wie kann ich jetzt die ID/Name gleichzeitig benutzen?
Bsp.:
/createvehicle 522
/createvehicle nrg-500 -
Jup mit der Funktion: TextDrawSetPreviewModel
-
Wie speicherst du denn, bzw lädt du es?