Beiträge von dnlk
-
-
AddThousandsSeparators(number, const separator[] = ",")
{
new output[15];
format(output, sizeof(output), "%d", number);
for(new i = strlen(output) - 3; i > 0 && output[i-1] != '-'; i -= 3)
{
strins(output, separator, i);
}
return output;
} -
Das war in keinster weise Unfreundlich.
Kleinigkeiten wie dies hier könntest du in 10 sekunden lösen in dem du einfach mal auf http://www.google.de gehst und folgendes eingibst:
"SAMP Wiki #funktion_hier#", e.g. "SAMP Wiki GetPlayerIp".Wie du hier siehst ist das erste ergebnis genau das was du brauchst:
Und wenn du da jetzt drauf gehst wirst du in unter 1 minute herausfinden was du zu tun hast bzw. was du falsch gemacht hast.
-
[wiki]GetPlayerIp[/wiki]
// Enum:
pIPA[16]GetPlayerIp(playerid,SpielerInfo[playerid][pIPA],16);
Man kann auch selber mal ein bisschen nachdenken.
-
@SaschaLois
Probier es aus, sollte aber eigentlich funktionieren.k<vehicle> ist ein (k)custom specifier, der macht dir das ganze einfacher. Dadurch musst du nicht abfragen ob die angegebene ID wirklich ein fahrzeug ist etc. (Er nimmt auch Fahrzeugnamen an!)
-
@Paymon
Schwachsinn, d & i ist das selbe@SaschaLois
if(sscanf(params, "k<vehicle>I(-1)I(-1)I(0)", vId, col1, col2, sirene)) return SendClientMessage(playerid, COLOR_RED, "Verwende: /aveh [Fahrzeug ID] [Farbe 1(Optional)] [Farbe 2(Optional)] [Sirene (Optional)]"); -
if(fVehicle[fV][vehFraktion] == 3){if(GetVehicleModel(fVehicle[fV][vehID]) == 560){if(fVehicle[fV][vehFraktion] == 3){fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);}}else if(fVehicle[fV][vehFraktion] == 6){ //Funktioniert nichtif(GetVehicleModel(fVehicle[fV][vehID]) == 560){fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);}}else if(fVehicle[fV][vehFraktion] == 1){if(GetVehicleModel(fVehicle[fV][vehID]) == 560){fVehicle[fV][vehSiren1] = CreateDynamicObject(19620, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren2] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren3] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren4] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren5] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], -0.00160, 0.05440, 0.83080, 0.00000, 0.00000, 0.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren2], fVehicle[fV][vehID], 0.73560, 2.59780, -0.13790, 0.00000, 0.00000, 178.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren3], fVehicle[fV][vehID], 0.73560, 2.59780, -0.24890, 0.00000, 0.00000, 178.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren4], fVehicle[fV][vehID], -0.72440, 2.59780, -0.13990, 4.00000, 0.00000, 185.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren5], fVehicle[fV][vehID], -0.72440, 2.59780, -0.25090, 4.00000, 0.00000, 185.00000);}}}SetVehiclePos(fVehicle[fV][vehID], fVehicle[fV][vehPosX], fVehicle[fV][vehPosY], fVehicle[fV][vehPosZ]);SetTimerEx("SetVehicleZAngle", 5000, 0, "dd", fVehicle[fV][vehID], fVehicle[fV][vehPosA]);}return 1;}
Hey wen ich für Fraktion ID 3 ein Sultan erstelle wird die Sirene drauf gemacht.
Wen ich für die Fraktion ID 6 ein Sultan erstelle wird die Sirene nicht drauf gemacht.
if(GetVehicleModel(fVehicle[fV][vehID]) == 560)
{
if(fVehicle[fV][vehFraktion] == 3 || fVehicle[fV][vehFraktion] == 6)
{
fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);
}
else if(fVehicle[fV][vehFraktion] == 1)
{
fVehicle[fV][vehSiren1] = CreateDynamicObject(19620, 0, 0, 0, 0, 0, 0, 0);
fVehicle[fV][vehSiren2] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
fVehicle[fV][vehSiren3] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
fVehicle[fV][vehSiren4] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
fVehicle[fV][vehSiren5] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], -0.00160, 0.05440, 0.83080, 0.00000, 0.00000, 0.00000);
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren2], fVehicle[fV][vehID], 0.73560, 2.59780, -0.13790, 0.00000, 0.00000, 178.00000);
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren3], fVehicle[fV][vehID], 0.73560, 2.59780, -0.24890, 0.00000, 0.00000, 178.00000);
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren4], fVehicle[fV][vehID], -0.72440, 2.59780, -0.13990, 4.00000, 0.00000, 185.00000);
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren5], fVehicle[fV][vehID], -0.72440, 2.59780, -0.25090, 4.00000, 0.00000, 185.00000);
}
} -
kommt immernoch der gleiche Error.
format(string, sizeof(string), "|___________ Durchsage: %s ___________|", GetRankName(Spieler[playerid][pFraktion]));
Man kann auch mal ein bisschen selber nachdenken.
-
Nur mal zwei andere möglichkeiten die besser sind:
Falls du sscanf benutzt ( gehe ich mal stark von aus )
stock GetPlayerID(find[])
{
new playerid = INVALID_PLAYER_ID;
sscanf(find,"u",playerid);
return playerid;
}Falls nicht
stock GetPlayerID(find[])
{
new pName[MAX_PLAYERS];
for(new playerid, j = GetPlayerPoolSize(); playerid <= j; playerid++)
{
if(!IsPlayerConnected(playerid))
continue;
GetPlayerName(playerid,pName,sizeof(pName));
if(!strcmp(find,pName,false,strlen(find)))
return playerid;
}
return INVALID_PLAYER_ID;
}Warum GetPlayerPoolSize und nicht GetMaxPlayers bzw. MAX_PLAYERS ?
GetMaxPlayers gibt die maximale anzahl von spielern zurück, GetPlayerPoolSize gibt die derzeit höchste ID zurück. -
Zeile 13:
if(IsPlayerInRangeOfPoint(playerid, 3.0, 2177.3950,-983.2120,64.4688)){Zeile 41
f(IsPlayerInRangeOfPoint(playerid, 3.0, -2109.5037,-0.4467,34.8972)){Wird nicht geschlossen.
-
mit einzigartige Maps die selber erstellt wurden
Alle maps die du dort findest sind für jeden zugänglich.
es ist ein guter Preis für so ein kleines Script!
Für die wenige Arbeit kannst du keine 70€ verlangen.
Also überleg mal richtig nach bevor du sagst das 70€ zu viel dafür sind.
Überleg mal richtig bevor du einen kommentar ablässt. -
Denkst du nicht dass deine Preisvorstellung deutlich zu hoch angesetzt ist?
// Edit:
Zum thema "Schneller Map Loader":
Mess mal. -
for(new i; i < sizeof(LoginTextDraw[]); i++)
-
// Rote Box halb so groß wie der Monitor (640.0 * 0.5, 480.0 * 0.5) fängt an bei 25% von oben und 25% von links (640.0 * 0.25, 480.0 * 0.25)
// Das wäre die einfachste methode um es selber zu schreiben, benutz aber lieber einen Textdraw Editor.
new Text:Textdraw = TextDrawCreate(640.0 * 0.25, 480.0 * 0.25, "LD_SPAC:white");
TextDrawTextSize(Textdraw, 640.0 * 0.5, 480 * 0.5);
TextDrawColor(Textdraw, 0xFF0000FF);
TextDrawFont(Textdraw, 4);
TextDrawSetSelectable(Textdraw, true);
// ... //
SelectTextDraw(playerid, 0xFFFFFFFF);TextDrawTextSize repräsentiert die fläche die ausgewählt werden kann und weil es ein sprite ist auch die größe des sprites.
Benutz am besten diesen Textdraw Editor
-
Zitat
It is the TEXT which will be highlighted when hovered over, NOT the box (if one is shown).
Du musst dafür Sprites (LD_SPAC:white) nehmen.
-
-
-
Zitat
Using an invalid handle will crash your server!
Zeig mir mal wie du Log benutzt.
-
Nicht überlesen!
Benutze die Steam Version seit Jahren ohne probleme.
Der Crash den du meinst kommt wahrscheinlich von einem Update anfang des Jahres was glaube ich Musik entfernt hat. Den kannst du aber fixen indem du ein paar bestimmte Dateien löscht (weiß gerade nicht welche) -
Ersetz das und (&&) mit oder (| |)