Die Funktion GetPlayerHealth hat 2 Parameter und nutzt man anders, schreibe es so:
new Float:health;GetPlayerHealth(pID,health);
format(string,sizeof(string),"Name: %s ID: %i Heal: %d",MeinName(pID),pID,floatround(health));
mfg. ![]()
Die Funktion GetPlayerHealth hat 2 Parameter und nutzt man anders, schreibe es so:
new Float:health;GetPlayerHealth(pID,health);
format(string,sizeof(string),"Name: %s ID: %i Heal: %d",MeinName(pID),pID,floatround(health));
mfg. ![]()
WIE!? Das ist doch das was ich herausfinden will....
Nun, du machst einfach einen Timer und fragst ab, ob sich der Spieler InRangeOfPoint von diesem Label befindet ![]()
und Nitro vergibt man mit der Funktion AddVehicleComponent
mfg. ![]()
Das wird so nicht funktionieren...ganz und gar nicht!
Was ist mit einer Teleportation durch einen Admin oder wenn man auto fährt...oder Flugzeug...oder einen Interior betritt...
mfg. ![]()
Mhm, ich habe mal eine Funktion aus dem Kopf geschrieben, sollte funktionieren:
stock VehicleToPoint(vehicleid, Float:radi, Float:x, Float:y, Float:z)
{
new Float:_Pos[6];
GetVehiclePos(vehicleid, _Pos[0], _Pos[1], _Pos[2]);
_Pos[3] = (_Pos[0] -x),_Pos[4] = (_Pos[1] -y),_Pos[5] = (_Pos[2] -z);
if(((_Pos[3] < radi) && (_Pos[3] > -radi)) && ((_Pos[4] < radi) && (_Pos[4] > -radi)) && ((_Pos[5] < radi) && (_Pos[5] > -radi))) return 1;
return 0;
}
mfg. ![]()
habe ich schon ausprobiert gleicher Fehler.
Schreib es mal so:
new Float:DtcSonstiges[][][] = {
mfg. ![]()
Ich möchte die Anzahl in einer Schleife benutzen.. in diesem fall wäre es 4, kann mir jemand helfen?
Dazu gebe dem ENUM einen Namen, sprich so:
enum TestEnum {
item_drogen,
item_mats,
item_handy,
item_radio
};
Dann kannst du das so in einer Schleife verwenden:
for(new i; i<_:TestEnum; i++) {
//Hier dann der Code
}
mfg. ![]()
Wie sieht's aus mit Aufträge? Die sich denn nur um 1-2 Systeme handeln?
Mache ich auch, gegen entsprechende Bezahlung ![]()
mfg. ![]()
Zeig mal von Zeile 0 bis dahin den Code...wahrscheinlich wird der Callback nicht aufgerufen ![]()
PS: Ist das ein Gamemode oder Filterscript?
mfg. ![]()
Einfach das machen:
//Unter OnGameModeInit
UsePlayerPedAnims();
mfg. ![]()
Und bei solchen Arrays muss die Anzahl (Erster Wert) völlig der Zahl entsprechen
Nein, das ist so nicht ganz richtig.
Man kann auch dynamische Arrays bilden, die sich den Wert selbst suchen, sprich man kann es auch einfach so schreiben:
new SNN[][128] = {{"TS3:..."},{"www..."}};
oder noch besser:
new SNN[][] = {{"TS3:..."},{"www..."}};
mfg. ![]()
Du musst im Prinzip nur das MAX_SERVER_NAMEN anpassen, sprich es muss den Wert 2 haben, nicht mehr ![]()
mfg. ![]()
Oh...stimmt, schreibe es so:
NHPreis = floatround(HPreis*1.02);
mfg. ![]()
Schreib das mal so:
ocmd:buyhaus(playerid,params[]) {
if(SpielerInfo[playerid][HausID] == 999) return SendClientMessage(playerid,Grau,"Du besitzt bereits ein Haus.");
for(new hi; hi< MAX_HAUSER; hi++) {
if(!IsPlayerInRangeOfPoint(playerid,2.0,HausInfo[hi][PosX],HausInfo[hi][PosY],HausInfo[hi][PosZ])) return SendClientMessage(playerid,Grau,"Du bist bei keinem Haus.");
if(!HausInfo[hi][Besitzed]) return SendClientMessage(playerid,Grau,"Dieses Haus wurde schon verkauft.");
if(SpielerInfo[playerid][Bank] >= HausInfo[hi][Preis]) return SendClientMessage(playerid,Grau,"Du kannst dir das Haus nicht leisten.");
SpielerInfo[playerid][HausID] = hi,HausInfo[hi][Besitzed] = 1;
format(HausInfo[hi][Besitzer],MAX_PLAYER_NAME,SpielerName(playerid));
new SGeld = SpielerInfo[playerid][Bank],HPreis = HausInfo[hi][Preis],NBank = SGeld-HPreis,NHPreis = HPreis*1.02;
SpielerInfo[playerid][Bank] = NBank,HausInfo[hi][Preis] = NHPreis;
}
return 1;
}
mfg. ![]()
Wenn du es nicht nutzt, dann nimm bei sscanf einfach hinter dem s diese [15] weg...oder du versuchst mal diesen Command:
ocmd:haus(playerid,params[]){
if(SpielerInfo[playerid][Adminlevel] >= 5) return SendClientMessage(playerid,Grau,Adminmessage);
switch(params[0]) {
case '\0': SendClientMessage(playerid,Grau,"Benutze: /haus [create/edit/delet]");
case 'c': ShowPlayerDialog(playerid,DIALOG_HOUSE_CREATE,DIALOG_STYLE_INPUT,"[GCC]-HausCreate","Gebe den gewünschten Hauspreis ein.","Bestätigen","Abbrechen");
case 'e': SendClientMessage(playerid,Grau,"edit");
case 'd': SendClientMessage(playerid,Grau,"delete");
}
return 1;
}
mfg. ![]()
Nutzt du das sscanf2 Plugin?
mfg. ![]()
Die Abfrage mit dem Geld muss so aussehen:
if(GetPlayerMoney(playerid) < strval(inputtext))
mfg. ![]()
Den Timer starte ich im Callback OnGameModeInit...
und ... welche Zeit? ![]()
Und erstellst du eigentlich dein TextDraw unter OnPlayerConnect? Wenn nein, lass es da erstellen.
mfg. ![]()
Kaliber:
Auf anderen Servern sah ich aber, dass wenn man beispielsweise ne TEC-9 hat und auf ner faggio steigt, das waffensymbol auf faust wechselt? wurd das mit GetPlayerWeaponData gemacht oder wie?
Nein, damit fragst du doch nur die Waffenslot-Informationen ab.
Nein, das wurde mit SetPlayerArmedWeapon gemacht und wenn du da die ID 0 verwendest, bekommt man die Faust zugewiesen.
mfg. ![]()
//Edit: GivePlayerWeapon...gibt einem Spieler eine Waffe, ich bin mir nicht ganz sicher, aber ich glaube, die wird auch direkt gesetzt, aber Pille hat schon recht mit der Funktion.
aber irgendwie schaffe ich es da höchstens 1 KM/H schnell zu fahren...
Ach echt...das ist seltsam, wie lässt du denn die Funktion TimerTacho aufrufen?
mfg. ![]()