Das sowieso nicht, nach 8 Stunden Arbeit und gefühlten 300 Beiträgen mehr im Forum, gucke ich nicht mehr meinen Thread an, außer er ist noch offen. Goldkiller hast du ein Tutorial zu der print Methode zur Fehlersuche? Kenne mich da noch nicht so aus.
[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
-
-
[...], außer er ist noch offen.
Ist er doch. Keine Gute Ausrede ;).ZitatGoldkiller hast du ein Tutorial zu der print Methode zur Fehlersuche? Kenne mich da noch nicht so aus.
Signatur ( Debugnachrichten ). -
Klappt das So??
Ich habs noch nicht getestet bin mir aber ziemlich unsicher
new ServerCars[MAX_CARS][ServerVeh];
for(new i;i<MAX_CARS;i++)
{
ServerCars[i][carID] = Fcar_Get(i,"carID");
ServerCars[i][carX] = Fcar_Get(i,"PosX");
ServerCars[i][carY] = Fcar_Get(i,"PosY");
ServerCars[i][carZ] = Fcar_Get(i,"PosZ");
ServerCars[i][carA] = Fcar_Get(i,"PosA");
ServerCars[i][Color1] = Fcar_Get(i,"C1");
ServerCars[i][Color2] = Fcar_Get(i,"C2");
ServerCars[i][Numplate] = Fcar_Get(i,"Numplate");
CreateVehicle(ServerCars[i][carID],ServerCars[i][carX],ServerCars[i][carY],ServerCars[i][carZ],ServerCars[i][carA],ServerCars[i][Color1],ServerCars[i][Color2],-1);
}
es klappt nicht weiß einer wiso?
das habe ich oben#define MAX_CARS 500
enum ServerVeh
{
carID,
Float:carX,
Float:carY,
Float:carZ,
Float:carA,
Color1,
Color2,
Numplate[50]
}er läd das car nicht aus der Tabelle
-
Fcar_get hast du nicht gepostet. Was wird dort zurückgegeben ? Überleg doch mal einen Schritt weiter, falls man dir helfen soll.
Falls es ein String / Array sein sollte,dann ist folgendes falsch:
new ServerCars[MAX_CARS][ServerVeh];
for(new i;i<MAX_CARS;i++)
{
ServerCars[i][carID] = Fcar_Get(i,"carID"); // <- falsch,da kein Array
ServerCars[i][carX] = Fcar_Get(i,"PosX");// <- falsch,da kein Array
ServerCars[i][carY] = Fcar_Get(i,"PosY");// <- falsch,da kein Array
ServerCars[i][carZ] = Fcar_Get(i,"PosZ");// <- falsch,da kein Array
ServerCars[i][carA] = Fcar_Get(i,"PosA");// <- falsch,da kein Array
ServerCars[i][Color1] = Fcar_Get(i,"C1");// <- falsch,da kein Array
ServerCars[i][Color2] = Fcar_Get(i,"C2");// <- falsch,da kein Array
ServerCars[i][Numplate] = Fcar_Get(i,"Numplate");// <- richtig,da Numplate ein Array ist.Jede bezweifel ich,dass Fcar_Get ein Array der größte 50 zurück gibt
CreateVehicle(ServerCars[i][carID],ServerCars[i][carX],ServerCars[i][carY],ServerCars[i][carZ],ServerCars[i][carA],ServerCars[i][Color1],ServerCars[i][Color2],-1);
} -
Jap ich lad die Positionen etc ales via %s.....
Kein wunder das es nicht geht
-
wieso OnPlayerShootPlayer wenn es OnPlayerTakeDamage gibt ?
Kannst du mir helfen? Bin totaler Noob im Scripting.. :s
-
Der Public public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) wird aufgerufen wenn ein spielr z.B. angeschossen wird und schaden nimmt. Jetzt kannst du darin eine abfrage erstellen. Ich zeigs dr mal anhand von deinem Beispiel!
Public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
new Float:Armour;
GetPlayerArmour(playerid, Armour);
if(Armour >= 1)// Auch möglich ist glaube ich (Armour - amount >= 1) Dann würde der schuss schon mit abgezogen!
{
//leer, es soll alles so bleiben wie SA es vor sieht!
}
else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE && GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )//die Waffen die eingesetzt werden dürfen für den 'ONEHIT'
{
SetPlayerHealth(playerid, 0)//Player ist sofort Tod!
}
return 1;
}
[size=5]untested by Lego[/size]Tya das wäre meine Idee!
-
Bei mir passiert nichts mehr, wenn man mit einem für Transfender vorgesehen Waagen in die Werkstatt fährt. Woran kann das liegen? Wüsste nicht das ich da was ins Scripte gesetzt habe was ein Tuning verbietet.
-
kann man ein Enum mit einem Array vergleichen?
Warum ocmd? Warum andere?
Was genau macht PVarInt?
Danke
-
@Kloppo:
1.
Wie meinst du das?
Eine Art gleichung?
if(deinenum == anderevariable) oder wie?
2.
zcmd best3.
PVar = PlayerVariable
Int = Integer
ok?Und nun zu meiner Frage:
Ich bekomm hier einen Error (tag mismatch).
Ich kann mir schon etwas denken, weiß es aber trotzdem nicht.Hier:
format(textstring,sizeof(textstring),"**Blitzer**\nBlitzerID: %d\nBlitzradius: %d\nBlitzgeschwindigkeit: %d",PersonalBlitzerID[playerid],PersonalBlitzerRadius[playerid],PersonalBlitzerSpeed[playerid]);
text = Create3DTextLabel(textstring,ORANGE,X,Y,Z,PersonalBlitzerRadius[playerid],GetPlayerVirtualWorld(playerid));Die Variable ist ohne einen Array erstellt worden, aber wenn ich einen mache (Max_players 64 uw) kommt ein Error.
Ziel der Sache war:
Einen 3Dtext abzuspeichern.Habe das schon öfters gemacht, aber da kam nie ein Error :O
-
1. Ob ein Enum wie ein Array in php zum Beispiel funktioniert? Oder was genau ein Enum ist/macht.
2. ok
3. Das wusste ich aber, PVarInt wird nirgendswo gespiechert oder?
-
Hätte mal ne Frage!
SelectTextDraw Ist ja eine neue Funktion bei 0.3e Jetzt habe ich mir überlegt ein kleines Menü ähnlich wie das am Anfang beim Connecten für die Spawnauswahl.
War auch soweit kein größeres Problem aber wenn ich nun ESC Drücke ist es ja das gleiche als wenn ich CancelSelectTextDraw(playerid); eingebe
Das heißt der Spieler kann die Textdraws nicht mehr anklicken aber Sie stehen noch da... Wie bekomme ich es hin, das mit dem drücken auf ESC auch der Command TextDrawHideForPlayer(playerid, ClothesTextDone); kommt -
Das geht nicht
-
Verdammt.... Ist doch nen Verbesserungsvorschlag Wert
-
Soweit ich das irgendwann mal gelesen hab, löst der Druck auf ESC "OnPlayerClickTextdraw" mit der TextdrawID "INVALID_TEXTDRAW" aus, womit es doch möglich wäre.
Aber keine Garantie.
-
okay danke das probiere ich gleich mal melde mich dann wieder!
-
Hallo
Ich habe es wie in einem Video gemacht, mit dem spawn ändern!!
/save ..... hat auch funksoniert
habe es auch beiOnGameModeInit
AddPlayerClass .......eingefügt es geht aber nicht
Und noch was ich habe autos eingefügt kommt auch kein error.aber sie werden nicht angezeigt
Woran liegt dasSchon mal im vorraus Danke für die antworten
-
Soo schon mal vielen Dank an BloodyEric!
Ich habs jetzt mit nem einfachen Debug mal hinbekommen!
printf("clickedid = %d | Invalid_Text_Draw = %d", text:clickedid, text:INVALID_TEXT_DRAW);
Wenn ich dann ESC Drücke kommt da flogendes bei raus!
Somit lautet der Code um zu überprüfen ob ein Spieler die Auswahl verlässt:
else if (clickedid == Text:INVALID_TEXT_DRAW)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Abbrechen");
TextDrawHideForPlayer(playerid, ClothesTextNext);
TextDrawHideForPlayer(playerid, ClothesTextPrev);
TextDrawHideForPlayer(playerid, ClothesTextDone);
CancelSelectTextDraw(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) - playerid);
FreezePlayer(playerid, 1);
OnPlayerShowClothes(playerid, showclothes[playerid], 5);// reset
showclothes[playerid] = 0;
}das funktioniert auch einwandfrei
Danke nochmal!
-
Will auch antwort -.-
Bei Beitrag 5 886
-
Sry aber was benutzt du überhaupt fürn GM? Welches Video meinst du? Unter welchem Public hast du denn die Autos eingefügt?
Codes wären auch ganz gut. Ansonsten kannste dir die Hilfe abschmicken