Anmerkung: mein 1000. Beitrag Juhu.
Glückwunsch.
Mr_T du könntest auch theoretisch dir mal das Filterscript von DT[Sniper] anschauen und schauen wie das aufgebaut wurde. Vielleicht kannst du dir ja da schonmal ein Bild machen.
Anmerkung: mein 1000. Beitrag Juhu.
Glückwunsch.
Mr_T du könntest auch theoretisch dir mal das Filterscript von DT[Sniper] anschauen und schauen wie das aufgebaut wurde. Vielleicht kannst du dir ja da schonmal ein Bild machen.
Benutz die Suchfunktion.
Dort wird die am besten geholfen.
Oder sieh dir Tutorials an, und versuch das auf deine Art "Selfmade" zumachen.
Sehr geehrte Community,
Heute werde ich euch zeigen, wie ihr ganz leicht ein Drivein erstellen könnt.
Nun der Beginn:
Inhalt:
1.0 Forwards
2.0 Public
3.0 Create3DTextLabel
4.0 Befehl
---
1.0 Forwards
Als erstes musst du ganz oben im Script folgende Forwards hinzufügen:
forward IsAtDrivein(playerid);
forward Drivein(playerid);
2.0 Public
Als zweites fügst du folgende zwei Public's ein:
public Drivein(playerid)
{
SetPlayerHealth(playerid,100.0); // Das Leben wird auf 100 Prozent gesetzt.
GivePlayerMoney(playerid,-20); // 20$ werden für das Essen abgezogen.
SendClientMessage(playerid, COLOR_GRAD4,"Personal: Ihr Essen wurde zubereitet! Auf wiedersehen, und einen Guten Hunger!");
TogglePlayerControllable(playerid, 1); // Der Spieler wird gefreezt.
GameTextForPlayer(playerid, "~r~ -20$", 3000, 1); // Ein Gametext.
}
public IsAtDrivein(playerid)
{
if(IsPlayerConnected(playerid)) // Der Spieler muss eingeloggt sein.
{
if(IsPlayerInRangeOfPoint(playerid,10.0,801.5522, -1628.91, 13.3828) || IsPlayerInRangeOfPoint(playerid,10.0,1209.958,-896.7405, 42.9259))
{
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10.0,-2341.86, 1021.184, 50.6953) || IsPlayerInRangeOfPoint(playerid,10.0,2485.291, 2022.611, 10.8203))
{
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10.0,1859.496, 2084.797, 10.8203) || IsPlayerInRangeOfPoint(playerid,10.0,-2349.49, -152.182, 35.3203))
{
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10.0,2409.651, -1488.65, 23.8281) || IsPlayerInRangeOfPoint(playerid,10.0,2377.733, -1909.27, 13.3828))
{
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10.0,2375.014, 2021.186, 10.8203))
{
return 1;
}
}
return 0;
}
3.0 Create3DTextLabel
Ich habe mich mit Absicht für 3DTextLabel's entschieden, da ich finde es wirkt besser und "neuer"
Diese Create3DTextLabel fügst du unter den CreatePickUps ein:
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,2375.014, 2021.186, 10.8203,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,2409.651, -1488.65, 23.8281,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,2377.733, -1909.27, 13.3828,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,1859.496, 2084.797, 10.8203,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,-2349.49, -152.182, 35.3203,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,-2341.86, 1021.184, 50.6953,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,2485.291, 2022.611, 10.8203,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,801.5522, -1628.91, 13.3828,15.0,0,0);
Create3DTextLabel("Drivein Schalter\nNutzen sie /drivein damit wir Ihre bestellung aufnehmen können!",0xFFFF00AA,1209.958,-896.7405, 42.9259,15.0,0,0);
4.0 Befehl
Als letztes erstellst du den Befehl, ohne diesen Befehl funktioniert nichts. Ist ja logisch.
if(strcmp(cmd, "/Drivein", true) == 0)
{
if(IsPlayerConnected(playerid)) // Der Spieler muss eingeloggt sein.
{
if(IsAtDrivein(playerid)) // Der Spieler muss an einem DriveIn sein.
{
SendClientMessage(playerid, COLOR_LIGHTBLUE," Willkommen am Drivein! Ihre bestellung wird aufgenommen!");
SendClientMessage(playerid, COLOR_LIGHTBLUE," Bitte warten Sie. Ihr Essen wird zubereitet.");
SendClientMessage(playerid, COLOR_LIGHTBLUE," Bitte haben Sie ein wenig Geduld.");
SetTimerEx("Drivein",7000,0,"i",playerid); // Timer wielang der Spieler warten muss. *
TogglePlayerControllable(playerid, 0); // Der Spieler wird unfreezt.
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Du bist an keinem Drivein !"); // Meldung wenn man an keinem Drivein Steht.
return 1;
}
}
return 1;
}
Ich habe einen Timer hinzugefügt, da es einfach realistischer wirkt und man nicht einfach direkt losfahren kann.
Das ist ziemlich praktisch, wenn man beispielsweise auf einer Jagd ist. Damit der Täter ( der sich healt ) nicht direkt abhauen kann.
Info:
Fragen werden gerne beantwortet.
Falls das hier fehl am Platz ist, bzw. es dies hier schon gibt kann dies gerne geschlossen / gelöscht werden.
Alter, wieviele Themen du schon eröffnet hast.
Zum Stern:
Zum platzieren:
Du gehst, ins PD und gibst /save ein. Dann haste deine Koordinaten.
Den Rest bearbeiteste im Script.
Plugin?
Eher das Include.
Benutzt du 0.3b oder c?
Magerer Wunsch.
Benutzt du einen Godfather?
Ich hoffe du hast auch wirklich im Tutorial Bereich geschaut.
Dort musst du fündig werden, und dir wird alles genaustens erklärt.
1. Du fügst den Filterscript in den Ordner "Filterscript"
2. Dann öffnest du die Server.cfg und schreibst den Namen in die Zeile "filterscripts"
(Exakter Name erforderlich! D.h heißt das Filterscript Blo0B.pwn Musst du in die Zeile auch wirklich Blo0B reinschreiben. Das .pwn weglassen.)
3. Speichern
4. Server starten bzw. restarten wenn er schon an war.
5. Draufconnecten, und los gehts.
INFO:
Wenn keine .amx Datei vorhanden ist, davor compilen.
Benutzt doch einfach mal die Suchfunktion (SuFu) dann würde man sich dutzende Themen sparen.
Das geht nicht.
Man muss nämlich Ingame sein.
Also, ich fand's aufm ersten Blick eigentlich sau gut.
Aber, wenn ich mir nach deinem Spruch die ganzen Sachen anschaue ..
/sign.
Anstatt:
format(SpielerDatei,sizeof(SpielerDatei),"/Benutzer/%s.txt",Name);
format(SpielerDatei,sizeof(SpielerDatei),"/Benutzer/%s.ini",Name);
// Edit
So schwer kann das eigentlich nicht sein. ;D
Es gibt keinen Converter, dass muss man alles selber machen.
Hast du denn einen Public names:
Public Payday()
?
// Edit:
Wobei ich gerade danke, du hast nen Klammerfehler.
Was zum Teufel soll denn PAWNO 0.3c sein?
Ich meinte damit eher, wenn er es auf 0.3c möchte muss er es mit dem Pawno compilen, der für 0.3c gedacht ist?
Wenn du es im alten Ordner compilest, ist's ja wieder auf 0.3b..
Im neuen Ordner 0.3c ??
Deshalb, Pawno 0.3c
Alter, indem du einfach den Server 0.3c downloadest.
Ja dann ist es aber Trosdem auf 0.3b ich Willes aber auf 0.3C!!
Wenn du es mit dem 0.3c Pawno compilest, ist es für den 0.3c Server brauchbar.
SuFu > Levelsystem
Wenn du es dann so umänderst, sicherlich.
Ich glaube ganz am Ende.