Hab ich im anderen thread geschrieben
Ja funzt... nur der erste Checkpoint ist immer gleich (bis jetzt xD)!
Hab ich im anderen thread geschrieben
Ja funzt... nur der erste Checkpoint ist immer gleich (bis jetzt xD)!
Ja der ist wirklich immer gleich, habe den Befehl nicht geändert. Musst halt einfach nur den Befehl wie bei den anderen auch machen und die alten Koordinaten am besten noch unter dem public dingens einfügen dann ises perfekt
so Alexanda ich weiß nimmer weiter hab mir dein FS gedownlaode und füge das ein
public OnPlayerEnterCheckpoint(playerid) {
new trinkgeld = random(85);
new string[256];
if(Checkpoint[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2194.9568,-2322.7449,30.6250, 5.0);
Checkpoint[playerid] = 2;
}
else if(Checkpoint[playerid] == 2)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2215.2695,-2336.7737,30.6250, 5.0);
Checkpoint[playerid] = 3;
}
else if(Checkpoint[playerid] == 3)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2179.4463,-2362.8232,30.6250, 5.0);
Checkpoint[playerid] = 4;
}
else if(Checkpoint[playerid] == 4)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2092.6243,-2284.2290,30.6250, 5.0);
Checkpoint[playerid] = 5;
}
else if(Checkpoint[playerid] == 5)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2091.3435,-2346.6917,30.6250, 5.0);
Checkpoint[playerid] = 6;
}
else if(Checkpoint[playerid] == 6)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2128.7468,-2429.5964,30.4688, 5.0);
Checkpoint[playerid] = 7;
}
else if(Checkpoint[playerid] == 7)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2109.2080,-2422.5430,30.6250, 5.0);
Checkpoint[playerid] = 8;
}
else if(Checkpoint[playerid] == 8)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2108.5078,-2400.8005,31.3891, 5.0);
Checkpoint[playerid] = 9;
}
else if(Checkpoint[playerid] == 9)
{
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -2089.6448,-2439.5085,30.6250, 5.0);
Checkpoint[playerid] = 10;
}
else if(Checkpoint[playerid] == 10) // den hab ich dazugetan
{ // den hab ich dazugetan
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!"); // den hab ich dazugetan
GivePlayerMoney(playerid, trinkgeld); // den hab ich dazugetan
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld); // den hab ich dazugetan
SendClientMessage(playerid, COLOR_GREEN, string); // den hab ich dazugetan
DisablePlayerCheckpoint(playerid); // den hab ich dazugetan
SetPlayerCheckpoint(playerid,-2139.6064,-2453.0833,30.6250, 5.0); // den hab ich dazugetan
Checkpoint[playerid] = 11; // den hab ich dazugetan
} // den hab ich dazugetan
else if(Checkpoint[playerid] == 11) // den hab ich dazugetan
{ // den hab ich dazugetan
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!"); // den hab ich dazugetan
GivePlayerMoney(playerid, trinkgeld); // den hab ich dazugetan
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld); // den hab ich dazugetan
SendClientMessage(playerid, COLOR_GREEN, string); // den hab ich dazugetan
DisablePlayerCheckpoint(playerid); // den hab ich dazugetan
SetPlayerCheckpoint(playerid,-2086.7014,-2416.1228,30.6250, 5.0); // den hab ich dazugetan
Checkpoint[playerid] = 12; // den hab ich dazugetan
} // den hab ich dazugetan
else if(Checkpoint[playerid] == 12)
{
SendClientMessage(playerid, COLOR_RED, "Das war der letzte fahre nun zurück!");
GivePlayerMoney(playerid, trinkgeld);
format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, -546.9002,-488.6077,25.2961, 5.0);
Checkpoint[playerid] = 13;
}
else if(Checkpoint[playerid] == 13)
{
SendClientMessage(playerid, COLOR_RED, "Herzlichen Glueckwunsch, und danke das du hilfst die Stadt sauber zu halten!");
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, 1975);
SendClientMessage(playerid, COLOR_RED, "Du bekommst einen kleinen Bonus von 1.975$");
mission[playerid] = 0;
}
return 1;
}
so und nätürlich ersetze ich das^^ aber die checkpoints gehe immer noch cniht ich verzweifle mitlerweile!!
HILFE
Das Script ist als Vorlage relativ OK,jedoch gibt es einige Fehler.
Die public Funktion missionfailed enthält den playerid Paramter in deinem Script,der
parameter wird allerdings nicht übergeben (SetTimerEx anstatt SetTimer).
Das bedeutet,egal wer gerade in der Müllmann-Mission ist und aus seinem Fahrzeug steigt,wird die Funktion missionfailed für den Spieler mit der playerid 0 aufrufen,egal welche ID er selber hat.
Die Commands sind auch nicht ganz Fehlerfrei.Ich könnte den /starten
Command auch ausführen wenn ich nur /star eingebe ;).
Der Ablauf der Strecke und der Setzung der Checkpoints ist mehr als Benutzerunfreundlich.
Mit einem Array lässt sich das viel viel einfacher lösen.
Ich hab dein Script mal bearbeitet und verbessert,Fehler behoben etc.Bleibt eine gute Vorlage,dennoch kann man es wie gesagt besser machen.
Wer die verbesserte Version haben möchte: Download - Muellabfuhr
//Edit: Mach das
Danke GoldKiller, Dein Script benutz ich jetzt immer als Vorlage .
Hey vielen vielen Dank^^
Aber wenigstens gute Vorlage von AlexandA
Jo ty jetzt krieg ich nur 2mal trinkgeld wenn ich in ein CP fahr
schöne idee!
müllabfuhr ist für RL gameplay durch nix zu ersetzen.
ja ist geil. Wie kann ich aber neue Koordinaten für neue Checkpoints machen und wie kann ich eine 2. Route machen wär cool einer könnts mir sagen. Thx im Vorraus.
Ist gut geworden! Aber ich habe auf meinem Server auch ein Rennen an, mit Checkpoints. Und wenn ich jetzt mit dem Müllwagen durch einen fahre, erscheint der nächste vom Rennen Ich habs dann im Rennen so gemacht mit if (IsPlayerInAnyVehicle(playerid)) { if(model != 408 ){... usw. Bei machen klappt das auch aber bei anderen meint der Compiler: undefined symbol: playerid?! oder ich kann beim Autorennen nicht mehr durch Checkpoint fahren... Ich würd die Müllabfuhr zu gerne laufen lassen. Kann mir jemand sagen, wie man das macht, dass die Renn-Chackpunkte "deaktiviert" werden, wenn man im Müllwagen sitzt?
Hi Alle, ich glaub hab ein bug gefunden. Immer wenn ich auf server geh dann kann ich keine commands aussführen es kommt dann immer : Es läft schon eine Mission obwohl ich nicht mal /starten gemacht habe. Kann einer helfen ?
EDIT: Hat sich erledigt. Habe nur bei den CMD´s anstatt der 8 eine 10 machen müssen
Lg LiL
ehm ja wollte fragen ob das so geht wie ich das trinkgeld ding abschalten kann also bis jetzt siehts so aus
#include <a_samp>
new Checkpoint[MAX_PLAYERS];
new bool:mission[MAX_PLAYERS];
#define COLOR_LIGHTGREEN 0x86FF59FF
#define COLOR_RED 0xFF0000FF
#define COLOR_GREEN 0x00CA00FF
forward missionfailed(playerid);
enum e_Muell {
Float:X,
Float:Y,
Float:Z,
Float:Rad
}
new
Muellabfuhr_Stationen[][e_Muell] = {
{1362.8536,-1271.1987,13.1177,6.0},
{1419.4891,-1162.8290,23.2257,6.0},
{1562.8358,-1165.4154,23.4476,6.0},
{1595.1941,-1165.6202,23.4740,6.0},
{1878.6160,-1265.4724,12.9568,6.0},
{1995.5629,-1278.3893,23.3863,6.0},
{2095.7344,-1305.3219,23.3987,6.0},
{2172.5989,-1272.9965,23.3865,6.0},
{2166.3877,-1093.1317,25.1038,6.0},
{2134.0186,-1126.7030,25.0867,6.0},
{2069.0767,-1083.1794,24.5181,6.0},
{1795.5640,-1102.1401,23.6465,6.0},
{1523.3135,-1018.9492,23.4798,6.0},
{1307.7272,-912.6404,38.4392,6.0},
{1178.4150,-903.8792,42.8982,6.0},
{1006.6887,-947.9860,41.7854,6.0},
{1024.1830,-1154.0088,23.2225,6.0},
{1104.4174,-1285.6859,12.9591,6.0},
{1260.1241,-1263.0369,13.2895, 2.0}
};
public OnFilterScriptInit()
{
//Message in server window
print(" |________________________________|");
print(" |____Muellabfuhr, by AlexandA____|");
print(" |_________www.GGE-RL.de__________|");
print(" |fixed & improved by Goldkiller |");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[]) {
new
vehicleid = GetPlayerVehicleID(playerid),
model = GetVehicleModel(vehicleid);
if (strcmp("/muellstarten", cmdtext, true, 19) == 0) {
if(!mission[playerid]) {
if(model == 408) {
Checkpoint[playerid]=0;
mission[playerid]=true;
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Muellabfuhr gestartet, fahre nun zu den einzelnen Haeusern!");
SetPlayerCheckpoint(playerid,Muellabfuhr_Stationen[0][X],Muellabfuhr_Stationen[0][Y],Muellabfuhr_Stationen[0][Z],Muellabfuhr_Stationen[0][Rad]);
}
else {
SendClientMessage(playerid, COLOR_RED, "Du bist nicht im Muellwagen!");
}
}
else {
SendClientMessage(playerid, COLOR_RED, "Es laeuft schon eine Mission!");
}
return 1;
}
if (strcmp("/deponie", cmdtext, true, 19) ==0)
{
if(IsPlayerAdmin(playerid))
{
SetPlayerPos(playerid, 1260.1241,-1263.0369,13.2895);
return 1;
}
}
return 0;
}
public OnPlayerExitVehicle(playerid, vehicleid) {
if(GetVehicleModel(vehicleid) == 408) {
if (mission[playerid]) {
SendClientMessage(playerid, COLOR_RED, "Du hast 15 Sekunden um zurueck in das Muellauto zu steigen!");
SetTimerEx("missionfailed",15*1000,0,"d",playerid); //
}
return 1;
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid) {
new
string[128];
Checkpoint[playerid]++;
if(Checkpoint[playerid]==sizeof(Muellabfuhr_Stationen)) {
SendClientMessage(playerid, COLOR_RED, "Herzlichen Glueckwunsch, und danke das du hilfst die Stadt sauber zu halten!");
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, 150);
SendClientMessage(playerid, COLOR_RED, "Du bekommst einen kleinen Bonus von 150$");
mission[playerid]=false;
}
else {
new
trinkgeld = random(85);
SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
//format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld); //** Du hast %d$ Trinkgeld bekommen!
GivePlayerMoney(playerid,trinkgeld);
SendClientMessage(playerid, COLOR_GREEN, string);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,Muellabfuhr_Stationen[Checkpoint[playerid]][X],Muellabfuhr_Stationen[Checkpoint[playerid]][Y],Muellabfuhr_Stationen[Checkpoint[playerid]][Z],Muellabfuhr_Stationen[Checkpoint[playerid]][Rad]);
}
return 1;
}
public missionfailed(playerid) {
new
vehicleid = GetPlayerVehicleID(playerid),
model = GetVehicleModel(vehicleid);
if(model!=408) {
SendClientMessage(playerid, COLOR_RED, "Muellmission gescheitert!");
DisablePlayerCheckpoint(playerid);
mission[playerid]=false;
}
return 1;
}
Ich hab hald alles bisschen nach LS gesetzt und nen paar checkpoints mehr
wie kann ihc mehrer routen machen?!
Mehr CP enbauen und schreiben was am im CP passieren soll oder am Ende oder wie auch immer....
lol
habe den fs runtergeladen, und wollte mich dann auf meinem server einloggen, und dann wenn ich /login (passwort) mache dann steht da "du bist nicht im müllwagen!"
kann vll mal wer sagen woran das liegt? habe das selbe problem das wenn ich mich einloggen will die meldung kommt
Du bist nicht in einem müllwagen oder so^^
wäre nett
thx im vorraus
Bei mir kommt bug undzwar wenn man /login eingibt dann kommt nachdem man login eingeben hat DU BIST NICHT IM MÜLLWAGEN
Kann mir jemand machen das man das als FS nutzen kann und da kommt nicht bei jeden command wie bei /help du bist nicht im müllwageN?