da wo es erfordert wird, in Commands für Admins oder Funktionen für Admins, beim Login evntl. bzw. beim connect
Beiträge von BlackFoX
-
-
Kann ich DMA nur zustimmen, so wird das nix
-
Geh mal in eigene Dateien und such nach GTA San Andreas User Files, dann lösch darin die gta_set datei, und versuchs nochmal
-
Mehr Infos pls , ich denke so kriegst du keinen
-
if(CurrentMenu == Waffen)
{
switch(row)
{
case 0:
{
if(GetPlayerMoney(playerid) < 1000)return SendClientMessage(playerid,farbe,"Du hast keine 1000$");SendClientMessage(playerid,blau,"Du hast dir die Colt 45 gekauft");
GivePlayerMoney(playerid, -1000);
GivePlayerWeapon(playerid,22,100);
ShowMenuForPlayer(Waffen,playerid);
}
case 1:
{
SetPlayerArmour(playerid, 100.0);//Rüstung
ShowMenuForPlayer(Waffen,playerid);
}
case 2:
{
GivePlayerWeapon(playerid,35,500);// Raketenwerfer
ShowMenuForPlayer(Waffen,playerid);
}
case 3:
{
GivePlayerWeapon(playerid,34,500);// Sniper
ShowMenuForPlayer(Waffen,playerid);
}
case 4:
{
GivePlayerWeapon(playerid,26,500);// Sawn Off
ShowMenuForPlayer(Waffen,playerid);
}
}
}
} -
if(GetPlayerMoney(playerid) < GEFORDERT)
{
SendClientMessage(playerid, COLOR_GREEN, " Du hast nicht soviel Geld"); // <<
}
else
{
// Er kriegt die Waffe und Geld wird abgezogen
}Es heisst ja wenn das Spielergeld kleiner ist als gefordert
-
if(GetPlayerMoney(playerid) < GEFORDERT)
{
// Du hast nicht das Geld dazu
} -
Ja klar geht das
, einen Tipp hätte ich noch ,
stock PlayerName(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof pName);
return pName;
}format(string, sizeof(string), "Hi %s", PlayerName(playerid));
Dann musst du nicht jedesmal eine variable erstellen bzw. immer GetPlayerName machen und Sparst dir damit immer ne zeile oder auch 2
-
if(pInfo[playerid][A] == 1)
eher so, weil es ist eine Variable für jeden Spieler, 2. Doppelstatement nicht nur =
-
public MyClass(const String[MAX_BLA])
Meinste das so, geht auch
Mann kann mit define auch Strings definieren oder Funktionen bauen geht alles
#define MAXIMALE_ANZAHL 200
new FuerJedenSpieler[MAXIMALE_ANZAHL];
wäre wie MAX_PLAYERS kann auch in publics forwards eingesetzt werden
-
#define MAX_BLA 256
new String[MAX_BLA];
-
-
public illegalewaffen(playerid)
{
switch(GetPlayerWeapon(playerid))
{
case 16,18,26,33,34,35,37,38,39,40,41,42: return 0;
}
return 1;
} -
Hab eben was ausgebessert bezüglich der Callbacks, wenn ihrs Testen wolltet pls nochmal Laden,
Hatte was vertauschtDanke für die netten Kommis
-
Wollts nur gesagt haben , weil bei beschwerden werden die Sounds gesperrt , aber wenn ihr des dürft , gut gelungen :>
-
Hey Leute,
Ich hab hier mal nen paar neuen Callbacks erstellt die vllt wer gebrauchen kann, ich zeig euch erstmal die neuen Callbacks
public OnPlayerChangeWeapon(playerid,neue_waffe,alte_waffe)
{
new ChangeState[128]; // Mit kleinem Beispiel ^^
format(ChangeState,sizeof(ChangeState),"Alte Waffe: %d - Neue Waffe %d",alte_waffe,neue_waffe);
SendClientMessage(playerid,0xFFCC00FF,ChangeState);
return 1;
}public OnPlayerChangeHealth(playerid,neue_energie,alte_energie)
{return 1;
}public OnPlayerChangeMoney(playerid,neues_geld,altes_geld)
{return 1;
}public OnPlayerChangeSkin(playerid,neuer_skin,alter_skin)
{return 1;
}
public OnPlayerChangeVehicle(playerid,vehicleid)
{return 1;
}Also wie man sieht ist dies vorhanden:
Wenn der Spieler sein Energie Status verändert, Wenn der Spieler einen anderen Skin hat, Wenn der Spieler eine andere Waffe in der Hand hat,
Wenn der Spieler einen anderen Geld Status bekommt, Wenn der Spieler in einem Fahrzeug ist.Ich hoffe euch gefällts es.
einfach in euer Script einbeziehen und die Klassen hinzufügen wie sie dort oben stehen, schon könnt ihr die Features voll nutzen.
Callback Update *1
Wenn der Spieler eine Taste drückt
public OnPlayerPressKey(playerid,key)
{
// Beispiel:
if(key == KEY_UP)
{
// Irgend etwas tun
}
//
return 1;
}Wenn sich der Spieler mit dem Fahrzeug bewegt, gibt neue Position zurück
public OnPlayerVehicleMove(playerid,Float:move_x,Float:move_y,Float:move_z)
{
// irgendwas tun
return 1;
}Have Fun again
-
Loose Indentation ist nur da weil du die klammern nicht Richtig eingerückt hast
z.b. erste und 2 if abfrage
>>>>if(...)
>>>>{
>>>>>>>>if(...)
>>>>>>>>{Muss eingerückt werden bzw. geordnet
-
Nach dem GF müsste newcar schon definiert sein , im grunde so
new newcar = GetPlayerVehicleID(playerid);
daher musst du bei OnPlayerStateChange newcar nicht ändern auch nicht RemovePlayerFromvehicle ,
doch bei OnPlayerEnterVehicle musst du dies ändern da dort vehicleid definiert ist und man die Rückgabe GetPlayerVehicleID(playerid);
nicht verwenden kann, da sie sowieso 0 Zurückgibt da man sich in dem moment nicht in einem Fahrzeug befindet, vehicleid in der
Callback gibt dann die ID Zurück , die Callback gibt Zurück ob er grad am einsteigen ist , OnPlayerStateChange gibt je nach abfrage welcher status,
den jeweiligen Status dann Zurück wenn er erreicht wurde -
newcar gegen vehicleid ersetzen und RemovePlayerFromvehicle wird nicht klappen , daher dies:
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
Ich denke dann müssts soweit gehen -
IsPlayerAdmin(playerid)