so ich versuche mich mal an meinem ersten tutorial.
also ich zeige das ganze an einem gamemode und markiere alles was neu ist mit "//-------------------".
PS: ES SOLLTEN GRUNDKENNTNISSE DES SCRIPTENS VORHANDEN SEIN
als erstes:
#include <a_samp>
new Menu:tutorial; //-------------------
das "new Menu:tutorial" ist die variable für das menü die später gebraucht wird
#include <a_samp>
new Menu:tutorial;
new tutpickup; //-------------------
das "new tutpickup" ist die variable die jetzt im nächsten schritt gebraucht wird
#include <a_samp>
new Menu:tutorial;
new tutpickup;
main()
{
print("\n------");
print("tutorial");
print("------\n");
}
public OnGameModeInit()
{
SetGameModeText("tutorial");
AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
tutpickup = AddStaticPickup(pickupid,type,x,y,z); //-------------------
hier ist die variable "tutpickup" als pickup deklariert worden.
(pickupids: http://samp.martoks-place.de/w….html#Pickup_model_ID.27s )
(typeids: http://samp.martoks-place.de/w…kup_help.html#Pickup_Type )
#include <a_samp>
new Menu:tutorial;
new tutpickup;
main()
{
print("\n------");
print("tutorial");
print("------\n");
}
public OnGameModeInit()
{
SetGameModeText("tutorial");
AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
tutpickup = AddStaticPickup(pickupid,type,x,y,z);
tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0); //-------------------
hier wird die menü variable "new Menu:tutorial;" als menü deklariert.
"CreateMenu" setzt sich wie folgt zusammen:
CreateMenu ( "Tutorial", 1, 200.0, 100.0,150.0,150.0);
leitet menü erstellung ein, menü name, reihen des menüs,positon auf dem bildschrim X ,positon Y, höhe,breite
#include <a_samp>
new Menu:tutorial;
new tutpickup;
main()
{
print("\n------");
print("tutorial");
print("------\n");
}
public OnGameModeInit()
{
SetGameModeText("tutorial");
AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
tutpickup = AddStaticPickup(pickupid,type,x,y,z);
tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0);
AddMenuItem(tutorial,1,"Waffen"); //-------------------
AddMenuItem(tutorial,1,"Ende"); //-------------------
}
hier wird ein auswahlpunkt des menüs hinzugefügt.
"AddMenuItem" setzt sich wie folgt zusammen:
AddMenuItem (tutorial ,1 ,"Waffen");
leitet ein das ein auswahlpunkt hinzugefügt wird,menü variable,reihe wo es stehen soll,auswahlpunkt text
#include <a_samp>
new Menu:tutorial;
new tutpickup;
main()
{
print("\n------");
print("tutorial");
print("------\n");
}
public OnGameModeInit()
{
SetGameModeText("tutorial");
AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
tutpickup = AddStaticPickup(pickupid,type,x,y,z);
tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0);
AddMenuItem(tutorial,1,"Waffen");
AddMenuItem(tutorial,1,"Ende");
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerPickUpPickup(playerid,pickupid) //-------------------
{ //-------------------
if(pickupid == 0) //-------------------
{ //-------------------
ShowMenuForPlayer(tutorial,playerid); //-------------------
TogglePlayerControllable(playerid,0); //-------------------
} //-------------------
} //-------------------
hier wird gezeigt was passiert wenn der player das pickup aufnimmt.
if(pickupid == 0)
heist soviel wie "ist die pickupid gleich 0 (wie bei uns der fall weil wir nur ein pickup haben und bei null angefangen wird zu zählen)
ShowMenuForPlayer ( tutorial, playerid);
zeigt dem player ein menü,die variable des menüs das ausgewählt werden soll,wenn player id genuzt ist das menü für eine bestimmte id sichtbar (das wollen wir nicht also playerid(meint alle ids))
TogglePlayerControllable(playerid,0);
soll der player wärend er im menü ist sich nicht bewegen können muss am ende 0 stehen wenn ja das ganze weglassen oder 0 druch 1 ersetzen.
#include <a_samp>
new Menu:tutorial;
new tutpickup;
main()
{
print("\n------");
print("tutorial");
print("------\n");
}
public OnGameModeInit()
{
SetGameModeText("tutorial");
AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
tutpickup = AddStaticPickup(pickupid,type,x,y,z);
tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0);
AddMenuItem(tutorial,1,"Waffen");
AddMenuItem(tutorial,1,"Ende");
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerPickUpPickup(playerid,pickupid)
{
if(pickupid == 0)
{
ShowMenuForPlayer(tutorial,playerid);
TogglePlayerControllable(playerid,0);
}
}
public OnPlayerSelectetMenuRow(playerid,row) //-------------------
{ //-------------------
new Menu:CMenu = GetPlayerMenu(playerid); //-------------------
if(CMenu == tutorial) //-------------------
{ //-------------------
switch(row) //-------------------
{ //-------------------
case 0: //-------------------
{ //-------------------
GivePlayerWeapon(Playerid,3,1); //-------------------
TogglePlayerControllable(playerid,1); //-------------------
} //-------------------
case 1: //-------------------
{ //-------------------
TogglePlayerControllable(playerid,1); //-------------------
} //-------------------
} //-------------------
} //-------------------
} //-------------------
aAlso hier wird gesagt was passiert wenn der player eine auswahl im menü trifft.
das "new Menu:CMenu = GetPlayer...." ist nur eine abkürzung von "GetPlayerMenu(playerid);" durch die variable
"CMenu"
if(CMenu == tutorial)
sagt aus "wenn CMenu ist gleich menü tutorial dann tu das was unter mir steht"
switch(row)
sagt aus was passiert wenn ich ziwschen den Auswahlpunkten wechsle und einen auswähle
case 0:
sagt aus "wenn erster auswahlpunkt dann tute das was unter mir steht und schließe das menü"
case 1:
sagt aus "wenn zweiter auswahlpunt dann tute das was unter mir steht und schließe das menü"
wenn noch fragen da sind postet sie hier