Schonmal probiert es über die Konsole vielleicht aus zu geben?
Beiträge von pierre65
-
-
Ich glaube er meint eine Art Radio wie z.b. HitBox24 (Online Radio ebend)...
-
Versuch es mal wenn du in deiner Datei einen Zeilenumbruch mit \r\n machst
Bin mir gerade nicht sicher ob Dini überhaupt Zeilenumbrüche erkennt bzw. wertet. -
Ich habs über
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
Und das funktioniert problemlos.... Aber ich lasse den Motorstatus über Variablen speichern.
Im SA-MP Wiki find ich auch keine GetVehicleParam Funktion (http://wiki.sa-mp.com/wiki/GetVehicleParamsEx würde sonst bei ähnliche Befehle drin stehen ^^), nutzt du eine Include oder hast du die Funktion selbst geschrieben? -
Öhm... wüsste derzeit keine Möglichkeit.
Aber so gehts ja auch...
Musst nur mit ner For Schleife das überprüfen. -
Kannst du denn deine Maus bewegen?
Ist das Textdraw weiß? -
Nutz statt 1 und 0 einfach:
0 = VEHICLE_PARAMS_OFF
1 = VEHICLE_PARAMS_ON
Sollte so funktionieren... -
Dann mach
new memberskin[MAX_FRAKS][membskin]
zu:
new memberskin[][membskin]// Edit: Erklärung: Du erstellst die Variable memberskin mit einem index von MAX_FRAKS (19) und kannst in der variable auch nur 19 Einträge vornehmen, wenn du [] benutzt soviele wie du willst und wenn du deine Variable memberskin mal gezählt hast kommt der Fehler nach der 19. Variable (indem fall das von MAX_FRAKS)
-
Ausführen würde er folgenden MySql Befehl:
SQLINSERT INTO `privatautos`(`Spielername`,`Name`,`modelid`,`Nummernschild`,`AutoLeben`,`PrivatAutoPosX`,`PrivatAutoPosY`,`PrivatAutoPosZ`,`PrivatAutoPosA`,`Farbe1`,`Farbe2`)VALUES('%s','%s','%i','1000.00','%f','%f','%f','%f','2','2') `Paintjob`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`)VALUES('0','0','0','0','0','0','0','0','0','0','0','0','0','0')
Wäre kein gültiger SQL Befehl....
Lass im ersten format (query) einfach alle spaltennamen rein lesen also:
format(query, sizeof query, "`Spielername`,`Name`,`modelid`,`Nummernschild`,`AutoLeben`,`PrivatAutoPosX`,`PrivatAutoPosY`,`PrivatAutoPosZ`,`PrivatAutoPosA`,`Farbe1`,`Farbe2`,`Paintjob`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`");
Im query2 speicherst du alle Values dazu, die es gibt:
format(query2,sizeof query2, "'%s','%s','%i','1000.00','%f','%f','%f','%f','2','2','0','0','0','0','0','0','0','0','0','0','0','0','0','0'", /* Hier auch noch deine Variablen einsetzen... */);
Und senden tust du das ganze mit
mysql_query("INSERT `privatautos` (%s) VALUES (%s)", query,query2);Sollte danach funktionieren
-
kaufauto = CreateVehicle[AutosZumVerkauf[modelid],AutosZumVerkauf[PosX],AutosZumVerkauf[PosY],AutosZumVerkauf[PosZ],-1,-1);
Was solln das machen???
Statt ( hast du [ benutzt, daran liegts...// Edit: Der andere Error entseht durch
CreatePickup(pickupid,1,Autohaus[PosX],Autohaus[PosY],Autohaus[PosZ],-1);
Du hast die Variable "pickupid" nicht generiert. -
371 = {7, 17} würde eigentlich nicht gehen, da man ja immer {value,value} machen muss
also wenn 371 der Skin ist dann: [7,371], [7,17}
Wenn das so in deinem System ist ...
Und am Ende hast du einfach nur 401 = ... das musst du dann entfernen
Oder auch ebend eine Fraktion geben {id,401} -
new memberskin[MAX_FRAKS][membskin] = {
{0, 23}, //Zivilist
{1, 265}, //LSPD Member
{1, 266}, //LSPD Member
{1, 267}, //LSPD Member
{2, 282}, //SFPD Member
{2, 284}, //SFPD Member
{3, 287}, //Army Member
{3, 179}, //Army Member
{4, 274}, //Medic Member
{4, 275}, //Medic Member
{4, 276}, //Medic Member
{5, 124}, //LCN Member
{5, 111}, //LCN Member
{5, 112}, //LCN Member
{6, 126}, //Yakuza Member
{6, 186}, //Yakuza Member
{6, 203}, //Yakuza Member
{6, 204}, //Yakuza Member
371 = {7, 17}, //Regierung Member // <-------------- Da ist glaub auch der fehler?
{7, 164}, //Regierung Member
{7, 165}, //Regierung Member
{8, 294}, //Hitmen Member
{8, 299}, //Hitmen Member
{9, 186}, //San News Member
{10, 7}, //Taxi Member
{10, 188}, //Taxi Member
{10, 253}, //Taxi Member
{11, 11}, //Fahrschule Member
{11, 172}, //Fahrschule Member
{11, 171}, //Fahrschule Member
{12, 269}, //Grove Street Member
{12, 270}, //Grove Street Member
{12, 271}, //Grove Street Member
{13, 102}, //Ballas Member
{13, 103}, //Ballas Member
{13, 104}, //Ballas Member
{14, 115}, //Scarfo Member
{14, 116}, //Scarfo Member
{15, 286}, //FBI Member
{15, 163}, //FBI Member
{15, 164}, //FBI Member
{15, 166}, //FBI Member
{16, 26}, //Terroristen Member
{16, 33}, //Terroristen Member
{16, 67}, //Terroristen Member
{17, 285}, //SWAT Member
{18, 50}, //ADAC Member
{18, 42} //ADAC Member
401 = }; // Ich glaube da hast du was falsch? -
Pass diesen Befehl an deine Variablen an und gut ist... Funktioniert super,
es gibt nämlich 2 Möglichkeiten in einem bestimmten Gebiet zu sein, da es -/+ Koordinaten gibt
public IsPlayerInGebiet(playerid) {
new var = -5;
for(new i=0;i< sizeof Gebiete;i++) {
new Float:GetX,Float:GetY,Float:GetZ;
GetPlayerPos(playerid,GetX,GetY,GetZ);if( GetX <= Gebiete[i][gMinX] && GetX >= Gebiete[i][gMaxX] ) {
if ( GetY <= Gebiete[i][gMinY] && GetY >= Gebiete[i][gMaxY] ) { var = i; }
}if( GetX >= Gebiete[i][gMinX] && GetX <= Gebiete[i][gMaxX] ) {
if ( GetY >= Gebiete[i][gMinY] && GetY <= Gebiete[i][gMaxY] ) { var = i; }
}
}
return var;
} -
Was MinX meint ist das:
if(strcmp(cmdtext,"/motor")==0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,Rot,"Du sitzt in keinem Fahrzeug!");
if(GetPlayerVehicleID(playerid) == 481 || GetPlayerVehicleID(playerid) == 509 || GetPlayerVehicleID(playerid) == 510) return SCM(playerid,Rot,"Ein Fahrrad hat keinen Motor...");
new vehicle;
vehicle = GetPlayerVehicleID(playerid);
new Float:vHealth;
if(GetVehicleParam(vehicle,MOTOR)==0)
{
if(GetVehicleHealth(vehicle,vHealth)>500)
{
//Wenn Fahrzeug unter 500 HP hat
SCM(playerid,Rot,"Dein Fahrzeug ist zu kaputt um es zu starten! Lasse es reparieren.");
return 1; // Wär unnötig, da die Schleife danach so oder so aufhört...
}
else
{
//Wenn Motor aus
SCM(playerid,Grau,"Du versuchst den Motor zu starten...");
SetVehicleParam(vehicle,MOTOR,1); //Motor anschalten
SCM(playerid,Blau,"Motor gestartet!");
return 1; // Wär genau so unnötig, da die Schleife danach so oder so aufhört...
}
}
else if(GetVehicleParam(vehicle,MOTOR)==1)
{
//Wenn Motor an
SetVehicleParam(vehicle,MOTOR,0); //Motor anschalten
SCM(playerid,Blau,"Motor abgeschaltet.");
}
return 1; // <-------------------- fehlt
} -
Dann überprüfst du beim Motor Befehl ebend ob das Auto ein Totalschaden hat, wenn ja startet Motor ebend nicht...
Außerdem kannst du das überprüfen ob das Auto unter 35% hat und dann auf 35% zurücksetzen -
Nope nur bei Connect (SettimerEx) und bei Disconnect (KillTimer) und halt die Variable erstellen, damit der Server weiss welchen Timer er killen muss
-
Das was ich postet habe funktioniert so:
Spieler connected -> Timer wird gestartet der alle 60 Sekunden die funktion Payday mit dem Parameter "playerid" übergibt.
Spieler disconnected -> Timer wird wieder gekillt damit keine weiteren Punkte dazu kommen.
Musst einfahc nur noch überprüfen ob Payday == 60 ist^^
Und ja das wars schon... Payday System ist eig. schon recht simple. -
// Unter Includes:
new payday[MAX_PLAYERS];public OnPlayerConnect(playerid) {
payday[playerid] = SetTimerEx("PayDay", 60000, 1, "i", playerid);
return 1;
}public OnPlayerDisconnect(playerid) {
KillTimer(payday[playerid]);
return 1;
}// Edit: etwas vergessen -_-
-
Upps sorry das hab ich gerade garnicht beachtet, hab das jetzt einfach so aus Gefühl her raus geschrieben.
Aber danach sollte es eigentlich funktionieren, da wo <= 35 steht ist die %-Zahl ab wann das Auto einen "Totalschaden" hat,
also wo der Motor nicht mehr angehen "würde". -
Nein ist kein Bug, du musst die Transparenz etwas Geringer machen... Das ist die Farbe hinten FF
0x00FF00FF = Grün ohne Transparenz (kann auch passieren das die Map grün wird)
0x00FF00BB = Etwas durchsichtig (sollte eigentlich dann nicht mehr passieren)
Nutz den SAMP Colorpicker kann ich nur empfehlen.