Hab ich schon dann guckt er in den Himmel
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ich kenne dein System nicht, mache dazu am besten einen neuen Thread auf.
-
Externer Inhalt youtu.beInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
So mein ich das wie am Anfang wo er dort spawnt
-
-
C
Alles anzeigenstock s_SetPlayerWantedLevel(playerid,wlvl) { if(wlvl > 0) { HideWantedStars(playerid); pTextDraw[playerid][StarNumber] = CreatePlayerTextDraw(playerid, 520.000000, 103.000000, "12"); PlayerTextDrawBackgroundColor(playerid, pTextDraw[playerid][StarNumber], 255); PlayerTextDrawFont(playerid, pTextDraw[playerid][StarNumber], 3); PlayerTextDrawLetterSize(playerid, pTextDraw[playerid][StarNumber], 0.569999, 2.000000); PlayerTextDrawColor(playerid, pTextDraw[playerid][StarNumber], -1); PlayerTextDrawSetOutline(playerid, pTextDraw[playerid][StarNumber], 1); PlayerTextDrawSetProportional(playerid, pTextDraw[playerid][StarNumber], 1); new tdstring[32]; PlayerTextDrawShow(playerid,pTextDraw[playerid][StarNumber]); TextDrawShowForPlayer(playerid,gTextDraw[LightStar1]); format(tdstring, sizeof(tdstring), "%d", wlvl); PlayerTextDrawSetString(playerid, pTextDraw[playerid][StarNumber], tdstring); } else { HideWantedStars(playerid); } return 1; }
Hab dann im "Wanted-Gebe"-Befehl:
s_SetPlayerWantedLevel(pID,Spieler[pID][pWanteds]);Der "Stern" also LightStar1 wird angezeigt, aber die StarNumber nicht. Woran liegts?
-
Wie sieht denn der Befehl aus?
-
Wie sieht denn der Befehl aus?
C
Alles anzeigenocmd:suspect(playerid, params[]) { new pID, string[128], reason[64]; if(DM[playerid][7] != 1)return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist."); if(sscanf(params, "us[64]", pID, reason))return SendClientMessage(playerid, COLOR_GREY, "Benutze: (/su)spect [SpielerID/Name] [Grund]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist nicht online."); if(IsPlayerNPC(pID))return 1; //if(DM[pID][7] == 1)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist ein Polizist."); //if(DM[pID][7] != 2)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist kein Robber."); Spieler[pID][pWanteds] += 1; j_SetPlayerWantedLevel(pID,Spieler[pID][pWanteds]); format(string, sizeof(string), "Du hast ein Verbrechen begangen. (%s) Zeuge: %s", reason, SpielerName(playerid)); SendClientMessage(pID, COLOR_RED, string); format(string, sizeof(string), "Dein aktuelles Wanted Level: %d", Spieler[pID][pWanteds]); SendClientMessage(pID, COLOR_YELLOW, string); format(string, sizeof(string), "HQ: %s (ID: %d) hat ein Verbrechen begangen: %s, over.", SpielerName(pID), pID, reason); SendCopMessage(COLOR_COP_MELDUNG, string); format(string, sizeof(string), "HQ: Zeuge: %s, Aktuelles Wantedlevel: %d, over.", SpielerName(playerid), Spieler[pID][pWanteds]); SendCopMessage(COLOR_COP_MELDUNG, string); return 1; }
-
Du rufst j_SetPlayerWantedLevel auf, dein stock heißt aber s_SetPlayerWantedLevel.
-
Du rufst j_SetPlayerWantedLevel auf, dein stock heißt aber s_SetPlayerWantedLevel.
War n "fail".
Ist geändert.
Zahl erscheint nur kurz und verschwindet. -
Wie kann ich am besten die Position für z.b TextDraws herausfinden? Also wenn ich jetzt Z.b Rechts unten am Rand ein TextDraw haben will wie finde ich die Position raus?
-
-
Das kannst du mit einem Textdraw Editor deiner Wahl machen.
Beispiel: http://forum.sa-mp.com/showthread.php?t=543002
Zahl erscheint nur kurz und verschwindet.
Erstelle bitte einen Thread und poste dort nochmal den ganzen Code, da das keine kleine Frage mehr ist.
Prüfe vorher, ob du das Textdraw auch wirklich nirgends aus Versehen löschst. -
Hi ich habe ein Problem und zwar wenn ich den Server Starte Laden die Geldautomaten aber nicht der Text kann mir da einer Helfen hier der Text
Codet_count=0; for(new i = 0;i<sizeof(automat);i++) { automat[i][o_id] = CreateDynamicObject(2942, automat[i][fxa],automat[i][fya],automat[i][fza], automat[i][faa], automat[i][faa2], automat[i][faa3]);//Motel CreateDynamic3DTextLabel("Geldautomat\n/auszahlen\n/einzahlen\n/ueberweisen",COLOR_BRIGHTRED,automat[i][fxa],automat[i][fya],automat[i][fza],8,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,100.0); t_count++; } printf("[SERVER] %i Geldautomaten wurden geladen.",t_count);
-
-
Wieso spuckt der mir die Meldung raus.
Das ist keine Zahl!
? -
Welche Meldung?
-
Das ist keine Zahl
-
Du musst, wenn du VARCHAR auswählst eine Länge angeben.
Eigene Frage:
Ich würde mein Fraktionsauto System gerne Dynamisch mit mysql schreiben. nur wie kann ich die Vehicle IDS dann den Fahrzeugen zuweisen? z.B Es wird ein neues gekauft, das wird dann einfach in die Tabelle eingefügt.
Sagen wir es gibt schon 3 Fahrzeuge mit den carid variablen lspd[0],lspd[1],lspd[2].
Wie stelle ich jetzt beim Kauf des 4 fest, dass es schon 3 Gibt?
Die eigentliche Frage:
Wie fragt man ab ob ein Array leer ist?
-
Nochmal ich xD
ich sitze in der zwickmühle
ich möchte gerne den wert von TeleportID haben und den um 1 erhöhen um einen neuen Spalt hinzuzufügen
also wenn ich den befehl ausführe
TelportID 1
nochmal ausführe
TeleportID 2 sollte reinCSS
Alles anzeigenmysql_GetInt("Teleport","TeleportID","TeleportID",??); //DER BEFEHL (ist jetzt nur zum testen grad da) ocmd:createtp(playerid,params[]) { if(pInfo[playerid][pAdminlevel] !=4) return SCM(playerid,ROT,"Du bist kein Admin!"); { new name[128],string[128],aname[MAX_PLAYER_NAME]; GetPlayerName(playerid,aname,sizeof(aname)); if(sscanf(params,"s",name)) return SCM(playerid,ROT,"Benutze: /createtp [ORTSNAME]"); new Float:pos[3]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); SendClientMessagef(playerid,BLAU,"Du hast den Teleport-Punkt zum %s erstellt. \nKoordinaten: X: %f\nY: %f\nZ: %f",name,pos[0],pos[1],pos[2]); format(string,sizeof(string),"[AdmMsg]: Der Admin %s hat den Teleport-Punkt %s erstellt!",aname,name); ABroadCast(ROT,string,1); mysql_GetInt("Teleport","TeleportID","TeleportID", format(query, sizeof(query), "INSERT INTO Teleport VALUES('', '%s', '%s', '%s', '0')", ...); mysql_query(query); mysql_SetString("Teleport","Ort",name,"TeleportID","1"); mysql_SetString("Teleport","Admin",aname,"TeleportID","1"); mysql_SetFloat("Teleport","X",pos[0],"Ort",name); mysql_SetFloat("Teleport","Y",pos[1],"Ort",name); mysql_SetFloat("Teleport","Z",pos[2],"Ort",name); return 1; } }
-
Wie stelle ich jetzt beim Kauf des 4 fest, dass es schon 3 Gibt?
Hmm, naja, eigentlich genügt hier eine temporäre Variable:
C
Alles anzeigennew tmp; //Und dann da wo du dein Auto kaufst: if(tmp >= sizeof(lspd)) return ....; //Hier wurde die maximale Anzahl an Autos schon gekauft! lspd[tmp++] = CreateVehicle(...); //Aber theoretisch kann man das auch mit einer Funktion machen, falls alte Autos gelöscht werden sollten: //Da wo du das Auto kaufst: new x = GetFreeSlost(); if(x == -1) return ....; //Hier wurde die maximale Anzahl an Autos schon gekauft! lspd[x] = CreateVehicle(...); //Die Funktion: stock GetFreeSlot() { for(new i; i<sizeof(lspd); i++) if(!lspd[i]) return i; return -1; }
-
ich sitze in der zwickmühle
Das ist keine kleine Scripting Frage, das siehst du schon an der Länge des Codes. Erstelle bitte einen Thread und poste dort auch die Informationen, wie du die gespeicherten Werte aus der Datenbank ausliest, um sie zu verwenden, davon hängt nämlich ab, wie man das machen muss.