Ok, und jetzt müsstest du irgendwo in deinem Gamemode noch OnPlayerStateChange haben, das ist dazu da um den Player aus dem Auto zu werfen wenn er nicht bei den News reportern bzw. der passenden Fraktion ist, Poste mal diese Zeilen auch noch und ich kann dir das machen
Beiträge von PrinceOfBelvedair
-
-
Jetzt wissen wir aber immer noch nicht welche von den ganzen du meinst ?
-
Kannst du mal den ganzen /News Befehl posten ?
-
Dann ersetzt doch einfach die ID von den Fraktionscars durch die die jetzt da stehen..
-
Ne, geht leider nicht
-
Unter:
OnPlayerStateChange
Wenn er einsteigt und der Fahrer ist dann kommt der TD:
if(newstate==PLAYER_STATE_DRIVER)
{
Fahrzeug Abfrage
Textdraw erstellen..
TextDrawShowForPlayer(DeinTD);
}So müsste es gehen
-
Mach das Wetter auf 2 dann muss es gehen.. ;D
-
Zeilen?
//Edit ich kann mir denken was du falsch gemacht hast,
Du musst das:
#include <a_npc>
main(){}
NextPlayback()
{
StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT,"test");
}[align=left]public OnRecordingPlaybackEnd()
{
NextPlayback();
}public OnNPCSpawn()
{
NextPlayback();
}public OnNPCExitVehicle()
{
StopRecordingPlayback();
}[/align]Nicht ins Script machen sondern dazu ein extra Script öffnen und es compilen und dann muss das in den NPC Order, am besten du liest alles nochmal gründlich durch was da steht ;D
-
Warum machst du den überhaupt hin und wieder weg, soll der nicht ständig angezeigt werden? wenn er ständigt angezeigt werden soll dann mach einfach:
TextDrawShowForAll(PaydayStats);
und OnPlayerConnect oder Spawn
und dann machst du den Timer einfach so:
Unter OnGameModeInit:
SetTimer("UpdateTextDraws2",60001,true);
public UpdateTextDraws2()
{
new stringPayday[128];
format(stringPayday,sizeof(stringPayday),"Payday in: %i Min",GetPVarInt(playerid,"Paytime"));
TextDrawSetString(PaydayStats,stringPayday);
TextDrawShowForPlayer(playerid,PaydayStats);
}Weis aber nicht obs klappt, auf jedenfall habe ich das in meinem Script fürs DM so ähnlich..
-
Der Payday muss sich ja auch immer aktualisieren, desshalb musst du einen Public machen und den Textdraw String immer mit nem Timer Aktualisieren
-
Wo hast du denn da TextDrawSetString benutzt ? ..
-
-
GameTextForPlayer? Google? Youtube? SuFu?
Blödsinn, Blödsinn, Blöddsin?!
Du brauchst zunächst mal ein Textdraw Filterscript mit dem du das TD erstellen kannst: z.B: http://forum.sa-mp.com/showthread.php?t=290640
Dann kannst du die Stats mit folgender FUnktion ins TD einbinden: http://wiki.sa-mp.com/wiki/TextDrawSetString
Müsste dir erstmal weiterhelfen ;D
-
Das ist eine Schleife, was genaueres steht hier: http://wiki.sa-mp.com/wiki/Loop (wenn du Englisch kannst :D)
-
Also ich finds cool
10/10
-
Ich schätze mal dadurch ist das Script durcheinander und weiß nicht welches Label es ans Auto kleben soll also einfach mal wie InternetInk aka Benjamin schon gesagt hat:
if(strcmp(cmd,"/parkticket",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,0xFFFFF00FF,"Du hast dein Auto für 5 Minuten geparkt...");
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
parken1[vehicleid] = Create3DTextLabel("Ticket gekauft",0xFF0000AA,0.0,0.0,0.0,500.0,-1,0 );
Attach3DTextLabelToVehicle(parken1[vehicleid],vehicleid, 0.0, 0.0, 2.0);
}
}
return 1;
} -
Du machst es bei OnPlayerEnterVehicle einfach an oder ggf. bei OnPlayerStateChange und schaltest es bei OnPlayerExitVehicle aus, wo ist das Problem ?
-
Hallo,
Ich habe mal eine Frage, wie mache ich diesen ganzen Befehle zu einem? also ich brauche nur Carlock, per OCMD aber immer wenn ich es versuche rauszukopieren gibt es Erros..
kann mir jemand helfen? also nur Carlock (Auf/Zu) als OCMD..
dcmd_fahrzeug(playerid,params[])
{
new msg[50], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(sscanf(params,"s",msg))
{
SendClientMessage(playerid,grau,"Benutzung: /fahrzeug [aktion]");
return SendClientMessage(playerid,türkis,"Verfügbar: parken || info || zu || auf || suchen");
}
else
{
if(!strcmp(msg,"info",true))
{
SendClientMessage(playerid,grau,"*****Fahrzeug Info:*****");
for(new i = 0; i < 6; i++)
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
new str[170],Float:vhp;
GetVehicleHealth(Spielercar[playerid][i],vhp);
format(str,sizeof(str),"** %d: %s | Tank: %d / %d | Status: %0.0f / 1000 **",i,dini_Get(Autodatei,"AName"),vInfo[Spielercar[playerid][i]][vTank],cInfo[Autos[playerid][i][modelid]-400][cMaxTank],vhp);
SendClientMessage(playerid,grau,str);
}
}
}
else if(!strcmp(msg,"parken",true))
{
for(new i = 0; i < 6; i++)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleID(playerid) == Spielercar[playerid][i])
{
new Float:vx, Float:vy, Float:vz, Float:va;
GetVehiclePos(Spielercar[playerid][i],vx,vy,vz);
GetVehicleZAngle(Spielercar[playerid][i],va);
Autos[playerid][i][Posx] = vx;
Autos[playerid][i][Posy] = vy;
Autos[playerid][i][Posz] = vz;
Autos[playerid][i][Posa] = va;
return SendClientMessage(playerid,green,"Dein Fahrzeug wurde geparkt!");
}
else continue;
}
else continue;
}
SendClientMessage(playerid,grau,"Sie müssen in Ihrem Auto sitzen um es zu parken!");
}
else if(strfind(msg,"zu",true) != -1)
{
new string2[2][10], vID;
split(msg,string2,' ');
vID = strval(string2[1]);
if(strcmp(string2[0],"zu",true) || vID <= 0) return SendClientMessage(playerid,grau,"Benutzung: /fahrzeug zu [id]");
else
{
for(new i = 0; i < 6; i++)
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
if(vID == i)
{
Autos[playerid][i][Abgeschlossen] = 1;
vInfo[Spielercar[playerid][i]][vClose] = 1;
for(new pID = 0; pID < MAX_PLAYERS; pID++)
{
if(pID == playerid) continue;
SetVehicleParamsForPlayer(Spielercar[playerid][i],pID,0,1);
}
SetVehicleParamsForPlayer(Spielercar[playerid][i],playerid,0,0);
return SendClientMessage(playerid,green,"Fahrzeug wurde abgeschlossen!");
}
else continue;
}
else continue;
}
SendClientMessage(playerid,grau,"Ungültige ID!");
}
}
else if(strfind(msg,"auf",true) != -1)
{
new string3[2][10], vID;
split(msg,string3,' ');
vID = strval(string3[1]);
if(strcmp(string3[0],"auf",true) || vID <= 0) return SendClientMessage(playerid,grau,"Benutzung: /fahrzeug auf [id]");
else
{
for(new i = 0; i < 6; i++)
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
if(vID == i)
{
Autos[playerid][i][Abgeschlossen] = 0;
vInfo[Spielercar[playerid][i]][vClose] = 0;
for(new pID = 0; pID < MAX_PLAYERS; pID++)
{
if(pID == i) continue;
SetVehicleParamsForPlayer(Spielercar[playerid][i],pID,0,0);
}
return SendClientMessage(playerid,green,"Fahrzeug wurde aufgeschlossen!");
}
else continue;
}
else continue;
}
SendClientMessage(playerid,grau,"Ungültige ID!");
}
}
else if(strfind(msg,"suchen",true) != -1)
{
new string[2][20], vID;
split(msg,string,' ');
vID = strval(string[1]);
if(strcmp(string[0],"suchen",true) || vID <= 0) return SendClientMessage(playerid,grau,"Benutzung: /fahrzeug suchen [id]");
else
{
for(new i = 0; i < 6; i++)
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
if(vID == i)
{
new Float:ax, Float:ay, Float:az;
GetVehiclePos(Spielercar[playerid][vID],ax,ay,az);
SetPlayerCheckpoint(playerid,ax,ay,az,3.0);
return SendClientMessage(playerid,green,"Dein Fahrzeug wurde auf der Karte makiert!");
}
else continue;
}
else continue;
}
SendClientMessage(playerid,grau,"Ungültige ID!");
}
}
else SendClientMessage(playerid,türkis,"Verfügbar: parken || info || zu || auf || suchen");
}
return 1;
} -
achso, das weis ich leider nicht, aber versuch einfach mal hinter killerid,playerid zu hängen
weiß aber nicht obs geht ;D
-
forward DeinPublic (playerid);
Public DeinPublic (playerid)