weil die variable vehicle schon einmal global derfiniert ist mach einfach aus vehicle einfach vID oder etwas ähnliches
Beiträge von Aspire
-
-
versuch mal mit einem blancen(leeren) gamemode ob es klappt, wenn ja dann liegts an deinem gammode
-
mach mal ganz oben noch:
new vehicle[212][] = {
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perennial", "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", "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", "Hotring Racer", "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 Truck", "Nevada", "Yosemite", "Windsor", "Monster",
"Monster","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RCTiger",
"Flash","Tahoma","Savanna", "Bandito", "Freight", "Trailer", "Kart", "Mower",
"Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley",
"Stafford", "BF-400", "Newsvan","Tug","Trailer","Emperor","Wayfarer","Euros",
"Hotdog", "Club", "Trailer", "Trailer","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","Luggage Trailer","Stair Trailer", "Boxville", "Farm Plow",
"Utility Trailer"
};und dann so
if(IsAnOwnableCar(vehicleid))
{
format(string,sizeof(string),"Das ist ein %s (%d) BESITZER: %s",vehicle[GetVehicleModel(vehicleid)-400], vehicleid, CarInfo[vehicleid][cOwner]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
} -
wenn string nicht definiert ist mach:
new string[128];if(IsAnOwnableCar(vehicleid))
{
new string[128];
format(string,sizeof(string),"Das ist ein %s (%d) BESITZER: %s",vehicle, vehicleid, CarInfo[vehicleid][cOwner]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
} -
-
der compiler ersetzt das definierte wort gegen die zahl die man angegeben hat an jeder stelle im script beim compilen. GetMaxplayers hat aber keinen wert weil es eine funktion ist und deshalb schmiert er ab. Du könntest aber
new SERVER_MAX_PLAYERS = GetMaxPlayers();
machen
Bin mir net ganz sicher -
if(strcmp("/duty",cmdtext,true)==0)
{
if(Spieler[playerid][team] == 4)
{
SetPlayerColor(playerid,0x5E2B00FF);
SendClientMessage(playerid,0x00FFFAFF, "Du bist jetzt on duty");
}
return 1; //hier return 1;
}Weil wenn du kein return 1; hinsetzt läuft der code bei onplayercommandtext weiter und ganz unten steht return 0; und wenn onplayercomandtext 0 returnt dann kommt die meldung unknow command
-
ich kann dir diese tut empfehlen [ SCRIPTING ] Commands mit Parametern
da ist sscanf,dcmd und zcmd erklärps. strcmp ist keine cmdform sondern wird verwendet um 2 strings zu vergleichen.
-
hast du die dcmd cmds in OnPlayerComandText?
Bei dcmd muss es so sein:
OnPlayerCommandText(...)
{
dcmd(aheal,5,cmdtext);
dcmd(akill,5,cmdtext);
dcmd(firstaid,8,cmdtext);
//und immer so weiter
return 0;
}
//die cmds selbst kommen dann ausserhalb von Publics irgendwo im gamemode
dcmd_aheal(playerid, params[])
{
new id;
if (strlen(params))
{
id = strval(params);
if (IsPlayerAdmin(playerid))
{
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00D7FFFF, "Information: Du wurdest von einem Admin geheilt.");
SendClientMessage(playerid, 0x00D7FFFF, "Information: Der gewählte Spieler wurde geheilt.");
}
else
{
SendClientMessage(playerid, 0xA0A0A0FF, "** Der gewählte Spieler befindet sich nicht auf dem Server.");
}
}
else
{
SendClientMessage(playerid, 0xA0A0A0FF, "Benutzung:/aheal [Name/ID des Spielers]");
}
}
else
{
SendClientMessage(playerid, 0xA0A0A0FF, "** Du bist kein Administrator.");
return 1;
}
//und hier dann immer weiterwieso benutzt du nicht sscanf?
-
ne die lösung würd ich nicht empfehlen. die schleife müsste 2000 mal durchlaufen werden. Hier mal ein beispiel cmd.
OnPlayerComandText...
if(strcmp(cmdtext,"infernus",true)==0)
{
new vID,pos[3];
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
vID = CreateVehicle(411,pos[0],pos[1],pos[2],90,-1,-1,-1);
PutPlayerInVehicle(playerid,vID,0);
return 1;
//nicht getestet müsste aber klappen
} -
new vID;
vID=CreatVehicle(...); -
hast du versucht den lcd manager neu zu installieren?
Ich hatte bei meiner g19 noch nie solche striche auf dem lcd vll ein produktions fehler bei deiner g19? -
if/* Wenn*/(strcmp/* eingegeben wird */("/killme"/* Der Command /killme */,cmdtext /* Also Command */,true /*Es ist also ein Command*/))
fail. http://wiki.sa-mp.com/wiki/Strcmp
strcmp vegleicht 2 strings
killme der 1 string mit dem der cmdtext(2ter strin (das ingame eingegebene)) verglichen wird.
das true gibt an obs case sensitiv is, Wenns true ist dann ist hAlLo das selbe wie hallo wenn false dann nicht.
Ich bin mir nicht sicher aber der command müsste auch ausgeführt werden wenn man irgendwas anderes eingibt, es müsste so sein:
if(strcmp("/killme",cmdtext ,true )==0)//==0 wenn die strings identisch sind
dann man kann die cmds nicht überall hinschreiben zumindest nicht die, die du erklärt hast, sie müssen in onplayercommandtext stehen
wenn man selbst nicht weiß was man macht dann sollte man keine tuts für anfänger machen die lesen das 1mal und denken das es stimmt.
von mir mal 3/10 weil ich den rest nicht gelesen habe -
mir fällt jetzt nur ein das man das si macht:
if(die ersten 10 abfragen)
{
}
else if(die nächsten 10 abfragen)
{
}
}/e was geändert am code
-
hier der ist empfehlens wert http://forum.sa-mp.com/showthread.php?t=102865
-
Zeig mal wie die objekte im script erstellt werden
Wenns CreateDynamicObject ist versuchs mal mit dem plugin streamer von inkognito http://forum.sa-mp.com/showthread.php?t=102865
-
Versuchs mal so:
oben hin:
new Time,Timer
forward TIMER()dann einen cmd ich nehm mal zcmd:
CMD:countdown(playerid,params[])
{
new String[60];
if(sscanf(params,"i",Time))return SendClientMessage(playerid,FARBE,"Benutze: /countodwn [1-300] !");
format(String,sizeof(String),"Du hast den Countdown auf %i sekunden gesetzt",Time);
SendClientMessage(playerid,FARBE,String);
Timer = SetTimer("TIMER",1000,1);
return 1;
}Dann die Public
public TIMER()
{
new Text[60];
if(Time == 0)
{
KillTimer(Timer);
//was dann passieren soll wenn die zeit vorbei ist
}
else
{
Time--;
format(Text,sizeof(Text),Noch %i,Time);
GameTextForAll(Text,1000,5);
}
return 1;
}es ist nicht getestet
/e etwas am code geändert -
Ich glaub strtok kann nur einen parameter "rausholen". Für CMDs mit mehr als 1nem parameter muss du dcmd,zcmd oder was es noch so gibt mit sscanf benutzen
-
wenn du was lernen möchtest und kein copy und past machen willst, [ SCRIPTING ] GUI Login/Register System
-
naja nicht ganz onplayerSpawn wird bei jedem sterben ausgeführt. Stimmen die kordinaten auch? Spawnen nicht admins richtig?