Hi,
ich habe 2 Probleme.
1:
Ich möchte das wenn ich einen Float in einen String einbinde dort nicht die ganzen Stellen hinter dem Komma zu sehen sind.
Sagen wir der Spieler hat 50% Lebensenergie. Dann soll in dem String auch 50 stehen und nicht 50.000000.
Ich habe gelesen das das so geht %0.f aber das funktioniert irgendwie nicht.
new Float:health, string[50];
GetPlayerHealth(i,health);
format(string, sizeof(string), "Health: %0.f",health);
2:
Ich bin dabei einen /showweapons Befehl zu erstellen der mir die Waffen eines Spielers zeigt. Das sieht bisher so aus:
ocmd:sweapons(playerid,params[])
{
new pID;
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFFFFFFFF,"Hmhmh");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,0xFFFFFFFF,"Blub");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xFFFFFFFF,"Bla");
new bullets[13];
new curweapons[13];
for(new i = 0; i < 12; i++)
{
GetPlayerWeaponData(pID, i+1, curweapons[i], bullets[i]);
}
new string1[60],string2[60],string3[60],string4[60],string5[60],string6[60],string7[60],string8[60],string9[60],string10[60],string11[60],string12[60],string13[60],rest[800];
format(string1, sizeof string1, "Waffen von: %s (Id: %d)",SpielerName(pID),pID);
format(string2, sizeof string2, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[1]-1],curweapons[1],bullets[1]);
format(string3, sizeof string3, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[2]-1],curweapons[2],bullets[2]);
format(string4, sizeof string4, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[3]-1],curweapons[3],bullets[3]);
format(string5, sizeof string5, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[4]-1],curweapons[4],bullets[4]);
format(string6, sizeof string6, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[5]-1],curweapons[5],bullets[5]);
format(string7, sizeof string7, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[6]-1],curweapons[6],bullets[6]);
format(string8, sizeof string8, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[7]-1],curweapons[7],bullets[7]);
format(string9, sizeof string9, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[8]-1],curweapons[8],bullets[8]);
format(string10, sizeof string10, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[9]-1],curweapons[9],bullets[9]);
format(string11, sizeof string11, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[10]-1],curweapons[10],bullets[10]);
format(string12, sizeof string12, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[11]-1],curweapons[11],bullets[11]);
format(string13, sizeof string13, "%s (WpnId: %d) (Munition: %i)",Waffenname[curweapons[12]-1],curweapons[12],bullets[12]);
format(rest, sizeof rest, "%s\n\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5,string6,string7,string8,string9,string10,string11,string12,string13);
ShowPlayerDialog(playerid,WEAPON_DIA,DIALOG_STYLE_MSGBOX,"Waffen:",rest,"Ok","");
return 1;
}
(Die format Zeilen stehen bei mir alle untereinander)
Leider geht das nicht. Wenn ich /sweapons (ohne Id) eingebe bekomme ich wie gescriptet eine Nachricht. Wenn ich aber z.B. die Waffen von Id 1 wissen will gebe ich /sweapons 1 ein.
Dann sagt der Server immer Unknown Command und es passiert gar nichts
Ich glaube das liegt an dem großen Dialog, da bis dahin der Befehl klappt.
Hat jemand eine Ahnung?