Welche Waffe(n) hast du denn alle dabei, und welche hast du in der Hand wenn du einsteigst?
Hast du die Waffen noch, wenn du wieder aussteigst?
Beiträge von Jeffry
-
-
Die Funktion kannst du komplett löschen, es reicht, wenn du das hier unter die Includes schreibst:
new carNames[212][] = {"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
"Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
"Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
"Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
"Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
"Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
"Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
"Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
"Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
"Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
"Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
"Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
"Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
"Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
"Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
"Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
"Stair Trailer","Boxville","Farm Plow","Utility Trailer"};Zugriff so:
new string[32], idx = GetVehicleModel(GetPlayerVehicleID(playerid)) - 400;
format(string, sizeof(string), "Fahrzeug: %s", carNames[idx]);
PlayerTextDrawSetString(/*... ausfüllen ... */); -
new weapons, ammo;
new gun = GetPlayerWeaponData(playerid, 4, weapons, ammo);
Zu
new gun, ammo;
GetPlayerWeaponData(playerid, 4, gun, ammo); -
Ok.
Und wenn du es mit GetPlayerWeaponData versuchst? Was gibt der print dann aus? -
Falls es dich tröstet, in unserer Testinstallation vom WBB5 klappt alles hervorragend
Nice
EDIT:
Es geht jetzt wieder.
Vielen Dank!(Dafür zeigt es jetzt einige Bilder/GIFs nicht mehr an
)
-
Unter den Includes:
enum vehDefaultDataEnum {
e_fuelType,
e_maxFuel
};
#define FUEL_TYPE_DIESEL 0
#define FUEL_TYPE_BENZIN 1
#define FUEL_TYPE_ELEKTRO 2
//(...)new fuelName[][16] = {
"Diesel",
"Benzin",
"Elektro" //Der letzte Eintrag hat kein Komma am Ende.
};Darunter dann zusätzlich die Standartwerte, pro Model-ID:
new vehDefaultData[][vehDefaultDataEnum] = {
{FUEL_TYPE_DIESEL, 57}, //Model-ID 400
{FUEL_TYPE_ELEKTRO, 100}, //Model-ID 401
{FUEL_TYPE_DIESEL, 40}, //Model-ID 402
{FUEL_TYPE_BENZIN, 54}, //Model-ID 403
//(...)
{FUEL_TYPE_DIESEL, 39} //Model-ID 611
};
Dabei steht die erste Zeile für Model ID 400, dann 401, etc... bis 611.Zugriff auf die Daten dann beispielsweise so:
if(IsPlayerInAnyVehicle(playerid))
{
new string[128], modelid = GetVehicleModel(GetPlayerVehicleID(playerid)), idx = modelid-400;
format(string, sizeof(string), "Model-ID: %d / Tankart: %s / Tankgröße: %d", modelid, fuelName[vehDefaultData[idx][e_fuelType]], vehDefaultData[idx][e_maxFuel]);
SendClientMessage(playerid, 0xFF0000FF, string);
} -
Oh, also er will drive-by nutzen.
Auch das nur nicht komplett, sondern nur wenn die weaponid eine der vier genannten ist.
da es anscheinend ein Include bereits gibt (oder so code) der dafür sorgt, dass die Waffen entzogen werden.
Das kann durchaus sein, es kann aber auch sein, dass GetPlayerWeaponData (was bekanntermaßen ja nicht immer richtig funktioniert) einen falschen Wert zurückgibt.
Einfach mal abwarten, was der Debug Print ausgibt. -
aber wie mache ich das dass er mir bei diesem textdraw das Anzeigt
Setze das bei OnPlayerStateChange, wenn newstate == PLAYER_STATE_DRIVER (oder ggf. zusätzlich PLAYER_STATE_PASSENGER).
TextDrawSetString
Und nutze für sowas PlayerTextdraws, andernfalls kommst du schnell an das Limit der möglichen globalen Textdraws.
-
Machs doch einfach so:
Genau das will er ja nicht.
Wenn ich mit g in ein Fahrzeug steige verschwindet die Waffe die als Driveby verwendet werden soll.
Versuche es so:
if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
new gun = GetPlayerWeapon(playerid);
if(gun != 28 && gun != 29 && gun != 32 && gun != 31) SetPlayerArmedWeapon(playerid,0);
}
Falls das auch nicht geht, lasse dir mit einem print mal die Waffe ausgeben:
printf("gun: %d", gun); -
Was gibt denn die Nachricht im Chat aus?
-
Was genau funktioniert denn nicht?
Was passiert und was sollte passieren? -
Unknown column 'Bizbesitz' in 'field list
Das Feld Bizbesitz fehlt in der Tabelle user, das musst du anlegen.
-
Was sagt der Log?
-
Trage bei den unteren beiden 1 und 2 im Array ein, anstatt 0, sonst wird das erste immer wieder überschrieben.
Die Ausgabe musst du mit %s machen. -
Das Array muss so deklariert werden:
new Autohausauto1_name[ANZAHL_HIER][16];
Die 16 steht dabei für die maximale Länge des Namens.Und dann:
format(Autohausauto1_name[ 0 ], 16,"Hotring Racer A");Alternativ kannst du das auch über ein Array aller Fahrzeugnamen dynamisch regeln, über die ModelID. Je nach dem was du auch in den Namen schreiben willst.
-
Zwischen Perso und Alter fehlt ein Komma.
, `Perso`='0' `Alter`='15',Zu
, `Perso`='0', `Alter`='15', -
Dann musst du nochmal den aktuellen Log posten, wahrscheinlich ist dann noch ein Fehler drin.
-
Wenn kein Fehler mehr auftaucht, dann passt 400. Es darf gerne etwas mehr sein, muss aber nicht unnötig viel sein, also 1000 wäre zu viel. Es sollte in die Richtung gehen, die in etwa passt, und dann eben aufrunden.
Zwecks dem Geld:
Beim Speichern:
pInfo[playerid][pGeld]
Zu
GetPlayerMoney(playerid) -
Das solltest du erhöhen, da das gesamte Query am Ende natürlich trotzdem größer als 256 Zeichen ist, auch wenn du es in zwei Zeilen teilst.
-
else
Zu
else if(newstate == PLAYER_STATE_DRIVER && pInfo[playerid][pAutoschein] != 1)Oder die if-Bedingung teilen, und nur bei der Autoschein Abfrage dann den else Part nehmen.