Und kann mein Tor sogar vom Dach oder 100 Meter weit weg aufmachen ..
Da fehlt das !.
Also:
if(!IsPlayerInRangeOfPoint(playerid,5.0,1106.0683,-1691.4707,12.9108))
Und kann mein Tor sogar vom Dach oder 100 Meter weit weg aufmachen ..
Da fehlt das !.
Also:
if(!IsPlayerInRangeOfPoint(playerid,5.0,1106.0683,-1691.4707,12.9108))
Entweder:
if(strlen(inputtext) == 0)
oder besser:
if(!inputtext[0])
Ich hab auch schon das nächste (wiederkehrende) problem ![]()
if(strcmp(mInfo[vModel][fuelTyp], kraftstoff)){
printf("mInfo: %s, Kraftstoff: %s", mInfo[vModel][fuelTyp], kraftstoff);
}else{
printf("mInfo: %s, Kraftstoff: %s NICHT KORREKT", mInfo[vModel][fuelTyp], kraftstoff);
}
Ich versteh das nicht xD...
Ich möchte kontrollieren ob kraftstoff = mInfo[vModel][fuelTyp] ist wie rum man das macht ist ja eigentlich wurscht oder?
Als ergebnis kommt allerdings (in der Konsole):
mInfo: Benzin, Kraftstoff: Benzin NICHT KORREKT
Warum ? xD es ist doch beides gleich lol ... Hoffe das ist eine kleine Scripting frage, ansonsten mach ich nen Beitrag auf.
MfG
XonarZ
if(strcmp(mInfo[vModel][fuelTyp], kraftstoff))
Schau ins Wiki: [wiki]strcmp[/wiki]
Die Funktion gibt 0 zurück, wenn die Strings übereinstimmen.
Somit musst du auch das abfragen:
if(strcmp(mInfo[vModel][fuelTyp], kraftstoff) == 0)
oder kurz:
if(!strcmp(mInfo[vModel][fuelTyp], kraftstoff))
Nabend ihr Brotfische,
Ich wollte ein Befehl machen wo er mir alle Admins ausliest und in ein Dialog anzeigt.
Das Funktioniert 1 Sahne aber ich weiß gerade 0 wie ich das machen soll am besten dass ich dann den Spieler auswählen kann und diesen Bearbeite.
Mir ist Klar ich muss irgendwie abfragen welches "Listitem" ich ausgewählt habe und das mit der anzahl abgleichen von denen die ich ausgelesen habe.
ocmd:eadmin(playerid)
{
if(!pInfo[playerid][pLoggedIn]) return 1;
if(pInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, -1, "Du verfügst nicht die nötigen Berechtiungen!");
new string[128];
if(!Adminduty[playerid])
{
format(string, sizeof(string), "Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
SendClientMessage(playerid, -1, string);
return 1;
}
new query[250];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `K_Accounts` WHERE admin > 0");
mysql_pquery(handle, query, "ShowAdmins", "i", playerid);
return 1;
}
Alles anzeigen
public ShowAdmins(playerid)
{
new rows = cache_num_rows(), arang, Name[MAX_PLAYER_NAME], string[250], playerid2, dbid;
for(new i = 0; i<rows; i++)
{
cache_get_value_name_int(i, "ID", dbid);
cache_get_value(i, "name", Name);
cache_get_value_name_int(i, "admin", arang);
playerid2 = GetPlayerIdFromName(Name);
format(string, sizeof(string), "%s\n%s\t%s\t%s", string, Name, GetAdminRang2(arang),(IsPlayerConnected(playerid2))?("Online"):("Offline"));
}
strins(string,"{FFFFFF}Name\tRang\tOnline/Offline\n",0,sizeof(string));
ShowPlayerDialog(playerid, DIALOG_MEMBERS, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Fraktionsmember", string, "Bearbeiten", "Abbruch");
return 1;
}
Alles anzeigen
Hey,
Kleine Frage:
Wie kann ich bestimmte Ingame-Sounds abspielen
Beispiel:
Wenn man geblitzt wird kommt der Sound wenn man mit einer Kamera ein Foto macht.
Also Sounds die es im Spiel gibt, gibt es davon eine Liste?
Oder gibt es so etwas überhaupt? Falls nein muss ich dann einfach ein Sound manuell hochladen und abspielen?
Für GTA eigene Sounds kannst du [wiki]PlayerPlaySound[/wiki] verwenden.
Für eigene Sounddateien musst du [wiki]PlayAudioStreamForPlayer[/wiki] verwenden
ocmd:pilot(playerid,params[])
{
new choosed[MAX_PLAYER_NAME];
if(sscanf(params, "s", choosed))
{
SendClientMessage(playerid, -1, "|__________________ Pilot Options __________________|");
SendClientMessage(playerid, -1, "Benutze: /pilot [name]");
SendClientMessage(playerid, -1, "Commands: find, duty");
SendClientMessage(playerid, -1, "|________________________________________________|");
return 1;
}
if(strcmp(choosed,"duty",true) == 0)
{
for(new pv = 0; pv < sizeof(PilotVehs); pv++)
{
new newcar = GetPlayerVehicleID(playerid);
if(newcar == PilotVehs[pv])
{
SendClientMessage(playerid,COLOR_RED,"Du hast EINE Schlüssel!");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"You are in no Pilot Vehicle!");
return 1;
}
}
}
return 1;
}
SendClientMessage(playerid,COLOR_RED,"You are in no Pilot Vehicle!");
Bekomme die nachricht immer, selbst wenn ich in einem Pilot veh bin.
Warum wird immernur der erste Eintrag in der Datenbank Geladen?
enum FraktionsEnum {
fID,
fName[256],
fColor,
Float:fSpawnX,
Float:fSpawnY,
Float:fSpawnZ,
Float:fSpawnR,
fRang1[32],
fRang2[32],
fRang3[32],
fRang4[32],
fRang5[32],
fRang6[32],
fMaxMember,
fSpice,
fDrugs,
fMats,
fKasse
};
new FrakInfo[MAX_FRAKS][FraktionsEnum];
stock FraktionDatenLaden()
{
mysql_pquery(Handle, "SELECT * FROM fraktions", "FraktionDatenLadenPublic");
return 1;
}
forward FraktionDatenLadenPublic(playerid);
public FraktionDatenLadenPublic(playerid)
{
print("FraktionDatenPublic");
for(new i=0;i<MAX_FRAKS; i++)
{
cache_get_value_name_int(0, "ID", FrakInfo[i][fID]);
cache_get_value_name(0, "Name", FrakInfo[i][fName], 256);
printf("%d", FrakInfo[i][fID]);
printf("%s", FrakInfo[i][fName]);
}
return 1;
}
Alles anzeigen
Warum wird immernur der erste Eintrag in der Datenbank Geladen?
Mach das mal public mal so:
public FraktionDatenLadenPublic(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows == 0)return 1;
for(new i = 0; i < rows; i++){
cache_get_value_name_int(i, "ID", FrakInfo[i][fID]);
cache_get_value_name(i, "Name", FrakInfo[i][fName], 256);
printf("%d", FrakInfo[i][fID]);
printf("%s", FrakInfo[i][fName]);
}
return 1;
}
Alles anzeigen
//EDIT Seite lädt zu langsam ... statt die "0" ein "i"
Bekomme die nachricht immer, selbst wenn ich in einem Pilot veh bin.
Nimm den else Teil aus der Schleife und schreibe die Nachricht vor das return 1 am Ende des Befehls.
new Float:literCount = strval(inputtext);
new Float:literCount = floatstr(inputtext);
new Float:literCount = floatstr(inputtext);
Danke... klappt schon mal ... Ich habe noch eine Frage:
Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?
//EDIT Warum frage ich überhaupt, ich machs einfach
(+0.01)
//EDIT 2 Funktioniert nur nicht immer
wenn ich nun 1.49 eingebe, kommt 1.50^^ brauche doch hilfe^^
MfG
XonarZ
Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?
Ja, da entsteht ein kleiner Rundungsfehler.
So kannst du es lösen:
Danke ... Leider macht er nun aus 1.04 = 1.05
Ich hab das +FLOAT_ERROR wieder weggemacht und nun macht bei 1.04 und 1.05 die richtigen ergebnisse, nur leider bei 1.49 nicht da kommt 1.5 raus...
MfG
XonarZ