Dann musst du den Code posten, der nach dem Dialog kommt, der den Spieler aduty setzt.
Beiträge von Jeffry
-
-
Ich meinte den /d Befehl, sorry hätte ich dazu schreiben sollen.
-
-
Poste bitte den Befehl.
-
-
Das Entfernen war in der falschen Ebene.
So:C
Alles anzeigenocmd:einsatzlicht(playerid,params[]) { new vid = GetPlayerVehicleID(playerid); if(UCL[vid] == 0) { if(GetVehicleModel(vid) == 560) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene4[vid] = CreateObject(19292,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0 ,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,0.85,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite AttachObjectToVehicle(sirene4[vid],vid,0,0.9,0.4,0,0,0);//Mittig im Fenster UCL[vid] = 1; SendClientMessage(playerid,GRAU,"Du hast das Blaulicht erfolgreich angeschaltet"); return 1; } else if(GetVehicleModel(vid) == 415) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,0.65,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!"); return 1; } else if(GetVehicleModel(vid) == 451) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,00.0,0.0,0.6,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht angeschaltet!"); return 1; } else if(GetVehicleModel(vid) == 541) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,0.65,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!"); return 1; } else if(GetVehicleModel(vid) == 470) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,1.1,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!"); } else if(GetVehicleModel(vid) == 421) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,0.72,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!"); return 1; } else if(GetVehicleModel(vid) == 405) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0,0.78,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!"); return 1; } else if(GetVehicleModel(vid) == 426) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0,0.88,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!)"); return 1; } else if(GetVehicleModel(vid) == 517) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0,0.85,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Du hast das Blaulicht erfolgreich angebracht!"); return 1; } else if(GetVehicleModel(vid) == 598) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Das Blaulicht wurde erfolgreich ans Fahrzeug angebracht!"); return 1; } else if(GetVehicleModel(vid) == 597) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Das Blaulicht wurde erfolgreich ans Fahrzeug angebracht!"); return 1; } else if(GetVehicleModel(vid) == 596) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Das Blaulicht wurde erfolgreich ans Fahrzeug angebracht!"); return 1; } else if(GetVehicleModel(vid) == 411) { sirene[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene2[vid] = CreateObject(19288,0,0,0,0,0,0,100); sirene3[vid] = CreateObject(19288,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,2.6,0,0,0,0);//Vorne Mitte AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,0.7,0,0,0);//Dach sirene AttachObjectToVehicle(sirene2[vid],vid,0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite AttachObjectToVehicle(sirene3[vid],vid,-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Das Blaulicht wurde erfolgreich ans Fahrzeug angebracht!"); return 1; } else if(GetVehicleModel(vid) == 561) { sirene[vid] = CreateObject(19419,0,0,0,0,0,0,100); sirene1[vid] = CreateObject(19419,0,0,0,0,0,0,100); AttachObjectToVehicle(sirene[vid],vid,0.0,0.0,0.85,0,0,0);//Dach Beifahrer AttachObjectToVehicle(sirene1[vid],vid,0.0,0.0,0.85,0,0,0);//Dach Fahrer UCL[vid] = 1; SendClientMessage(playerid,0xFF0000,"Das Blaulicht wurde erfolgreich ans Fahrzeug angebracht!"); return 1; } } else if(UCL[vid] == 1) { DestroyObject(sirene[vid]); DestroyObject(sirene1[vid]); DestroyObject(sirene2[vid]); DestroyObject(sirene3[vid]); DestroyObject(sirene4[vid]); sirene[vid] = -1; sirene1[vid] = -1; sirene2[vid] = -1; sirene3[vid] = -1; sirene4[vid] = -1; UCL[vid] = 0; SendClientMessage(playerid,0xFF0000,"Das Blaulicht wurde erfolgreich ans Fahrzeug angebracht!"); return 1; } return 1; }Ich habe außerdem die ganzen GetPlayerVehicleID's ersetzt.
-
Wie und wo erstellst du das Textdraw?
-
Hast du mal versucht, mehrere Pflanzen in der Datenbank anzulegen und die zu laden?
Wird dann kein einziges Objekt erstellt, oder fehlt nur eins zum Beispiel? -
Poste bitte den ganzen Befehl.
-
Wird die Nachricht allen angezeigt, die das Textdraw sehen sollen?
-
Die Abfrage, ob die Funktion 0 zurück gibt, heißt, dass wenn 0 Zeilen im SELECT sind, dann existiert der Teleport nicht, das gilt für alle IDs.
-
Es gibt zwar einige Editoren, allerdings ist der Compiler nur für Windows verfügbar.
Im englischen Forum gibt es zwar einige Leute, die sagen, dass sie es über Wine zum Laufen bekommen haben, allerdings ist das nirgends wirklich bestätigt.Du kannst dir ja mal diesen Editor anschauen: https://github.com/Zeex/pawn/releases
Generell ist pawno+Compiler eher für Windows ausgelegt.
-
MySql und sscanf wollen auf meinen VPS nicht laden!
Poste bitte deinen Server Log.
-
-
-
Versuche es so:
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++) { DrugInfo[i][d_Besitzer] = cache_get_field_content_int(i, "besitzer", handle); DrugInfo[i][d_Zustand] = cache_get_field_content_int(i, "zustand", handle); DrugInfo[i][d_Wasser] = cache_get_field_content_int(i, "wasser", handle); DrugInfo[i][d_Prozent] = cache_get_field_content_int(i, "prozent", handle); DrugInfo[i][d_PosX] = cache_get_field_content_float(i, "x", handle); DrugInfo[i][d_PosY] = cache_get_field_content_float(i, "y", handle); DrugInfo[i][d_PosZ] = cache_get_field_content_float(i, "z", handle); DrugInfo[i][d_Objekt] = CreateObject(826, DrugInfo[i][d_PosX], DrugInfo[i][d_PosY], DrugInfo[i][d_PosZ], 0.0, 0.0, 0.0); count ++; } printf("[INFO] %i/%i Drogenpflanze geladen.", count, sizeof(DrugInfo)); return 1; }Den stock würde ich dir so empfehlen:
Cstock SearchFreeDrugID() { for(new i=0; i < sizeof(DrugInfo); i++) { if(DrugInfo[i][d_PosX] == 0.0 && DrugInfo[i][d_PosY] == 0.0 && DrugInfo[i][d_PosZ] == 0.0)return i; } return -1; }Denn es gibt auch eine Objekt ID 0.
-
So wie ich das sehe musst du die Nodes bei OnPathCalculated auslesen, sprich dort bekommst du in einem Array die verschiedenen Positionen der Pfeile. Das müsstest du dann speichern, oder nach jedem Node die Route neu berechnen (eher nicht) und dann den NPC jeweils an den nächsten Punkt schicken.
-
Warum hast du es jetzt so komisch geschrieben?
C
Alles anzeigenmysql_tquery(dbhandle, "SELECT * FROM `Clans`", "LoadClans", ""); forward LoadClans(); public LoadClans() { new rows = cache_num_rows(), j; for(new i = 0; i < rows; i++) { j = cache_get_field_content_int(i,"ID",dbhandle); Clan[j][cID] = cache_get_field_content_int(i,"ID",dbhandle); cache_get_field_content(i,"name",Clan[j][cName],dbhandle,32); cache_get_field_content(i,"Leader",Clan[j][cLeader],dbhandle,32); Clan[j][cMitglieder] = cache_get_field_content_int(i,"Mitglieder",dbhandle); Clan[j][cLevel] = cache_get_field_content_int(i,"level",dbhandle); Clan[j][cGeld] = cache_get_field_content_int(i,"geld",dbhandle); Clan[j][cEXP] = cache_get_field_content_int(i,"EXP",dbhandle); Clan[j][cSiege] = cache_get_field_content_int(i,"Siege",dbhandle); Clan[j][cNiederlagen] = cache_get_field_content_int(i,"Niederlagen",dbhandle); Clan[j][cUnentschieden] = cache_get_field_content_int(i,"Unentschieden",dbhandle); Clan[j][cHouseKey] = cache_get_field_content_int(i,"Housekey",dbhandle); cache_get_field_content(i,"Farbe",Clan[j][cFarbe],dbhandle,11); new Float:kd = floatdiv(Clan[j][cSiege],Clan[j][cNiederlagen]); Clan[j][Winrate] = kd; momentaneClans++; printf("Schleife: %d, cID: %d, cName: %s",i,Clan[j][cID],Clan[j][cName]); } printf("[LOAD] %d/%d Clans geladen",momentaneClans,MAX_CLANS); return 1; } -
Möglicherweise hast du das Limit an Objekten erreicht (1000).
Prüfe das, andernfalls mache einen Thread auf und poste den MySQL Log, der kommt, wenn die Pflanzen geladen werden. -