Ja habe ich auch schon versucht, ich hatte schon mal z.B 6 Pflanzen, keine einzige ist erstellt wurden.
Beiträge von malE
-
-
Ok danke für die Empfehlung. Problem besteht leider immer noch.
-
@Jeffry
Die Pflanze ( das Objekt ) wird nicht erstellt.
1000 Objekte sind auf jeden Fall nicht erreicht.C
Alles anzeigenforward OnPlayerDrugsLoad(); public OnPlayerDrugsLoad() { new num_fields, num_rows, count = 0; cache_get_data(num_rows, num_fields, handle); if(!num_rows)return 1; for(new i=0; i < num_rows; i++) { new id = SearchFreeDrugID(); DrugInfo[id][d_Besitzer] = cache_get_field_content_int(i, "besitzer", handle); DrugInfo[id][d_Zustand] = cache_get_field_content_int(i, "zustand", handle); DrugInfo[id][d_Wasser] = cache_get_field_content_int(i, "wasser", handle); DrugInfo[id][d_Prozent] = cache_get_field_content_int(i, "prozent", handle); DrugInfo[id][d_PosX] = cache_get_field_content_float(i, "x", handle); DrugInfo[id][d_PosY] = cache_get_field_content_float(i, "y", handle); DrugInfo[id][d_PosZ] = cache_get_field_content_float(i, "z", handle); DrugInfo[id][d_Objekt] = CreateObject(826, DrugInfo[id][d_PosX], DrugInfo[id][d_PosY], DrugInfo[id][d_PosZ], 0.0, 0.0, 0.0); count ++; } printf("[INFO] %i/%i Drogenpflanze geladen.", count, sizeof(DrugInfo)); return 1; }
Cstock SearchFreeDrugID() { for(new i=0; i < sizeof(DrugInfo); i++) { if(DrugInfo[i][d_Objekt] == 0)return i; } return 0; }
-
Pflanze ( das Objekt ) wird nicht erstellt.
Alles andere wird erfolgreich geladen. Die MySQL Log zeigt nichts ungewöhnliches an, auch die richtigen Koords.C
Alles anzeigenforward OnPlayerDrugsLoad(); public OnPlayerDrugsLoad() { new num_fields, num_rows, count = 0; cache_get_data(num_rows, num_fields, handle); if(!num_rows)return 1; for(new i=0; i < num_rows; i++) { new id = SearchFreeDrugID(); DrugInfo[id][d_Besitzer] = cache_get_field_content_int(i, "besitzer", handle); DrugInfo[id][d_Zustand] = cache_get_field_content_int(i, "zustand", handle); DrugInfo[id][d_Wasser] = cache_get_field_content_int(i, "wasser", handle); DrugInfo[id][d_Prozent] = cache_get_field_content_int(i, "prozent", handle); DrugInfo[id][d_PosX] = cache_get_field_content_float(i, "x", handle); DrugInfo[id][d_PosY] = cache_get_field_content_float(i, "y", handle); DrugInfo[id][d_PosZ] = cache_get_field_content_float(i, "z", handle); DrugInfo[id][d_Objekt] = CreateObject(826, DrugInfo[id][d_PosX], DrugInfo[id][d_PosY], DrugInfo[id][d_PosZ], 0.0, 0.0, 0.0); count ++; } printf("[INFO] %i/%i Drogenpflanze geladen.", count, sizeof(DrugInfo)); return 1; }
-
-
Welche Plugins hast du denn in der .cfg eingetragen?
Bei mir war es einmal so, dass ich zu viele eingetragen hatte, die ich selbst gar nicht benutzt hatte. -
Laut den Logs wurde das "Plugin" filterscripts nicht geladen. Schau mal im Ordner plugin nach dem rechten.
-
-
Gut zu wissen, danke Leute.
-
Ne nur ich bin online. Aber dann müsste doch aber auch ein korrekter Wert erscheinen?
-
Verändert nichts, es kommt immer noch der selbe Wert.
-
Ich möchte ja die Distanz haben.
-
Hallo,
mir wird leider immer ein falsche Wert angezeigt, normalerweise müsste der näheste Spieler ( Medic ) von der Spieler Position angezeigt werden.
BildC
Alles anzeigenforward Float:GetNearestMedic(playerid); stock Float:GetNearestMedic(playerid) { new Float:x, Float:y, Float:z; new Float:nearest = 9999999; for(new i=0; i < MAX_PLAYERS; i++) { if(!IsPlayerStreamedIn(i, playerid))continue; if(PlayerInfo[i][p_Fraktion] != 4)continue; GetPlayerPos(i, x, y, z); new Float:distance = GetPlayerDistanceFromPoint(playerid, x, y, z); if(distance < nearest) { nearest = distance; } } return nearest; }
Dann hätte ich noch eine Frage: kann ich ein PlayerTextDraw unter dem Callback OnPlayerClickTextDraw reibungslos aufrufen.
-
Dort müsste eigentlich angezeigt werden wie weit der nähesten ( Nahe ) Sanitäter vom Spieler entfernt ist.
Beim TextDraw ich benutze dafür PlayerTextDraws, aber ich habe gerade gelesen, dass bei OnPlayerClickPlayerTextDraw nichts aufgerufen wird sobald die Auswahlmöglichkeit mit ESC abgebrochen wird.
[wiki]OnPlayerClickPlayerTextDraw_DE[/wiki] -
Mir wird leider immer noch der gleiche Wert angezeigt.
Woher weiß ich ob er es gecancelled hat?
-
Jo dnke!
Aber mir wird leider ein falscher Wert angezeigt.
BildDer Code ist komplett der gleiche.
Dann hätte ich noch eine Frage.
Kann man irgendwie verhindern, dass der Spieler mit ESC die Funktion SelectTextDraw nicht abbricht? -
Habe mal ein Beispiel von MrMonat für meinem Gebrauch umgeändert.
Nunja. Jetzt bekomm ich aber leider ein tag mismatch in Zeile 16 und ich habe kein Plan warum.
Vielleicht, weil man keine Floats returnen kann?C
Alles anzeigenstock GetNearestMedic(playerid) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); new Float:nearest = 9999999; for(new i=0; i < MAX_PLAYERS; i++) { if(!IsPlayerStreamedIn(i, playerid))continue; if(PlayerInfo[i][p_Fraktion] != 4)continue; new Float:distance = GetPlayerDistanceFromPoint(playerid, x, y, z); if(distance < nearest) { nearest = distance; } } return nearest; }
-
Wenn man sein Namen änder will über: SetPlayerName(... muss man Abfragen ob der eingegebene Name schon existiert oder funktioniert das automatisch?
-
Funktioniert leider immer noch nur beim ersten Fahrzeug.
-
Genau das ist mir auch aufgefallen als ich eben in die Konsole geschaut habe.
Ich habe es aber so gemachtCmysql_format(handle, query, sizeof(query), "UPDATE vehicles SET x='%f', y='%f', z='%f', r='%f', health='%f' WHERE id='%d'", VehicleInfo[i][v_X], VehicleInfo[i][v_Y], VehicleInfo[i][v_Z], VehicleInfo[i][v_R], health, VehicleInfo[i][v_ID]);
--
Gehört zwar nicht zur Speicherung etc.@Jeffry
Man kann nur sein erstes Fahrzeug auf- und zuschließen.
Beispiel: 1st Infernus, 2nd Sultan, 3th NRG-500.
Man steht am Infernus und gibt /carlock ein funktioniert es.
Steht man aber an einem anderen Privatfahrzeug welches nicht das 1st Fahrzeug ist funktioniert es nicht.C
Alles anzeigenocmd:carlock(playerid, params[]) { new Float:Pos[3]; new engine, lights, alarm, doors, bonnet, boot, objective; for(new i=0; i < MAX_VEHICLES; i++) { if(!IsValidVehicle(i))continue; GetVehiclePos(i, Pos[0], Pos[1], Pos[2]); GetVehicleParamsEx(i, engine, lights, alarm, doors, bonnet, boot, objective); if(!IsPlayerInRangeOfPoint(playerid, 3, Pos[0], Pos[1], Pos[2]))return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht in der nähe deines Privatfahrzeug."); if(VehicleInfo[i][v_Besitzer] != PlayerInfo[playerid][p_ID])continue; if(VehicleInfo[i][v_Schloss] == true){ SetVehicleParamsEx(i, engine, lights, alarm, 0, bonnet, boot, objective); GameTextForPlayer(playerid, "~r~Aufgeschlossen", 3000, 4); VehicleInfo[i][v_Schloss] = false; return 1; } else{ SetVehicleParamsEx(i, engine, lights, alarm, 1, bonnet, boot, objective); GameTextForPlayer(playerid, "~g~Zugeschlossen", 3000, 4); VehicleInfo[i][v_Schloss] = true; return 1; } } return 1; }