Hast den Editor mal als Admin gestartet?!
Ja, auch schon neu runtergeladen etc. Alles zwecklos.
Hast den Editor mal als Admin gestartet?!
Ja, auch schon neu runtergeladen etc. Alles zwecklos.
Hallo Breadfish
Kann mir bitte einer sagen wie man einen reflektiven Boden scriptet? Wird das auch mit SetObjectMaterial gemacht oder eher nicht??
Beispiel Bild: https://www.bilder-upload.eu/bild-0d18d3-1582348166.jpg.html
MFG
Ja glaube schon. Aber empfehle dir den Ingame Map Editor. Du musst das nur hinmapppen und den Material per Mausklicks setzen, exportieren und den Code findest du in einer Datei
Also soweit ich weiß ein kleiner Geheimnis von einem mapper der mappt z.b. Ein interior und den boden macht er aus glas und mappt das nochmal spiegelverkehrt unter der map dann sieht das so reflektiert aus. Eine Textur dafür habe ich auch noch nie gesehen.
Danke iTsMaho so geht es danke
Du kannst das nicht in der normalen Welt machen, bitte map dein ganzes Mapping nicht Spiegelverkehrt unter dem Boden. Damit verschwendest du nur die max. streambaren Objekte.
Schau dir das Video an, dort wird es ganz einfach erklärt.
Achso ok verständlich. Ich danke dir
Weißt jemand vlt welche Sound ID die doppelte Klinge ist??
Es gibt ja einmal die Normale als Hitsound wenn man trifft aber ich würde gerne die doppelte Klinge als Kill Hitsound scripten.
MFG
Moin habe nen kleines Problem mit sscanf. Vielleicht hat da ja einer von euch ne Lösung.
Ich habe ein Command zum Spawnen von Fahrzeugen:
CMD:veh(playerid, params[]) {
if(!IsAdmin(playerid, 4)) return NO_PERM;
new vName[18];
if(sscanf(params, "s[18]", vName)) return Usage("Benutzung: /veh [Vehicle Name]");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_INFO, "Fehler: Du darfst in keinem Fahrzeug sein!");
new string[128], vID = GetVehicleModelIDFromName(vName), Float:Pos[4];
if(vID < 400 || vID > 611) return SCM(playerid, COLOR_INFO, "Fehler: Das Fahrzeug wurde nicht gefunden!");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
format(string, sizeof(string), "> Du hast dir erfolgreich das Vehicle: %s gespawnt!", VehicleName(vID));
SCM(playerid, COLOR_INFO, string);
new veh = CreateVehicle(vID, Pos[0], Pos[1], Pos[2], Pos[3], 211, 211, -1, 1);
SetVehicleNumberPlate(veh, "ADMIN");
PutPlayerInVehicle(playerid, veh, 0);
format(string, sizeof(string), "VEH | %s (%i) WERT NEU: %s (%i) POS: (%0.1f | %0.1f | %0.1f | %0.1f)",
GetName(playerid), playerid, vName, vID, Pos[0], Pos[1], Pos[2], Pos[3]);
Log("cmd_log", string);
return 1;
}
GetVehicleModelIDFromName(vname[]) {
for(new i = 0; i < 211; i++) {
if(strfind(VehicleNames[i], vname, true) != -1)
return i + 400;
}
return -1;
}
Alles anzeigen
Dort habe ich bei Zeile 4 (sscanf Abfrage) das Problem, das ich eine String Länge 's[18]' angeben muss, sonst bekomme ich einen Fehler.
sscanf warning: Strings without a length are deprecated, please add a destination size.
Wenn ich jedoch eine Länge angebe bekomme ich den Fehler das der Befehl nicht gefunden wurde. (Ich nehme an weil die 18 nicht erreicht wurde, sondern ich nur 'inf' eingegeben habe.)
Hat hier jemand eine Lösung, wo mein Fehler ist?
Lade mal crashdetect und schau, was dir da so ausgegeben wird
(das s[18] schön drinnen lassen xD)
Lade mal crashdetect und schau, was dir da so ausgegeben wird
[13:36:50] [debug] Run time error 4: "Array index out of bounds"
[13:36:50] [debug] Attempted to read/write array element at negative index -400
[13:36:50] [debug] AMX backtrace:
[13:36:50] [debug] #0 00011af0 in ?? (411) in xxx
[13:36:50] [debug] #1 0000ebac in public cmd_veh (0, 302220) in xxx
[13:36:50] [debug] #2 native CallLocalFunction () in samp-server.exe
[13:36:50] [debug] #3 0000052c in public OnPlayerCommandText (0, 302184) in xxx
OnPlayerCommandText benutze ich nicht, da ich ZCMD nutze.
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
if(!success) {
new string[132];
format(string, sizeof(string), "Fehler: Der Befehl '%s' wurde nicht gefunden!", cmdtext);
return SCM(playerid, COLOR_INFO, string);
}
return 1;
}
public OnPlayerCommandReceived(playerid, cmdtext[]) {
if(!IsLogged(playerid)) {
SCM(playerid, COLOR_INFO, "Fehler: Du bist nicht eingeloggt!");
return 0;
}
return 1;
}
Alles anzeigen
ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_TABLIST_HEADERS, "Teammitglieder online","Faction ID\tName\tOnline",result,"OK", "");
ShowPlayerDialog hat nur 7 Parameter, du hast 8.
Schau dir mal hier an, wie man die Tablist Headers verwendet: https://wiki.sa-mp.com/wiki/Dialog_Styles
OnPlayerCommandText benutze ich nicht, da ich ZCMD nutze.
ZCMD greift trotzdem auf den Callback OnPlayerCommandText zu und verteilt über CallLocalFunction die Commands
Der Fehler liegt glaube ich in GetVehicleModelIDFromName.
Dort fragst du VehicleNames[i] ab, kann es sein, dass das ein Makro ist?
Würdest du mal zeigen, wie das definiert ist?
Würdest du mal zeigen, wie das definiert ist?
new VehicleNames[][] =
{
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
"Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
"Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
"Esperanto", "Taxi", "Washington", "Bobcat", "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", "ZR-350", "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", "Cropduster", "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", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
"Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
"Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
"Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
"News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
"Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
"Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
"Tiller", "Utility Trailer"
};
Alles anzeigen
VehicleName(vID)
Ahhh und wie ist das definiert? :3
Ahhh und wie ist das definiert? :3
Hab ich grade rausgenommen und durch
#define GetVehicleName(%0) VehicleNames[GetVehicleModel(%0) - 400]
ersetzte, geht aber beides net
geht aber beides net
Alsooo wie sieht dein Code jetzt aus und was sagt crashdetect?
Alsooo wie sieht dein Code jetzt aus und was sagt crashdetect?
Also nochmal
#define GetVehicleName(%0) VehicleNames[GetVehicleModel(%0) - 400]
new VehicleNames[][] =
{
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
"Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
"Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
"Esperanto", "Taxi", "Washington", "Bobcat", "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", "ZR-350", "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", "Cropduster", "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", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
"Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
"Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
"Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
"News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
"Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
"Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
"Tiller", "Utility Trailer"
};
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
if(!success) {
new string[132];
format(string, sizeof(string), "Fehler: Der Befehl '%s' wurde nicht gefunden!", cmdtext);
return SCM(playerid, COLOR_INFO, string);
}
return 1;
}
public OnPlayerCommandReceived(playerid, cmdtext[]) {
if(!IsLogged(playerid)) {
SCM(playerid, COLOR_INFO, "Fehler: Du bist nicht eingeloggt!");
return 0;
}
return 1;
}
CMD:veh(playerid, params[]) {
if(!IsAdmin(playerid, 4)) return NO_PERM;
new vName[18];
if(sscanf(params, "s[18]", vName)) return Usage("Benutzung: /veh [Vehicle Name]");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_INFO, "Fehler: Du darfst in keinem Fahrzeug sein!");
new string[128], vID = GetVehicleModelIDFromName(vName), Float:Pos[4];
if(vID < 400 || vID > 611) return SCM(playerid, COLOR_INFO, "Fehler: Das Fahrzeug wurde nicht gefunden!");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
format(string, sizeof(string), "> Du hast dir erfolgreich das Vehicle: %s gespawnt!", GetVehicleName(vID));
SCM(playerid, COLOR_INFO, string);
new veh = CreateVehicle(vID, Pos[0], Pos[1], Pos[2], Pos[3], 211, 211, -1, 1);
SetVehicleNumberPlate(veh, "ADMIN");
PutPlayerInVehicle(playerid, veh, 0);
format(string, sizeof(string), "VEH | %s (%i) WERT NEU: %s (%i) POS: (%0.1f | %0.1f | %0.1f | %0.1f)",
GetName(playerid), playerid, vName, vID, Pos[0], Pos[1], Pos[2], Pos[3]);
Log("cmd_log", string);
return 1;
}
GetVehicleModelIDFromName(vname[]) {
for(new i = 0; i < 211; i++) {
if(strfind(VehicleNames[i], vname, true) != -1)
return i + 400;
}
return -1;
}
/* CRASHDETECT */
[15:16:15] [debug] Run time error 4: "Array index out of bounds"
[15:16:15] [debug] Attempted to read/write array element at negative index -400
[15:16:15] [debug] AMX backtrace:
[15:16:15] [debug] #0 0000ef60 in public cmd_veh (0, 302964) in x.amx
[15:16:15] [debug] #1 native CallLocalFunction () in samp-server.exe
[15:16:15] [debug] #2 0000052c in public OnPlayerCommandText (0, 302928) in x.amx
Alles anzeigen
GetVehicleName(vID)
Ja, der clue ist, vID hier ist nicht die vehicleID, sondern die modelid.
Und du fragst von der modelid die modelid ab xD
Du musst das direkt nutzen, ohne das GetVehicleModel