Also ich schließe mich da den anderen an, jedoch würde ich dir davon abraten, da es eigentlich unnötig ist und zudem noch sehr unübersichtlich meiner Meinung nach!
Wenn du jedoch unbedingt damit arbeiten willst rate ich dir dazu den Datentyp float zu verwenden und nicht irgendwelche strings aus tausenden integer-Werten zusammenzusetzen!
mfg Eric
Beiträge von Erich96
-
-
Hallo, ich bin gerade an meinem Tankstellen-System, welches ganz besonders werden soll!
und zwar möchte ich die Textur dieser Anzeige:
so verändern, das der tatsächliche Spirtpreis darauf angezeigt wird! Was dann so aussehen soll "Nur als Beispiel!":
Das dürfte ja theoretisch per SetObjectMaterialText möglich sein, jedoch verändert sich wenn ich das mache die Textur überhaupt nicht, wäre nett wenn mir mal jemand eine Zeile als Beispiel schreiben könnte!
mfg Eric Weber
-
Also ganz einfach!
Unter OnPlayerStateChange fragst du ab:
if(newstate == PLAYER_STATE_DRIVER) // Bedeutet soviel wie ist der Spieler jetzt Fahrer eines Fahrzeuges!
Dann brauchst du eine For-Schleife die das Array von Fahrzeugen durchläuft! Ich weiß ja leider nicht wie es in deinem Script heißt sonst könnte ich es dir besser beschreiben! Ich nehme einfach mal einen erfundenen Namen!
for(new i; i< sizeof(FAHRZEUGE); i++) //Wir erstellen eine Zählvariable Namens i! FAHRZEUGE ist das Array mit den Fraktionsautos! Fahrzeuge muss dann mit dem jeweiligen Array der Fahrzeuge für die jeweilige Fraktion ersetzt werden!
{
if(PlayerInfo[playerid][pFraktion] == 1) //Wieder ein erfundenes Array, musst du halt auf deine Fraktionsabfrage anpassen! Wir überprüfen ob der Spieler in der jeweiligen Fraktion ist!
{
return 1; //Wenn ja dann geben wir den Wert true zurück! Der Spieler kann einsteigen!
}
else
{
RemovePlayerFromVehicle(playerid);
return 1;
}
}Hoffe du hast alles verstanden!
mfg Eric -
Nein der Abstand vom return ist falsch! Es müsste schon unter dem BLA stehen! Wenn es so einen Abstand hat führt das manchmal zu warnings.
ALSO NICHT
BLA
return 1;sonder
BLA
return 1; -
Gut, dann guck mal ob das enum über der Variable Spieler erstellt wird! Und das mit dem eingerückt mein ich so
BLABLABLA
return 1;statt:
BLABLABLA
return 1;wenn das so aussieht wie oben rück es so ein wie unten!
//EDIT Eingerückt
-
Also ich schätze mal das die returns falsch eingerückt sind und das das enum spieler_daten nicht existiert! Es sollte über dem new Spieler[... etwas geben was ungefair so aussieht! Das mit dem #define mach mal wieder weg sonst gibts wieder Fehler! ;D
enum spieler_daten{ VARIABLE }
mfg Eric
//EDIT Bezeichnung abgeändert + was hinzugefügt!
-
Ich danke dir! Genau das habe ich gesucht!
-
Also ich habe jetzt eine Zahl z.B. 176
Dann möchte ich die Minuten ausrechen! Das wären ja dann 2, weil 176/60. Aber den Rest der dabei entsteht, also die 56 möchte ich dann in eine Variable für die Sekunden einlesen! Dann das dann rauskommt: Minuten: 2 Sekunden: 56 -
Moin,
ich möchte eine Zeit, die im Script in Sekunden angegeben ist in Minuten und Sekunden umrechen!Dazu habe ich bisher das hier gemacht!
new mins,seks;mins = PlayerInfo[playerid][pFriedhofZeit]/60;Nur wird mir jetzt logischerweise nur die zeit in Minuten ausgegeben! Wie kann ich den Rest berechnen?
mfg Eric Weber
-
Ja das wollte ich ja machen aber wenn ich das ~b~ jetzt vor den Integer-Wert setze ist der ja komplett blau "~b~d" ich will ja nur die letzte Zahl blau haben!
Und das mit der Formatzeile hab ich so gemacht damit ich nicht immer if(km<10 && km>=0)... machen muss. -
Moin,
ich habe eben einen neuen Tacho für mein Script geschrieben, welcher auch den Kilometerstand enthält!
Mein Problem: Ich habe jetzt z.B. auf meinem Tacho stehen: KM: 000024
Jetzt will ich das die 4 blau ist! Geht das auch ohne das ich den String komplett auseinander nehme und ihn wieder zusammensetze?
Hier mein Code bis jetzt:#define KMSTELLEN (6)
new string[256];
format(string,sizeof(string),"Km: %0"#KMSTELLEN"d",km);
TextDrawSetString(TachoKM[playerid], string);//Edit: Eingerückt!
//Edit: [pwn] will mal wieder nicht! -
Ja kann man herausfinden! Es ist aber wie schon genannt keine Seite etc. verfügbar wo man einfach copy&paste machen kann! Du musst mit dem Filterscript was bei 0.3e dabei war [heißt attachments oder so] für jeden Skin die Koordinaten jeweils individuell herausfinden. Das dauert schon seine Weile aber das Ergebnis ist meist wirklich sehr lohnenswert!
Tipp: Speicher dir die Coords in einem Array ab, darauf kannst du dann sehr leicht zugreifen oder könntest schnell eine Methode schreiben die dir die Koordinaten zurück gibt...lg Eric!
-
Kann eig nicht daran liegen aber ich mache immer lieber anstatt if(response==0)
if (response==1) einfach if(response) oder if(!response) nur mal so als Tipp! Aber an deinem Code ist eigentlich nichts falsch! Das buggt dann wahrscheinlich irgendwie! Kopier dein das Zeug aus OnDialogResponse mal an den Anfang von OnDialogResponse, klappt irgendwie manchmal danach!lg Eric
-
Vielleicht gefällt dir ja Mafia 2! Super Spiel wie ich finde und ein SA-MP ähnlicher Multiplayer wurde auch kürzlich dafür released! Habe ihn noch nicht getestet sieht aber sehr vielversprechend aus!
lg Eric
-
-
Nein, die Anzahl muss nicht definiert werden!
Aber es gibt ein Limit von Objekten die erstellt werden können, deshalb gibt es ja auch Streamer! Also kann es sein das du die maximale Anzahl von Objekten schon erreicht hast!mfg Eric
-
Einfach konvertieren und dann ein Leerzeichen machen und in die Zeile z.B. wie eben schon genannt //IWAS
// ruft ein Kommentar auf, d.h. der Code dahinter wird von Programm ausgeschlossen!
Und wie du die Objekte nachträglich noch trennen kannst? Das können wir nicht wissen! Mach einfach mehrere kleine Maps un kennzeichne sie dir im Script, so behältst du den Überblick!mfg Eric;)
-
Ich glaube er meint das so, dass nur eine bestimmte Fraktion das Tor oder Auto benutzen kann!
Welches Script hast du denn? Dann kann ich es dir erklären! -
for(new playerid;playerid<MAX_PLAYERS;playerid++)
{
GANGAUTOHAUSTEXTDRAW[playerid] = TextDrawCreate(310.000000, 340.000000, " ");
TextDrawAlignment(GANGAUTOHAUSTEXTDRAW[playerid], 2);
TextDrawBackgroundColor(GANGAUTOHAUSTEXTDRAW[playerid], 255);
TextDrawFont(GANGAUTOHAUSTEXTDRAW[playerid], 3);
TextDrawLetterSize(GANGAUTOHAUSTEXTDRAW[playerid], 0.620000, 1.899999);
TextDrawColor(GANGAUTOHAUSTEXTDRAW[playerid], 16777215);
TextDrawSetOutline(GANGAUTOHAUSTEXTDRAW[playerid], 0);
TextDrawSetProportional(GANGAUTOHAUSTEXTDRAW[playerid], 1);
TextDrawSetShadow(GANGAUTOHAUSTEXTDRAW[playerid], 1);
TextDrawUseBox(GANGAUTOHAUSTEXTDRAW[playerid], 1);
TextDrawBoxColor(GANGAUTOHAUSTEXTDRAW[playerid], -1768515996);
TextDrawTextSize(GANGAUTOHAUSTEXTDRAW[playerid], 968.000000, 710.000000);
GANGAUTOHAUSTEXTDRAWKAUFEN[playerid] = TextDrawCreate(193.000000, 428.000000, "Kaufen");
TextDrawBackgroundColor(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], 255);
TextDrawFont(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], 3);
TextDrawLetterSize(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], 0.500000, 1.000000);
TextDrawColor(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], -1);
TextDrawSetOutline(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], 1);
TextDrawSetProportional(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], 1);GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid] = TextDrawCreate(370.000000, 428.000000, "verlassen");
TextDrawBackgroundColor(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], 255);
TextDrawFont(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], 3);
TextDrawLetterSize(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], 0.500000, 1.000000);
TextDrawColor(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], -1);
TextDrawSetOutline(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], 1);
TextDrawSetProportional(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], 1);GANGAUTOHAUSTEXTDRAWLINKS[playerid] = TextDrawCreate(158.000000, 375.000000, "<--");
TextDrawBackgroundColor(GANGAUTOHAUSTEXTDRAWLINKS[playerid], 255);
TextDrawFont(GANGAUTOHAUSTEXTDRAWLINKS[playerid], 3);
TextDrawLetterSize(GANGAUTOHAUSTEXTDRAWLINKS[playerid], 0.529999, 1.600000);
TextDrawColor(GANGAUTOHAUSTEXTDRAWLINKS[playerid], -1);
TextDrawSetOutline(GANGAUTOHAUSTEXTDRAWLINKS[playerid], 1);
TextDrawSetProportional(GANGAUTOHAUSTEXTDRAWLINKS[playerid], 1);GANGAUTOHAUSTEXTDRAWRECHTS[playerid] = TextDrawCreate(438.000000, 375.000000, "-->");
TextDrawBackgroundColor(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], 255);
TextDrawFont(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], 3);
TextDrawLetterSize(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], 0.529999, 1.600000);
TextDrawColor(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], -1);
TextDrawSetOutline(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], 1);
TextDrawSetProportional(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], 1);
TextDrawSetSelectable(GANGAUTOHAUSTEXTDRAW[playerid], false);
TextDrawSetSelectable(GANGAUTOHAUSTEXTDRAWKAUFEN[playerid], true);
TextDrawSetSelectable(GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid], true);
TextDrawSetSelectable(GANGAUTOHAUSTEXTDRAWLINKS[playerid], true);
TextDrawSetSelectable(GANGAUTOHAUSTEXTDRAWRECHTS[playerid], true);
}stock EnterGangautohaus(playerid, frak)
{
frak = frak-1;
new world = 999-playerid;
SetPlayerVirtualWorld(playerid, world);
SendClientMessage(playerid, COLOR_GREEN, "WELCOME");
SetPlayerPos(playerid, GANGAUTOHAUSENTER-10);
TogglePlayerControllable(playerid, 0);
TEMPCARID[playerid] = GangKauflist[frak][0];
TEMPCAR[playerid] = CreateVehicle(TEMPCARID[playerid], GANGAUTOHAUSLOOKAT,GANGAUTOHAUSROTATION,TEMPCOLOR1[playerid],TEMPCOLOR2[playerid],-1);
SetVehicleVirtualWorld(TEMPCAR[playerid],world);
SetPlayerCameraPos(playerid,GANGAUTOHAUSCAMPOS);
SetPlayerCameraLookAt(playerid,GANGAUTOHAUSLOOKAT);
new string[200];
format(string,sizeof(string),"~r~Fraktions-Autohaus~n~ ~n~ ~w~%s~n~Preis: %i~g~$~n~ ~n~ ~n~ ~n~ ~n~",GetVehicleName(TEMPCARID[playerid]),GetVehiclePrice(TEMPCARID[playerid]));
TextDrawSetString(GANGAUTOHAUSTEXTDRAW[playerid],string);
TextDrawShowForPlayer(playerid,GANGAUTOHAUSTEXTDRAW[playerid]);
TextDrawShowForPlayer(playerid,GANGAUTOHAUSTEXTDRAWKAUFEN[playerid]);
TextDrawShowForPlayer(playerid,GANGAUTOHAUSTEXTDRAWVERLASSEN[playerid]);
TextDrawShowForPlayer(playerid,GANGAUTOHAUSTEXTDRAWLINKS[playerid]);
TextDrawShowForPlayer(playerid,GANGAUTOHAUSTEXTDRAWRECHTS[playerid]);
SelectTextDraw(playerid, 0x00FF00FF);
INGANGAUTOHAUS[playerid] = 1;
GANGAUTOHAUSINDEX[playerid] = 0;
return 1;
}//EDIT Sorry ging wiedermal mit [pwn] nicht!
-
Moin Leute,
ich will meine Auswahl für die Autohäuser mal auf eine neue Art machen! Und zwar mit auswählbaren TextDraws
habe ich auch soweit hinbekommen! Nur wenn ich über die TextDraws fahre sind manchmal einfach alle oder 3 oder 2 ausgewählt obwohl ich nur über einem bin!Hier mal ein Screen:
Hoffe ihr könnt mir da helfen! Mfg Eric