Man könnte eig in einem reinen GF alle "OnPlayerUpdate" einfach unbennen in "SaveAll",
denn GF hat auch schon einen Timer drin wo OnPlayerUpdate aufgerufen wird,
was eig quatsch ist, da OnPlayerUpdate eh jede Sekunde ausgeführt wird. Doch so ist
werden die Accs dann nur noch per Timer und wenn ein Spieler den Server verlässt gespeichert.
Sollte eig reichen und mit der PAWNO Funktion "Ersetzen" geht das auch ganz schnell.
Beiträge von Jay
-
-
Benutze format und ShowPlayerDialog.
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
http://wiki.sa-mp.com/wiki/Format -
Nein, also ich schreibs jetzt einfach mal so hin wies klappen müsste:
new Text3D:admintext[playerid];
Bei OnPlayerConnect...
if(PlayerInfo[playerid][pAdmin] == 1337)
{
admintext[playerid] = Create3DTextLabel("SuperAdmin",0xFFFFFFFF,0.0,0.0,0.75,0,1);
}Bei OnPlayerSpawn...
if(PlayerInfo[playerid][pAdmin] == 1337)
{
Attach3DTextLabelToPlayer(admintext[playerid], playerid, 0.0,0.0,0.75)
}Habs jetzt nicht getestet, aber probiers mal aus...
-
new Text3D:admin1[playerid]; // Musst für jeden Admin ein eigenes erstellen! >> [playerid]
admin1[playerid] = Create3DTextLabel("SuperAdmin",0xFFFFFFFF,0.0,0.0,0.75,0,1); // hier das selbe
Attach3DTextLabelToPlayer(admin1[playerid], playerid, 0.0,0.0,0.75) // Hast das Simikolon vergessen! >> ; <<versuch jetzt mal
-
und dann habe ich dazu noch eine SendClientMessage ich möchte aber nur das diese 1mal gesendet wird momentan wir sie aber jede sekunde an den player gesendet wie mache ich das das es nur einmal geschrieben wird ?
else if (PlayerToPoint(3, i,1551.3513,-1681.4174,13.5528))//ATM
{
SendClientMessage(i, 0x009BFFFF,"ATM Hilfe");
SendClientMessage(i, 0x787878FF,"Befehle: /withdraw [Betrag]");}
Ich würd einfach GameTextForPlayer benutzen, ansonsten müsstest du ne extra Variable benutzen die überprüft ob du schonmal den Text bekommen hast. Da ist GameTextForPlayer einfacher...
-
Nun jetzt kommt erst die eigentliche Arbeit:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 0) // Die ID Deines Dialoges
{
if(response == 0) // Wenn der 2. Button gedrückt wurde. (abbrechen)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Du hast das Tunen beendet.");
}
if(response == 1) // Wenn der 1. Button betätigt wird. (Tunen)
{
// HIER MUSS NUN REIN WAS GEMACHT WERDEN SOLL
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Tunen","NOS\nReifen\n ... ","Ausählen","Abbrechen"); // und so weiter...
}
return 1;
}