Hallo Breadfischer,
heute möchte ich euch ein Tutorial zeigen, dies besser als alle anderen die ich gemacht habe sind.
In diesem Tutorial möchte euch erklären wie man ein Drivein erstellt, bzw. ein Eis, HotDog Stand oder was auch immer.
Natürlich fangt man immer mit einem forward an. (Denn braucht man um den gewünschten Text an der gewünschten Postion angezeigt zu bekommen)
forward AtNAME(playerid); // Bei NAME gibts du ein was du erstellen willst
Dann erstellen wir ein weiteres forward, denn braucht man um den User unzufreezen und Volles Leben zu geben oder was auch immer.
forward NAME(playerid); // Bei NAME gibts du ein was du bei dem ersten forward eingegeben hast
Noch ein forward für den Text der dann bei dem User erscheinen soll
forward CustomPickups();
Dann erstellen wir ein Befehl unter public OnPlayerCommandText(playerid, cmdtext[]), dies bewirkt, was für ein Befehl man schreiben muss, dass die Funktionen bei dem erstem ersten forward sowie bei dem zweiten erscheinen.
if(strcmp(cmd, "/***", true) == 0) // Bei *** füge dein wunschbefehl ein
{
if(IsPlayerConnected(playerid)) // User muss eingeloggt sein
{
if(!IsPlayerInAnyVehicle(playerid)) // Der User muss in einem Fahrzeug sein ( Einfach entfernen, wenn dies nicht sein soll
{
SendClientMessage(playerid, COLOR_GRAD2, "Du musst in einem Fahrzeug sein!");
return 1;
}
if(AtNAME(playerid)) // Hier der Name wie bei den forwards
{
SendClientMessage(playerid, COLOR_GREEN," Willkommen beim *** "); // Tippe hier ein was erscheinen soll bei erfolgreicher eingabe des Befehls
SendClientMessage(playerid, COLOR_BLUE,"___________________________________");
SendClientMessage(playerid, COLOR_WHITE,"Bitte warten sie bis ihr essen zubereitet ist...");
SetTimerEx("NAME",7000,0,"i",playerid); // Das ist der Timer, wie lang er gefreezt ist. Bei NAME das gleiche wie bei den forwards
TogglePlayerControllable(playerid, 0); // Hier wird der User gefreezet
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Du bist nicht beim ***"); //Füge hier dein Wunschtext ein.
return 1;
}
}
return 1;
}
dann erstellen wir ein neues public weit unten am Script
public CustomPickups()
{
return 1;
}
Unter dieses public fügen wir folgendes ein
if(AtNAME(playerid)) // Das gleiche wie bei den forwards
{
GameTextForPlayer(playerid, "~w~Tippe ~n~~g~/***~w~~n~ um dir was beim Drive-in Schalter zu bestellen.", 5000, 3); // bei *** füge den Befehl, denn du oben eingesetzt hast
}
Dann wird ein weiteres public eröffnet, dies wird die funktionen des drivein schalters oder was auch immer hergeben
public drivein(playerid)
{
SetPlayerHealth(playerid,100.0); // Hier bekommt der User 100% HP = Volles Leben
SendClientMessage(playerid, COLOR_YELLOW,"Ihr Essen ist fertig, Guten Appetit."); // Die nachricht wenn er sich wieder bewegen kann, bzw der Timer abgelaufen ist
TogglePlayerControllable(playerid, 1); // Hier ist er Unfreezed
}
Dann erstellen wir ein stock, der gibt die Postionen an, wo die person stehen muss um diesen befehl betätigen zu können.
stock AtNAME(playerid) // name wie bei den forwards
{
if(IsPlayerInRangeOfPoint(2.0, playerid, -2353.3438,-153.7528,35.1388)) // Wo er stehen muss um den Befehl bzw. den Drivein zu benutzen
{
return 1;
}
return 0;
}
Ich hoffe habe es diesmal ausfürhlich und klar erklärt.
Bei benötgte Hilfe helfe ich euch gerne. Fehler dürft ihr auch melden oder auch fragen stellen.
//EDIT: Tutorial Godfather oder auch Blank Script angepasst, sollen keine Probleme mehr Auftauchen.
// EDIT: Filterscript wurde hochgeladen, Klicke hier um zum Showroom zu gelangen