Du kannst dir ne eigene Währung erstellen die auf einem Float basiert z.b.
new Float:Geld;
Geld = (92.90);
dies könnte man überall umwandeln und einen Textdraw erstellen der die letzten 2 Stellen anzeigt
Du kannst dir ne eigene Währung erstellen die auf einem Float basiert z.b.
new Float:Geld;
Geld = (92.90);
dies könnte man überall umwandeln und einen Textdraw erstellen der die letzten 2 Stellen anzeigt
lol seid mal nich so empfindlich , er hats doch nur ironisch gemeint xD
Hier das sollte dir die Arbeit erleichtern, ausm Englischen Sa-mp Forum von Zamadroht:
Ducken = Textdraw Nach unten bewegen
Gehen also alt = Nach Rechts Verschieben
Zurückgucken also num 1 = Nach Links verschieben
und Sprinten = Nach Oben verschieben
Einfach FS laden und im Spiel /text
erstellst dir dein Textdraw und Speicherst ihn unter more im Menü vom Editor (wirst schon finden)
Das ist ein Textdraw, Textdraw sind eig. Recht leicht, sie basieren auf einem Positions Zentrum von 640x480
Zuwenig Parameter angegeben da feht nochwas
SetPlayerCheckpoint ist da ne möglichkeit, da für einen gewissen spieler ein Checkpoint erstellt wird
dann noch die Public OnPlayerEnterCheckpoint
einfach den cp verschwinden lassen Fertig
Tank script is im Grunde ganz leicht:
Erstens man definiert eine Variable für alle Fahrzeuge:
new Tank[MAX_VEHICLES];
dannach geht man in OnGameModeinit oder OnFS init um sie alle aufzufüllen sonst sind alle leer xD
for(new c=0;c<MAX_VEHICLES;c++)
{
Tank[code=c] = 100;
}
Dann erstellt man eine Public die den Timer für den Tank darstellt , am besten auf 15k ms
Public:
public TankCheck()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new Auto = GetPlayerVehicleID(i);
if(Tank[Auto] >=1)
{
Tank[Auto]--; // Einfach Minus -- oder -1;
}
else
{
TogglePlayerControllable(i,0);
GameTextForPlayer(i,"~w~Tank Leer",2000,3);
}
}
}
}
return 1;
}
Nächster Schritt: SetTimer("TankCheck",15000,1);
Im Grund ist es nur ein schritt das der Timer dem Wagen nach der gegeben Zeit immer -1 Zählt und somit sich der Tank langsam leert
Bei OnPlayerStateChange folgendes:
new Name[256];
GetPlayerName(playerid,Name,sizeof(Name));
if (!strcmp(Name,"don456"))
{
// wird zugelassen
}
else
{
RemovePlayerFromVehicle(playerid);
}
AddStaticVehicleEx(AutoModell,x,y,z,angle, Farbe1, Farbe2, Respawn Zeit);
Bei OnPlayerConnect
TextDrawShowForPlayer(playerid,Textdraw0);
vllt haste vergessen den anzuzeigen, also
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Current = GetPlayerMenu(playerid);
if(Current == ShopMenu)
{
switch(row)
{
case 0: //Deagle
{
GivePlayerWeapon(playerid, 24,90);
SendClientMessage(playerid, Farbe, "Du hast dir eine Desert Eagle für PREIS gekauft.");
}
case 1: //Shotgun
{
GivePlayerWeapon(playerid, 25,90);
SendClientMessage(playerid, Farbe, "Du hast dir eine Shotgun für PREIS gekauft.");
}
case 2: //MP5
{
GivePlayerWeapon(playerid, 29,90);
SendClientMessage(playerid, Farbe, "Du hast dir eine MP5 für PREIS gekauft.");
}
case 3: //Sniper
{
GivePlayerWeapon(playerid, 34,90);
SendClientMessage(playerid, Farbe, "Du hast dir ein Sniper Gewehr für PREIS gekauft.");
}
case 4: //Granate
{
GivePlayerWeapon(playerid, 16,1);
SendClientMessage(playerid, Farbe, "Du hast dir eine Granate für PREIS gekauft.");
}
case 5: //Rauchgranate
{
GivePlayerWeapon(playerid, 17,1);
SendClientMessage(playerid, Farbe, "Du hast dir eine Rauch Granate für PREIS gekauft.");
}
case 6: //menü Schließen
{
HideMenuForPlayer(ShopMenu, playerid);
SendClientMessage(playerid, Farbe, "-Menü geschlossen-");
}
}
}
return 1;
}
HideMenuForPlayer(ShopMenu, playerid); - Hatteste Vertauscht playerid mit Menu id und andersrum
dann beim anfang der Klasse ein { vergessen
Stichwort 'GTA SA Crack'
also komisch, bei mir tauchen sie nicht auf
hier den Code mal in nem Blank Script
die Public hast bestimmt falsch gesetzt, die muss dahin wo ganz leer is also keine Klasse, Stock oder { }
am besten ganz unten, aso bei der Public hab ich mich verschrieben nicht play sondern pay sorry
aber sonst müsste dann alles passen
So muss es denn rein:
die forward am besten unter :
#include <a_samp>
public OnGameModeInit()
{
SetTimer("playday_timer",600000,1);
return 1;
}
und die Public halt wieder wo leer is nicht in eine klasse oder stock etc. am besten ganz unten wie schon gesagt
beim Unjail einfach auf Interior 0 setzen
Nimm zum Speichern dini
dini_FloatSet("Dateiname","Schlüssel",KoordinateX);
dini_IntSet("Dateiname","Schlüssel",Zahlenwert);
dini_Set("Dateiname","Schlüssel","Textwert");
Die Dinge können in Form von Variablen oder Rückgabe Funktionen gespeichert werden wie z.b.
dini_IntSet("Geld.ini","Geld",GetPlayerMoney(playerid));
Lesen von werten
variable = dini_Float("Dateiname","Schlüssel");
variable = dini_Int("Dateiname","Schlüssel");
variable = dini_Get("Dateiname","Schlüssel");
bei Textwerten gehts dan so
new meinformat[128];
format(meinformat,sizeof(meinwert),"%s",dini_Get("Dateiname","Schlüssel"));
Erst setzt du den Interior von der Bullenstation, dann machst SetPlayerPos(playerid,x,y,z);
Das ganz machst in OnPlayerDeath
Hier hast schonmal die Coords fürs PD + Interior
Interior: 6
x,y,z : 264.6288,77.5742,1001.0391