Moin,
ich weiß nicht ob ich diese Frage hier stellen kann, aber ich mach es einfach mal
Würdet ihr empfehlen, dass man die Funktionen in externe PWN Scripte schreibt oder alles in einem Gamemode?
Mit freundlichen Grüßen
XonarZ
Moin,
ich weiß nicht ob ich diese Frage hier stellen kann, aber ich mach es einfach mal
Würdet ihr empfehlen, dass man die Funktionen in externe PWN Scripte schreibt oder alles in einem Gamemode?
Mit freundlichen Grüßen
XonarZ
Modulares scripten ist zwar anfangs garnicht so einfach, und man muss sich daran gewöhnen, aber erst recht wenn du vorhast auch noch andere Programmiersprachen als PAWN zu lernen, ist ein modularer Aufbau von deinem Gamemode eine gute Idee.
Ich selbst habe damit auch gerade erst angefangen, es macht aber wirklich auch manches einfacher, man weiß sofort, wo was ist.
Aber versuch am besten lieber selber mal ob du das so lieber machst oder doch beim normalen Scripten in einer einzelnen Datei bleibst.
Kommt halt drauf an. Ich habe alles in einen geschrieben. Lediglich z.b. Maps via filterscript eingebunden um Maps im laufenden Betrieb zu aktualisieren ohne Neustart.
enum ArenaDaten {
arena_name[64],
arena_weaponid,
arena_armour,
arena_currentplayer,
arena_maxplayer,
arena_vworld,
};
new Arena[MAX_ARENAS][ArenaDaten] = {
{"Eine Im Lauf", 24, 0, 0, 5, 100},
{"Hardcore", 24, 1, 0, 10, 101},
{"Team - Deathmatch", 24, 1, 0, 5, 102},
{"Eine Im Lauf", 24, 0, 0, 5, 103};
};
arena_vworld,
Da muss das Komma weg, wenn es die letzte Variable im Enum ist.
Aber wäre auch hilfreich wenn wir wissen würden, welche Zeile genau jetzt 75 und welche 77 ist.
case DIALOG_MIETER_RAUS:
{
if(response)
{
if(strval(inputtext))
{
new pID = strval(inputtext);
new string[128];
if(!Spieler[pID][pLoggedIn])return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE);
format(string, sizeof(string), "{FFFFFF}Du hast den Spieler mit der {33AA33}%d {FFFFFF}ID rausgeworfen.", strval(inputtext));
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "{FFFFFF}Du wurdest von{33AA33}%s {FFFFFF}rausgeworfen.", GetName(playerid));
SendClientMessage(pID, COLOR_WHITE, string);
Spieler[pID][pHouseKey] = INVALID_HOUSE_KEY;
}
}
}
Alles anzeigen
Hey,
Habe kurz eine frage warum kann ich keine ID 0 rauswerfen obwohl ich sonst alle kicken kann außer die ID 0
if(strval(inputtext))
Deswegen.
Was ist das überhaupt für eine Abfrage?
Das sagt halt eigentlich, es wird nur ausgeführt, wenn der inputtext true bzw. 1 ist, deswegen geht 0 auch nicht, da 0 false ist. Einfach diese Abfrage entfernen.
Um herauszufinden ob die Eingabe eine Zahl ist benutze:
stock IsNumeric(string[]){
for (new i = 0, j = strlen(string); i < j; i++){
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}
Wie kann ich einem Befehl mehrere Namen zuweisen?
Das man z.B. rep und fixveh eingeben kann
benutzte OCMD wenn es wichtig ist
Du kannst mit OCMD folgendermaßen mehrere Befehle zuweisen:
Funktioniert meines Wissens nach mit beliebig vielen Commands. Demnach musst du aber auch die Anzahl der von dir vorgegebenen Befehle hinter dem @ definieren.
@Jake_Jackson
Kennt jemand ein Filterscript/Include welches eine Funktion wie z.b. GetVehicleType hat? Ich möchte dass man mit dem Fahrzeug Befehl, nur Autos, Bikes und Helikopter spawnen kann. Ich könnte so eine Liste auch selbst machen, aber das wurde bestimmt schon irgendwo mal erstellt.
Kennt jemand ein Filterscript/Include welches eine Funktion wie z.b. GetVehicleType hat? Ich möchte dass man mit dem Fahrzeug Befehl, nur Autos, Bikes und Helikopter spawnen kann. Ich könnte so eine Liste auch selbst machen, aber das wurde bestimmt schon irgendwo mal erstellt.
Meints du sowas ? oder
new aVehicleNames[212][] ={
{"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"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 1"},{"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"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"},{"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 LA"},{"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 Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},{"Trailer 3"},{"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"}
};
new InvalidVehicles[][] ={
{403},{406},{407},{417},{425},{430},{432},{435},{441},{444},{447},{449},{450},{460},{464},{465},{469},{476},{487},{488},{497},{501},{511},{512},{513},{514},{515},{519},{520},{532},{537},{538},{539},{544},{548},{553},{556},{557},{563},{564},
{569},{570},{577},{584},{590},{591},{592},{593},{594},{601},{606},{607},{608},{610},{611}
};
Ja genau das mein ich, danke.
Hey,
Wie frage ich am besten ab ob die Bank von 21:30 bis 6 UHR morgens geschlossen hat?
Meinst du die echte Uhrzeit?
Wenn ja dann;
new stunde, minute, sekunde;
gettime(stunde, minute, sekunde);
if(stunde > 21 && minute > 30 || stunde >= 22)
{
//Bank geschlossen
}
else if(stunde >= 6)
{
//Bank geöffnet
}
Der Code wird um z.B. 4 Uhr gar nichts machen, passt also nicht ganz.
Daher:
new h, m, s;
gettime(h, m, s);
if((h < 6) || (h > 21) || (h == 21 && m >= 30))
{
//Bank geschlossen
}
else
{
//Bank geöffnet
}
Hi wollte gerade mein Müllsack System etwas ändern un einen 3DText Hinzufügen, doch dabei kommen diese Fehler:
warning 213: tag mismatch: expected tag "Text3D", but found none ("_")
warning 213: tag mismatch: expected tag "Text3D", but found none ("_")
warning 213: tag mismatch: expected tag none ("_"), but found "Text3D"
Diese Fehler kommen in diesem Code:
if(IsValidDynamic3DTextLabel(MuellPickup[MuellSackSpawn[y]])) DestroyDynamic3DTextLabel(MuellPickup[MuellSackSpawn[y]]);
MuellPickup[MuellSackSpawn[y]] = CreateDynamic3DTextLabel("{FFFF6E}[Müllsack]{FFFFFF}\nBenutze LALT", FARBE_WEIS,MuellPickups[MuellSackSpawn[y]][0], MuellPickups[MuellSackSpawn[y]][1],
MuellPickups[MuellSackSpawn[y]][2], 12.0);
Hoffe ihr könnt mir Helfen
Mfg Basti
Hoffe ihr könnt mir Helfen
Wie hast du denn MuellPickup und MuellSackSpawn deklariert?