Hey !
Da jetzt das Forum wieder on ist , kann ich endlich meine Probleme posten ;D
Also:
1.
Ich möchte für eine Fraktion Kameras erstellen , sprich , jedes Mitglied dieser Fraktion kann eine Kamera irgendwo hinstellen , und sich dann dadrin umschauen.
Allerdings ändert sich die Kameraposition nicht bei /Kamera , sondern es wird nur der Text ausgegeben!
Hier der Code:
ocmd:kameralegen(playerid,params[])
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(KameraGelegt==false)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
dini_FloatSet(Spieler,"KameraX",x);
dini_FloatSet(Spieler,"KameraY",y);
dini_FloatSet(Spieler,"KameraZ",z);
CreateObject(1253,x,y,z+0.5,0,0,0,0);
SendClientMessage(playerid,Gruen,"Kamera erfolgreich aufgestellt!");
SendClientMessage(playerid,Gruen,"Benutze /kamera um die Kamera zu benutzen!");
inKamera=false;
KameraGelegt=true;
}
return 1;
}
ocmd:kamera(playerid,params[])
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(KameraGelegt==true)
{
if(inKamera==false)
{
SetPlayerCameraPos(playerid,dini_Float(Spieler,"KameraX"),dini_Float(Spieler,"KameraY"),dini_Float(Spieler,"KameraZ"));
SendClientMessage(playerid,Gruen,"Du überprüfst die Kamera!");
SendClientMessage(playerid,Gruen,"Benutze /kamera um die Kamera zu verlassen!");
inKamera=true;
return 1;
}
else if(inKamera==true)
{
SetCameraBehindPlayer(playerid);
SendClientMessage(playerid,Gruen,"Du hast die Kamera verlassen!");
TogglePlayerControllable(playerid,1);
inKamera=false;
return 1;
}
}
else
{
SendClientMessage(playerid,Rot,"Du hast keine Kamera aufgestellt!");
SendClientMessage(playerid,Rot,"Benutze /kameralegen um die Kamera aufzustellen!");
}
return 1;
}
2. (GEKLÄRT)
Ich habe versucht , einen "Anti-Weaponhack" zu machen , sehr sehr simpel , klappt allerdings nicht ._.
Man wird direkt gebannt , auch wenn man keine der unten genannten Waffen hat !
forward weapontest(playerid);
SetTimer("weapontest",1000,1);
public weapontest(playerid)
{
if(GetPlayerWeapon(playerid) == 9 || 35 || 36 || 37 || 38 || 39 || 40)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new string[256];
new string2[256];
format(string,sizeof(string),"%s wurde vom System verbannt , Grund: Weaponhack",PlayerName(playerid));
format(string2,sizeof(string2),"Du wurdest vom System verbannt, Grund: Weaponhack",PlayerName(playerid));
SendClientMessageToAll(Grau,string);
SendClientMessage(playerid,Grau,string2);
printf("%s wurde verbannt , Grund: Weaponhack",PlayerName(playerid));
dini_IntSet(Spieler,"Bann",1);
dini_Set(Spieler,"Banngrund", "Weaponhack");
dini_Set(Spieler,"Banner","System");
Kick(playerid);
}
}
3.
Gibt es eine Möglichkeit , schnell Variablen abzufragen ?
Ich möchte eine Arena machen , und man soll am Anfang auswählen , welches Fahrzeug man nimmt (Die Fahrzeuge muss man kaufen , es gibt insgesamt 5 stück , dabei wird jeweils die Variable des Fahrzeugs auf 1 gesetzt!)
Nun möchte ich abfragen , welches Fahrzeug man gekauft hat.
zB hat man Fahrzeug 2 und 5 gekauft , dann sollte am Anfang ein List-Dialog sein , wo man zwischen Fahrzeug 2 , Fahrzeug 5 und Abbrechen wählen kann.
Geht es kürzer als mein Versuch ?
Denn bei meinem ist es SEHR viel Arbeit !
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(dini_Int(Spieler,"RC-Vehicle1")>=1)
{
}
if(dini_Int(Spieler,"RC-Vehicle1")>=1 && dini_Int(Spieler,"RC-Vehicle2")>=1)
{
}
if(dini_Int(Spieler,"RC-Vehicle1")>=1 && dini_Int(Spieler,"RC-Vehicle2")>=1 && dini_Int(Spieler,"RC-Vehicle3")>=1)
{
}
if(dini_Int(Spieler,"RC-Vehicle1")>=1 && dini_Int(Spieler,"RC-Vehicle2")>=1 && dini_Int(Spieler,"RC-Vehicle3")>=1 && dini_Int(Spieler,"RC-Vehicle4")>=1)
{
}
if(dini_Int(Spieler,"RC-Vehicle1")>=1 && dini_Int(Spieler,"RC-Vehicle2")>=1 && dini_Int(Spieler,"RC-Vehicle3")>=1 && dini_Int(Spieler,"RC-Vehicle4")>=1 && dini_Int(Spieler,"RC-Vehicle5")>=1)
{
}