Zwischen 21 und 24 Millisekunden laut GetTickCount()
[ Ich weiß ich bin Hobbylos ]
Beiträge von EvilToastBrot
-
-
Danke Haxler
Da war ne Fehlerhafte Datei in der Stand Model 0 drinne.
Deshalb hats immer abgebrochen, danke
Kann geclosed werden. -
Wenn dann CarNames[GetVehicleModel(PlayerCar[i][vid])-400]
Nicht das du da was falsch verstehst, i ist NICHT die VehicleID.
Und das will auch nicht -
danfai: Die wird in LoH Standartgemäß mit dem Spielernamen und OnPlayerCommandText belegt.
LoRdCrUnChEr: Das "Server: Unknown Command" kommt warscheinlich daher, da dann 0 returnt wird. Und mit 2 mal return 1; löst sich das auch nicht [ getestet ]
Kevin: Moment ich probiers mal
Nostraa: Dann ist aber ein Parameter zu wenig
Wie danfai gesagt hat ist das die Anzahl des Fahrzeuges.
//Edit: Kevin: Nein funktioniert nicht.
-
Ne Zunno das passt bei mir schon alles so und von DT_Cars will ich schonmal garnichts wissen
danfai:enum car_info
{
model,
Float:px,
Float:py,
Float:pz,
Float:pa,
vid,
Key[MAX_PLAYER_NAME],
c1,
c2,
Text3D:NS,
ABC[15],
Fuel,
NSID,
BuyPrice,
Lock,
Nitro,
Hyd,
Wheel,
Auspuff,
SeiteL,
SeiteR,
FB,
RB,
Spoiler,
Roof,
Hood,
Vent,
Lamp,
Paintjob,
JobCar,
FrakCar,
Job,
Frak,
Dist
}
new PlayerCar[MAX_VEHICLES][car_info]; -
-
Ne, is der einzige Befehl mit dem Namen /cars und das SendClientMessage(playerid, Grey, "{D0D6D1}|~~~~~~ {22D63D} Deine Fahrzeuge{D0D6D1} ~~~~~~|"); wird ja noch angezeigt.
-
Oder wenn es dich nicht zuspammen soll:
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i=1;i<MAX_HAUS;i++)
{
if(HausInfo[i][haus_pickup] == pickupid)
{
new s[100];
format(s,100,"Besitzer: %s, Preis: %d$",HausInfo[i][haus_besitzer],HausInfo[i][haus_preis]);
SendClientMessage(playerid,0x00FF00,s);
return 1;
}
}
return 1;
} -
Hö?
Die Funktion hab ich doch schon in 0.3a benutzt?
Die gibts doch schon seit Ewigkeiten oder? -
Tag
Mache einen /cars Befehl wo alle Cars angezeigt werden, die man besitzt.if(!strcmp("/cars", cmdtext, true))
{
new strr[60];
SendClientMessage(playerid, Grey, "{D0D6D1}|~~~~~~ {22D63D} Deine Fahrzeuge{D0D6D1} ~~~~~~|");
new countr = 1;
for(new i = 0; i<MAX_VEHICLES; i++)
{
format(strr, sizeof strr, "/Cars/%d.ini", i);
if(fexist(strr))
{
if(!strcmp(PlayerCar[i][Key], sendername, false))
{
new str[128];
format(str, sizeof str, "Fahrzeug: %d: %s, ID: %d", countr, CarNames[PlayerCar[i][model]-400], PlayerCar[i][NSID]);
SendClientMessage(playerid, Grey, str);
countr++;
}
}
}
if(countr == 1) SendClientMessage(playerid, Grey, "Du besitzt kein Fahrzeug!");
return 1;
}Zum Problem:
Ich will ja den Fahrzeugname anzeigen mit dem CarNames in
format(str, sizeof str, "Fahrzeug: %d: %s, ID: %d", countr, CarNames[PlayerCar[i][model]-400], PlayerCar[i][NSID]);
Aber das will irgendwie nicht. Errors/Warnings keine, aber wenn ich im Game /cars mache steht dort: "SERVER: Unknowm Command."
Habe jetzt rausgefunden, dass diese Zeile den Befehl /cars komplett beendet. Der Rest läuft garnicht mehr durch.
Hier das new CarNames:new CarNames[212][] = {
"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 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", "Boxvillde", "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 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", "Dune", "Sweeper", "Broadway",
"Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
"Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)",
"Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
"Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer"
};Bitte helft mir ich verzweifel gleich
-
6,5/10, netts Tutorial, hab sogar was gelernt dabei
Bevor wieder welche rumflamen weil sie kein sscanf haben hier der Link:
-
Das hier is aus LoH, musste noch umschreiben:
forward Float:GetDistanceBetweenPlayers(p1,p2);
forward GetClosestPlayer(p1);
public GetClosestPlayer(p1)
{
new x,Float:dis,Float:dis2,player;
player = -1;
dis = 99999.99;
for (x=0;x<MAX_PLAYERS;x++)
{
if(IsPlayerConnected(x))
{
if(x != p1)
{
dis2 = GetDistanceBetweenPlayers(x,p1);
if(dis2 < dis && dis2 != -1.00)
{
dis = dis2;
player = x;
}
}
}
}
return player;
}
public Float:GetDistanceBetweenPlayers(p1,p2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
{
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}// Unter OnPlayerCommandText
if(strcmp(cmd, "/tazer", true) ==0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3|| PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
{
if(OnDuty[playerid]==0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Du kannst das nicht benutzen während du im Fahrzeug sitzt!");
return 1;
}
new suspect = GetClosestPlayer(playerid);
if(IsPlayerConnected(suspect))
{
if(PlayerCuffed[suspect] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist schon getazed!");
return 1;
}
if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
{
if(IsPlayerInAnyVehicle(suspect))
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einem Fahrzeug! Bringe in zuerst raus!");
return 1;
}
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du wurdest von %s getazert! Du liegst für 15 Sekunden flach!", sendername);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du hast %s niedergestreckt.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s nimmt seinen Elektroschocker raus und streckt %s nieder.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(suspect, "~y~Getazert!", 3000, 3);
TogglePlayerControllable(suspect, 0);
PlayerCuffed[suspect] = 1;
PlayerCuffedTime[suspect] = 15;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Niemand ist in deiner Nähe!");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter!");
}
}
return 1;
}Jetzt müsstest du es aber hinbekommen.
-
Wie soll den das funktionieren Darklight?
Der Varibale pID wird doch nirgends ein Wert zugewiesen.
GetClosestPlayer ist die Lösung.
Schau mal ins LoH Script da is sowas drinne. -
Du musst dem Script die PlayerID auch mittteilen, sonst bleibt pID 0 und dann wird immer ID 0 getazert.
if(GetPVarInt(playerid,"Leader") == 1 || GetPVarInt(playerid,"Member") == 1)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
new string[280], pID;
{ // Für was geht hier ne klammer auf? :O Is doch garkein if oder so.
if(IsPlayerConnected(pID))
{
if(IsPlayerInRangeOfPoint(playerid,6,x,y,z))
{
TogglePlayerControllable(pID,0);
format(string,sizeof string,"~b~Taze\n~r~Du ~r~wurdest ~r~getazert");
GameTextForPlayer(pID,string,4000,3);
SetTimer("Tazertime",10000,0);
}
}
} // und hier wieder zu? :O
} -
Und was wars jetzt?
-
2 Logische Fehler:
dcmd_aod(playerid,params[])
{
new pID,grund[128];
if(Player[playerid][admin] <= 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");} // Sonst würde es nur ab Adminrank 3 funzen nicht wie dort steht ab Rank 2
if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [ID] [Grund]"); // /aod hat 2 Parameter
new str[128],adm[MAX_PLAYER_NAME];
GetPlayerName(pID,adm,sizeof(adm));
format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
SendClientMessageToAll(FarbeGruen,str);
return 1;
} -
Ja oke dann mach das [64] weg.
//Edit: ==>
new pID,grund[64];
if(sscanf(params,"us",pID,grund)) -
1. Seh ich da kein SendClientMessageToAll
2. Schau mal in der Server Log ob du einen sscanf Warning hast ( nur bei version 2 ) -
new pID,grund[64];
if(sscanf(params,"us[64]",pID,grund)) ..Muss man bei sscanf v1 auch schon die Stringgröße hinschreiben? Gibts doch erst sein Version 2
-
Dann ist die } aber immernoch zu viel
//Edit: @ pS: Er wollte es nicht definieren. Ist aber durch die } pawn so vorgekommen.