Mach halt mal als else von der FraktionsAbfrage eine Message.
Dann siehste ja obs daran liegt.
Beiträge von ToastFighter
-
-
Ist halt die Frage ob man die sehen soll oder nicht
@midomen
-
Haus[hausid][PickupID] = CreatePickup((Haus[hausid][Gekauft])?1239:1273,1,Haus[hausid][Pos][0],Haus[hausid][Pos][1],Haus[hausid][Pos][2]);
was soll denn dieses ?1239:1273 bedeuten? Hab ich ja noch nie gesehen o.0
-
Ist das alles nur verrutscht oder Scriptest du wirklich so unsauber?
Kann da so rellativ wenig erkennen.
-
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{if(newkeys & KEY_FIRE) //Fragt ob er schießt
{
if(GetPlayerWeapon(playerid) == 24) //Fragt ab ob er eine Deagle hält
{
if(GetPlayerAmmo(playerid) == 1) //Fragt ab ob er nur noch 1Schuss hat.
{
SetPlayerArmedWeapon(playerid, 0); //Setzt die Faust als aktive Waffe.
SendClientMessage(playerid, 0x8C8C8CFF, "Du hast keine Munition mehr für die Deagle! Geh dir welche kaufen!");
return 1;
}
}
}
}Keine Ahnung ob er den schuss trotzdem abgibt. Nicht getestet.
-
Hier falls du den nicht hast:
http://download.chip.eu/de/SA-MP-Colorpicker_5625356.html
SA-MP Color Picker / Download von Chip
-
#define PremMaxVeh 4
#define MaxVEh 2und dann bei dem Buy-Befehl oder wie dus auch gemacht hast, abfragen ob der Spieler Prem ist, dementsprechend benutzt du entweder PremMaxVeh oder MaxVeh.
-
Du machst einfach einen Variable wie PayDayZeit[MAX_PLAYERS];
Und setzt in deinem PayDay - Timer dann jeweils die Variable für jeden Spieler um 1 hoch, es sei denn
die Variable ist = 60, dann setzt du diese wieder auf 0 und gibst dem Spieler seinen PayDay.Bei deinem Spieler Speichern Stock speicherst du ebenfalls die PayDayZeit[playerid] Variable in seine Datei.
-
Wie ist deine Speicherfunktion?
Dini ? MySQL?Bei Dini speicherst du beim Ausloggen den Skin in die PlayerDatei machst SpawnPlayer(playerid); um den Spieler spawnen zu lassen. Dann lädst du bei OnPlayerSpawn den Skin wieder aus der Datei und gibst ihm diesen mit SetPlayerSkin(playerid, dini_Int(...
-
zu 1)
Mach einen Timer und gib dem Vehicle dann immer wieder 1000Zustand.
zu 2)
http://wiki.sa-mp.com/wiki/SetVehicleVelocity_RO
(SetVehicleVelocity) -
Meinst du dass, wo du grade erst auf den Server verbindest, also die Sicht auf den Santa Maria Beach?
-
Ich nehme ab du arbeitest mit dini?
-
Er meint ein Spectate System.
Es gibt ein Standart Filterscript.
Dass kannst du dir mal angucken. -
Dann müsstest du es explodieren lassen, wartet bis es respawnt und dann das Auto wieder mit SetVehiclePos und SetVehicleZAngle an die Unfallstelle bringen.
new Float:UX[MAX_VEHICLES],Float:UY[MAX_VEHICLES],Float:UZ[MAX_VEHICLES],Float:UR[MAX_VEHICLES];
public OnVehicleSpawn(vehicleid)
{
SetVehiclePos(vehicleid, UX[vehicleid], UY[vehicleid], UZ[vehicleid]);
SetVehicleZAngle(vehicleid, UR[vehicleid]);
return 1;
}public OnVehicleDeath(vehicleid, killerid)
{
GetVehiclePos(vehicleid, UX[vehicleid], UY[vehicleid], UZ[vehicleid]);
GetVehicleZAngle(vehicleid, UR[vehicleid]);
return 1;
}Kommt drauf an was du dann mit dem Auto machen möchtest. Soll es kaputt sein oder soll es wieder komplett ganz sein?
-
forward CarCheckTimer();
OnGameModeInit()
{
SetTimer("CarCheckTImer", 2000, 1);
}public CarCheckTimer()
{
for(new i; i < MAX_VEHICLES; i++)
{
new Float:h;
GetVehicleHealth(i, h);
if(h < 250)
{
SetVehicleHealth(i, 251);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(i, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(i, 0, lights, alarm, doors, bonnet, boot, objective);
return 1;
}
return 1;
}
}Nicht getestet, müsste aber funktionieren.
Funktion:
Wenn der Zustand vom Auto kleiner als 250 ist (Also wenns brennt) wird der Zustand auf 251 gesetzt und der Motor wird aus gemacht.
Ist eine Explosion notwendig?
-
Du meinst dass die Reifen platzen oder dass, es explodiert, aber nicht respawnt?
-
if(LKPH >= VehicleMaxSpeed)
{
TogglePlayerControllable(i,0);
LUnFreeze = SetTimer("LuX_UnFreezeCar", 250, 1);
format(lstr,sizeof(lstr),"~g~MP/H: ~w~%d ~g~KM/H: ~r~%d",LMPH,LKPH);
TextDrawSetString(Lmph, lstr);
}
}Du musst bei LUnFreeze = SetTimer("LuX_UnFreezeCar", 250, 1);
die Playerid mitgeben,also
if(LKPH >= VehicleMaxSpeed)
{
TogglePlayerControllable(i,0);
LUnFreeze[playerid] = SetTimerEx("LuX_UnFreezeCar", 250, 1, "i", playerid);
format(lstr,sizeof(lstr),"~g~MP/H: ~w~%d ~g~KM/H: ~r~%d",LMPH,LKPH);
TextDrawSetString(Lmph, lstr);
}
}Dann noch:
new LUnFreeze;
zu
new LUnFreeze[MAX_PLAYERS];forward LuX_UnFreezeCar(playerid);
public LuX_UnFreezeCar(playerid)
{
for(new i=0; i<PLAYERS; i++)
{
TogglePlayerControllable(playerid,1);
KillTimer(LUnFreeze[playerid]);
}
return 1;
} -
Das 1. wird es nicht sein.
Die beiden unteren hängen miteinander zusammen.
Der 2. startet den Timer "Lux_Unfreezecar"
Wird der Spieler denn nach dem Freeze wieder unfreezed oder bleibt er gefreezed`?
-
Wir sind ja nicht bei Wünsch dir Was.
Du benötigst dafür Textdraws, eine KM/h berechnung und eine Tank Variable.
Km/h Berechnung:
stock GetPlayerSpeedSpeedo(playerid, bool:kmh) // by misco
{
new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz);
rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
}TankVariable:
new Tank[MAX_VEHICLES];Und die Textdraws musst du selbst erstellen. Such mal nach einem Textdraweditor im Forum.
Dann lässt du bei OnPlayerStateChange, wenn der Player Driver ist, die Textdraws anzeigen, startet einen Timer, der die Km/h auf das Textdraw formatiert, und einen Timer der alle XX Sekunden den Tank um 1. Senkt.
Sollte der Tank auf 0 sein, stoppst du den Motor. -
Dann such mal nach TogglePlayerControllable und guck mal ob es in irgenteinem Zusammenhang zu deinem
Problem sein könnte.