Was einer sagt, müssen nicht gleich 2 Nachquatschen ;D aber gut, wenn wenigstens so schnell geholfen wird
Beiträge von Gabsch
-
-
Du nutzt einen Timer, der eben in dem korrekten zeitabstand aufgerufen wird und diesen Befehl:
new panelsx,doorsx,lightsx,tiresx;
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
UpdateVehicleDamageStatus(p, panelsx, doorsx, 1, tiresx);(Weiß nicht, ob das beide Lampen sind, evtl ist das nur eine)
Oder du nutzt diesen:
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);On eben nur in OFF ändern
-
Siehe altem Post... Vielleicht hilft das ja
-
Probier mal statt:
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
Das:
public OnPlayerRequestClass(playerid, classid)
{
SpawnPlayer(playerid);
return 1;
}Oder du baust es anch dem Login ein, dass wenn er sich korrekt eingeloggt hat, er so gespawnt wird
-
probier mal den /fpark so:
if(strcmp(cmdtext,"/fpark",true)==0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new fc;while(fc<sizeof(FactionCars))
{
if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
{
if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid])
{
if(GetPlayerAdminLevel(playerid) >= NEEDED_ADMINLEVEL || GetPlayerLeader(playerid) == FactionCars[fc][fFaction][0])
{
GetVehiclePos(FactionCars[fc][fCarid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
GetVehicleZAngle(FactionCars[fc][fCarid],FactionCars[fc][fPos][3]);
SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
}
else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist dazu nicht berechtigt.");
return true;
} else return SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
}fc++;
}
}else SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
return true;
} -
Such mal im Script nach :
ManualVehicleEngineAndLights -
Gib mal den kompletten errorcode raus, also mit Zeilenangabe und allem.
-
public Spielzeit()
{
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
SetPVarInt(i,"Spielzeit",GetPVarInt(i,"Spielzeit") + 1);
{
if(GetPVarInt(i, "Spielzeit") == 60)
{
SetPVarInt(i, "Spielzeit", 0);
}
SetPVarInt(i, "Aktivitätspunkte", GetPVarInt(i, "Aktivitätspunkte") + 1);
}
}
return 1;
}Du musst das:
SetPVarInt(i, "Aktivitätspunkte", GetPVarInt(i, "Aktivitätspunkte") + 1); auch in dem Block ausfhrern, indem die Bedingung Spielzeit ==60 auch erfüllt wird. Jedoch lässt du es danach ausführern.
Nimm es einfach nach Spielzeit, 0 und es sollte Funktionieren. -
Klar, du brauchst einen Timer, der in der von dir bestimmten Zeit ausgeführt wird und du brauchst eine Schleife, die all die Fahrzeuge durchgeht, die du umlackieren willst und dann änderst du wie gewünscht die Farbe. Die Schleife kommt natürlich in den Timer^^
Neu Spawnen ist jedoch für das blose Ändern der Farbe nicht neutig. -
if(strcmp(cmdtext,"/fpark",true)==0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new fc;while(fc<sizeof(FactionCars))
{
if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
{
if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid])
{
if(GetPlayerAdminLevel(playerid) >= NEEDED_ADMINLEVEL || GetPlayerLeader(playerid) == FactionCars[fc][fFaction][0])
{
GetVehiclePos(FactionCars[fc][fCarid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
GetVehicleZAngle(FactionCars[fc][fCarid],FactionCars[fc][fPos][3]);
SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
}
else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist dazu nicht berechtigt.");
return true;
}
}fc++;
}
SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
}else SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
return true;Das : SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
bezieht sich auf: new fc;while(fc<sizeof(FactionCars))
Und
ist daher kein if und else befehl, wenn cih das richtig sehe. So sieht es auch bei den anderen
Befehlen aus, glaube ich. Du sciptest außerdem recht unübersichtlich, da
du die Klammern eben so einrückst, ist auf sa-mp.de eine verbeitete
Krankheit, denn es verschlechtert die Übersichtlichkeit und sorgt für
eben solche Probleme. Hatte ich auch mal so gemacht und dann voll den
Anschiss von meinem Programmierlehrer bekommen
back to topic: Ich glaub daran sollte es liegen. -
Schon die neuen Samp Includes eingefügt und recompiled?
-
Moin,
ich habe ein kleines Problem, mein Lokaler Chat geht nciht mehr. Ich habe aber das Public eingefügt.
forward AH_Local();
public AH_Local()
{
return 1; // 0 = Global!
}Und meine Localer Chat:
public OnPlayerText(playerid, text[])
{
new sender[MAX_PLAYER_NAME], Float:x, Float:y, Float:z, string [255];
GetPlayerName(playerid, sender, sizeof(sender));
GetPlayerPos(playerid, x, y, z);
format(string,sizeof(string),"%s sagt: %s", sender, text);
foreach (Player,i)
{
if(IsPlayerInRangeOfPoint(i,20.0,x,y,z))
{
SendClientMessage(i,WEIS,string);
}
}
format(text, 128, "%s", text);
SetPlayerChatBubble(playerid, text,WEIS, 20.0, 10000);
return 0;
}Hatte aber auch null ausprobiert, ging auch nicht, weiß jemand woran es liegt, ich sehe den fehler grade nicht.
-
Also, ich habs bei Ongamemodeinit drauf, aber ich habs sogar extra nochmal in onplayerspawn drinne, da ich dies auch vermutet hatte
Wie sieht es denn bei dir aus? @Crank.eXe vielleicht habe ich ja einen Denkfehler drinne.
-
Morgähn.
Zunächst solltest du dir aufjedenfall eine, zwei, vielleicht auch drei stellen aussuchen, wo der Spieler in der Nähe sein soll, wenn die Musik starten soll. Da ich kaum glaube, das man direkt in der Mitte den Stream starten kann & dieser auch läuft, bis man am Ende der Base ist - Da man sich ja immer wieder entfernt. Am besten an den Ein & Ausgängen & in der Mitte.Danach ganz einfach abfragen:
if(PlayerInRangeOfPoint(playerid,X,Y,Z))
{
PlayAudioStreamForPlayer(playerid, "http://cent4.serverhostingcenter.com/tunein.php/dzapped/playlist.pls");
SendClientMessage(playerid, COLOR_GRAD1, "Metalmusik läuft!");
return 1;
}
else
{
StopAudioStreamForPlayer(playerid);
SendClientMessage(playerid,ROT,"Du hast die Basis verlassen & die Metalmusik hört auf zu Spielen!");
return 1;
}
return 1;
} - Ist nicht getestet - jediglich aus dem Kopf geschrieben. Dürfte so aber funktionieren.MfG
//Edit: & das dann halt 2-3x
MfG²
Da ist aber nen fehler dirnne, es heißt:
if(IsPlayerInRangeOfPoint(playerid,10,x,y,z)) -
Nein, es compiliert ganz normal... nur ingame funktioniert es nicht, die Marker bleiben weiß... Sie werden auch nicht transparenter, sie sind einfach weiß
-
Hallo,
ich hab seit einiger Zeit das Problem, dass ich den Marker nicht unsichtbar machen kann, wie auf der wiki beschrieben.
Wiki:
// Make the players marker an invisible white (chat will be white but marker will be gone).
SetPlayerMarkerForPlayer( 42, 1, 0xFFFFFF00 );Mein Colde:
for(new i;i<MAX_PLAYERS;i++)
{
SetPlayerMarkerForPlayer(i,playerid,0xFFFFFF00);
SetPlayerMarkerForPlayer(playerid,i,0xFFFFFF00);
}Habt ihr eine Idee, wie ich das lösen kann?