Kann es sein das die Objekte buggen die man mit SetPlayerAttachObject an ein Player heftet ?
Da ich ein Objekt erstelle aber es nicht gelöscht wird ?
Code?
Kann es sein das die Objekte buggen die man mit SetPlayerAttachObject an ein Player heftet ?
Da ich ein Objekt erstelle aber es nicht gelöscht wird ?
Code?
Alles anzeigenIch weiß nicht in welche Spalte das Problem sein soll, eigentlich ist alles in der Tabelle.
Error-Meldung
SQL[17:51:21] [DEBUG] CMySQLQuery::Execute[OnHausCreate] - starting query execution [17:51:21] [ERROR] CMySQLQuery::Execute[OnHausCreate] - (error #1054) Unknown column 'Villa' in 'field list' [17:51:21] [DEBUG] CMySQLQuery::Execute[OnHausCreate] - error will be triggered in OnQueryError
Villa = Text = String bzgl. INSERT Values %e []
zu
Allerdings so wie das ausschaut bei dir nicht nötig.
ocmd:exit(playerid,params[])
{
#pragma unused params
for(new i=0; i<sizeof(bInfo); i++)
{
if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]))continue;
SetPlayerPos(playerid,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
return 1;
}
return 1;
}
Alles anzeigen
Das machst du indem du deinen Rängen einen Namen als String zuweist.
new string[MAX_PLAYER_NAME]; //Sofern du keinen Rangnamen mit einer Länge über 25 Zeichen hast
if(player[frak1][rang] == 1) {string = "Neuling(1)";} //Speichert "Neuling(0)" in "string"
usw.
Somit würde dann player der fraktion 1 mit rang 1 "Neuling(1)" im String gespeichert kriegen.
player[frak1][rang] musst du selbstverständlich bei dir anpassen.
Wen du es global möchtest, musst du eine neue function/stock dafür schreiben und es entsprechend für alle Einordnen so dass nur im Endeffekt im
Script nur mit einer function arbeiten brauchst zur Wiedergabe des Rangnamens.
Mit dieser Methode kannst du ganz individuell für alle Fraktionen seperate & unterschiedliche Namen erstellen.
lg,
YaBroo
Beide "Systeme" sind gut umsetzbar und vertretbar.
Denke nicht das eins "schlechter" sein könnte als das andere auch wenn dies hier nicht gefragt ist.
Meiner Meinung nach kommt es nur darauf an, was man aus der jeweiligen Entscheidung macht und sich ambitioniert dahinter setzt,
dass bestmögliche für einen neuen User rauszuholen um ihn in den ersten Minuten zu fesseln und zu zeigen, wir sind kein 0815.
Persönlich muss ich sagen das ich die damalige Umsetzung der "Film-Projekte" ziemlich genial fande.
Den Spieler in eine theaterreiche Filmfrequenz und Tutorial-Story einzubinden war großes Kino.
lg,YaBroo
Mit freundlichen Grüßen German_ScripterHD
Example:
new tmp[2][128];
split("Test_Text", tmp, '_');
print(tmp[0]); print(tmp[1]);
Print müsste dann
Test
Text
ausgeben da er an der Stelle "'_'" den Text in 2 seperate Strings splittet.
Das machst du dann einfach mit den inputtext.
lg
Ist eine gute Idee und ich glaube, dass es dies früher auch gab.
Allerdings kann jeder Ersteller seinen Link ebenso individuell anpassen.
Alles anzeigenVielen Dank
Aber eine Frage habe ich noch, da ich gerade irgendwie auf dem Kabel stehe...
Angenommen es tippt jemand Server_Test ein, und ich möchte 2 Narichten wiedergeben die in etwa so aus sehen:
(1) : "Server"
(2) : "Test"
Aber wie mache ich das genau?
In dem Fall wird deine Abfrage 1 wiedergeben und du kannst einfach den inputtext im string ausgeben, nach deinem Wunsch müsstest du diesen vorher noch splitten.
Ist der Serverstart bereits in näherer Aussicht oder ggf. schon getätigt um sicherzustellen das angehende Supporter auch Arbeit haben?
lg, YaBroo
Ich bräuchte die nächste Hilfe von dir wenn du Zeit & Lust hättest
Das nächste Problem ist mein Spawnsystem, wenn du Zeit hast schreib mir doch mal eine pn bitte
Hey,
du kannst auch ein Topic aufmachen, damit jeder etwas davon hat.
Ansonsten ist eine PM auch gerne gesehen,
lg
Wenn du so viel nutzt, dann wäre es angemessener wenn du strcat anwendest.
Was wurde editiert,welche Features hat das Script, was ist an diesem besser als an anderen releasten GM's?
Ich hatte oben schon mehrfach beschrieben woran es lag und was zu machen ist,
Der Grund warum sein Server gecrasht ist und seine 1. Funktion komplett nicht funktionierte.
Der Fehler / Crash seiner 2. Funktion war individuell & teilweise anderweitig im Script verborgen.
System angepasst,
Thema ist denke ich erledigt.
lg
http://wiki.sa-mp.com/wiki/TextDrawSetString
Wie gewöhnlich string formatieren , nur mit einer anderen Funktion.
mysql_tquery ruft ebenso ein Callback auf.
Mit mysql_query würde es so aussehen:
mysql_query(dbhandle, query);
ocmd:laden(playerid,params[])
{
SendClientMessage(playerid,TEAM_GREEN_COLOR,"Fahrzeug wurde aus der Datenbank geladen");
new num_fields,num_rows,strl[500];
format(strl,sizeof(strl),"SELECT * FROM `vehicles`");
mysql_query(dbhandle, strl);
cache_get_data(num_rows,num_fields,dbhandle);
for(new i;i<num_rows;i++)
{
new id = getfreecar();
new id_x = cache_get_field_content_int(1,"VID",dbhandle);
VT[id][X] = cache_get_field_content_float(i,"X",dbhandle);
VT[id][Y] = cache_get_field_content_float(i,"Y",dbhandle);
VT[id][Z] = cache_get_field_content_float(i,"Z",dbhandle);
VT[id][R] = cache_get_field_content_float(i,"R",dbhandle);
CreateVehicle(id_x,VT[id][X],VT[id][Y],VT[id][Z],VT[id][R],0,0,-1);
printf("SsS %i %f %f %f %f",VT[id][ModelID],VT[id][X],VT[id][Y],VT[id][Z],VT[id][R]);
printf("Rows: %i",num_rows);
VT[id][ModelID] = -1;
}
return 1;
}
Alles anzeigen
So funktionierts einigermaßen, allerdings werden alle modelid's mit der ID des Fahrzeugs mit dem Eintrag 2 erstellt. Sprich alles wird seperat geladen außer die ModelID, die wird jedem Fahrzeug gesetzt.(560)
Erkennst du den Fehler? Habe jetzt provisorisch die neue vari definiert.
DB Einträge: https://gyazo.com/655f3cc04912047c251135a54dfa7943
Du musst mysql_query nutzen, oder, und das wäre besser, den Cache im Callback auslesen, das du in mysql_function_query angibst.
Wenn ich mysql_query / tquery verwende sagt er mir number of arguments does not match definition.
Per callback habe ich kein Problem, würde es aber gerne direkt im CMD versuchen umzusetzen weil ich es dort nicht hin kriege.
ocmd:laden(playerid,params[])
{
SendClientMessage(playerid,TEAM_GREEN_COLOR,"Fahrzeug wurde aus der Datenbank geladen");
new num_fields,num_rows,strl[500];
format(strl,sizeof(strl),"SELECT * FROM `vehicles`");
mysql_function_query(dbhandle,strl,true,"","");
cache_get_data(num_rows,num_fields,dbhandle);
for(new i;i<num_rows;i++)
{
print("1");
new id = getfreecar();
VT[id][ModelID] = cache_get_field_content_int(1,"ID",dbhandle);
VT[id][X] = cache_get_field_content_int(i,"X",dbhandle);
VT[id][Y] = cache_get_field_content_float(i,"Y",dbhandle);
VT[id][Z] = cache_get_field_content_float(i,"Z",dbhandle);
VT[id][R] = cache_get_field_content_float(i,"R",dbhandle);
CreateVehicle(VT[id][ModelID],VT[id][X],VT[id][Y],VT[id][Z],VT[id][R],0,0,-1);
printf("SsS %i %f %f %f %f",VT[id][ModelID],VT[id][X],VT[id][Y],VT[id][Z],VT[id][R]);
print("2");
printf("Rows: %i",num_rows);
}
return 1;
}
Alles anzeigen
Wie setzt man nochmal richtig an? Bekomme gar keine Prints sodass ich schon die normale num row Abfrage entfernt habe.
Kann mich bitte jemand kurz aufklären?
Du weißt dem string immernoch keinen Wert zu.
Du hast einen leeren string gespeichert, du musst es außerdem im anderen CMD speichern.
Vermutlich crasht der Server weil du falsch returnst, wie auch immer das zu compilen war.
TeamViewer? (-> PM)