http://wiki.sa-mp.com/wiki/CreateObject
da steht alles über createobject, die render distanz wäre dann dort die drawdistanz, die du auf maximal 300 einheiten einstellen kannst
http://wiki.sa-mp.com/wiki/CreateObject
da steht alles über createobject, die render distanz wäre dann dort die drawdistanz, die du auf maximal 300 einheiten einstellen kannst
du müsstest RangNamen[8][8] zu RangNamen[9][8] machen und oben noch eine zeile mit z.b. NixName einfügen, da die array größe (also wie hier das da -> [8]) nicht bei 1 anfängt sondern bei 0
also in deinem fall sehe das dann so aus:
new RangNamen[9][8] = {
{"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}
{"Praktikant", "Auszubildender", "Fußgängerstreife", "Motorradstreife", "Streifenpolizist", "Spezialeinheit TS", "Stellv. Polizeidirektor", "Polizeidirektor"}, // Polizei - Hier ist der error
{"Praktikant", "Auszubildender", "Hilfsarzt", "Assistenzarzt", "Notarzt", "Oberarzt", "Stellv. Direktor", "Direktor"}, // Notarzt
{"Praktikant", "Auszubildender", "Hilfskraft", "Assistent", "Straßenräumdienst", "Allg. Räumdienst", "Stellv. Direktor", "Direktor"}, // Ordnungsamt
{"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Redaktionsleiter", "Redaktionsleiter"}, // Nachrichtendienst
{"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Direktor", "Direktor"}, // Fahrschule
{"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 1
{"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 2
{"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"} // Terroristen
};
Semikolon nicht vergessen
ah richtig, danke
"forward ClearChatbox(playerid,lines)" einfach oben ins script rein
du liest den spielernamen aus:
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
dann überprüfst du mit strcmp ob der spielername, dem namen entspricht, dem der skin zugeordnet ist:
if(classid == 167 && strcmp(name,"Atze_Cj",true))
{
return SendClientMessage(playerid,0xFFFFFFFF,"Du bist nicht Atze_Cj!");
}
MfG
SmD
den input aus dem dialog mit dini abspeichern:
dini_Set(spielerdatei,"Geburtsdatum",inputtext);
so sollte es jedenfalls funktionnieren
ist der pfad zur spielerdatei richtig?
du brauchst dafür keine pvar. Es gibt da die funktion ForceClassSelection die automatisch nach dem tod in die charakterauswahl geht
Hi Community,
ist es möglich, das "Zielscheiben-Objekt" mit der ID 1586, welches man aus der Ammunation Shooting-Range im Singleplayer kennt, zerbrechlich zu machen. Denn wenn ich das Objekt in die map einfüge und drauf schieße zerbricht es nicht, sondern ist nur als ganzes Objekt da. Hab ich das falsche Objekt? Geht das nur anders per Script? Oder geht es überhaupt nicht? Schon mal vielen Dank im Vorraus.
Mit freundlichen Grüßen
SmD
also ich hab das jetzt mal so probiert:
new deinstring[256],var1,var2,var3;
format(deinstring,sizeof(deinstring),"05.04.2005");
sscanf(deinstring,"p<.>iii",var1,var2,var3);
printf("%i %i %i",var1,var2,var3);
aber der output in der konsole hat immer gesagt, dass in den variablen "0" drin steht
Hi zusammen,
ich hätte eine frage zu sscanf und zwar ob es möglich ist z.b. bei einem datum, wie "05.04.2005", mit sscanf so zu spliten
dass ich am ende die einzelnen zahlen hab.
mfg
SmD
Versuch mal, indem du den freeze kurz wieder weg machst, ihn dann ins auto setzt und den freeze dann wieder an machst. bei mir hats gefunzt
PlayerPlaySound(TargetID,5201,0,0,15);
muss
PlayerPlaySound(TargetID,5201,0,0,0);
heißen, denn nur wenn alle coords 0 sind wird der sound abgespielt, egal wo der player ist
oben ins script:
new bool:finden[MAX_PLAYERS],
findplayer[MAX_PLAYERS],
findsek[MAX_PLAYERS];
forward FindenTimer(playerid,zielid);
der ocmd command und die public für den timer:
ocmd:finde(playerid,params[])
{
if(finden[playerid] == true) return SendClientMessage(playerid,0xFF0000FF,"Du hast den Spieler schon gefunden!");
new ziel;
if(sscanf(params,"i",ziel)) return SendClientMessage(playerid,0xFFFFFFFF,"Info: /finde [playerid]");
finden[playerid] == true;
findsek[playerid] = 0;
SetTimerEx("FindenTimer",1000,0,"ii",playerid,ziel);
return 1;
}
public FindenTimer(playerid,zielid)
{
if(finden[playerid] == false) return 1;
new Float:x,Float:y,Float:z;
if(findsek[playerid] == 0)
{
GetPlayerPos(zielid,x,y,z);
SetPlayerCheckpoint(playerid,x,y,z,6);
SendClientMessage(playerid,0xFFFFFFFF,"Du hast den Spieler gefunden!");
findsek[playerid]++;
}
else if(findsek[playerid] > 0 && findsek[playerid] < 10)
{
GetPlayerPos(zielid,x,y,z);
SetPlayerCheckpoint(playerid,x,y,z,6);
findsek[playerid]++;
}
else if(findsek[playerid] == 10)
{
DisablePlayerCheckpoint(playerid);
findsek[playerid] = 0;
finden[playerid] = false;
}
SetTimerEx("FindenTimer",1000,0,"ii",playerid,zielid);
return 1;
}
Oben im Script:
new adminveh[MAX_PLAYERS];
bei onplayercommandtext:
if(!strcmp(cmdtext,"/smobil",true))
{
if(Spieler[playerid][AdminLevel] < 1) return (playerid,0xFF0000FF,"Dein Admin-Level reicht nicht aus!");
if(GetVehicleModel(adminveh[playerid]) > 0)
{
DestroyVehicle(adminveh[playerid]);
SendClientMessage(playerid,0xFFFFFFFF,"Du hast dein Admin-Fahrzeug zerstört!");
}
else
{
new Float:posx, Float:posy, Float:posz, Float:angle;
GetPlayerPos(playerid,posx,posy,posz);
GetPlayerFacingAngle(playerid,angle);
adminveh[playerid] = CreateVehicle(457,posx,posy,posz+1,angle,1,1);
PutPlayerInVehicle(playerid,adminveh[playerid],0);
SendClientMessage(playerid,0xFFFFFFFF,"Du hast dir ein Admin-Fahrzeug gespawnt!");
}
return 1;
}
und unter onplayerdisconnect:
DestroyVehicle(adminveh[playerid]);
das ganze muss natürlich noch an dein admin-system angepasst werden
ja kann man, indem man einfach einen neuen dialog macht
bei punkt 1 solltest du jeweils das:
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt");
durch das ersetzen:
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
du hast zwar gesagtt, dass er dort eine variable einsetzen soll, aber nicht welche
du kannst den command auch in 2 zeilen schreiben, also z.b. so:
format(ahelpstring,sizeof(ahelpstring),
"{C0C0C0}Ab Supporter Lv.1 :\n\n{FFF2F2}/tickets\n{FFF2F2}/accepteinweisung\n{FFF2F2}/saveall\n{FFF2F2}/settutorial\n{FFF2F2}/deleteallnagelband\n{FFF2F2}/acceptsupport\n{FFF2F2}/closesupport\n{FFF2F2}/deletesupport\n{FFF2F2}/vehinfo\n{FFF2F2}/warn\n{FFF2F2}/kick\n{FFF2F2}/mute\n{FFF2F2}/say\n{FFF2F2}/fixveh\n{FFF2F2}/goto\n{FFF2F2}/gethere\n{FFF2F2}/tele\n{FFF2F2}/veh\n{FFF2F2}/aduty\n{FFF2F2}/noooc\n{FFF2F2}/clearchat\n{FFF2F2}/rcar\n{FFF2F2}/website\n{FFF2F2}/destroyveh");
ich hoffe die zeile ist dann kurz genug.
ich denke du kannst das auch unter OnVehicleRespray machen.
du überprüfst ob der spieler 100$ auf der hand hat, wenn ja dann schreibt er in der spielerdatei -100$ wenn nicht dann nicht