if(strcmp(cmdtext,"/stats", true)==0)
{
new string[128];
new Float:health;
new Float:armour;
new fraktname[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Keine";}
case 1:{fraktname=frak1;}
case 2:{fraktname=frak2;}
case 3:{fraktname=frak3;}
}
GetPlayerHealth(playerid,health);
GetPlayerArmour(playerid,armour);
SendClientMessage(playerid,GELB,"|____Deine Stats____|");
format(string,sizeof(string),"[Username: %s] [Level: %i] [Geld: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid), GetPlayerMoney(playerid), GetPVarInt(playerid,"Adminlevel"),fraktname);
SendClientMessage(playerid,GELB,string);
format(string,sizeof(string),"[Wantedlevel: %i] [Health: %i] [Armour: %i] [Skin ID: %i]",GetPlayerWantedLevel(playerid),GetPlayerHealth(playerid),GetPlayerArmour(playerid), GetPlayerSkin(playerid));
SendClientMessage(playerid,GELB,string);
return 1;
}
Beiträge von Pille
-
-
Hallo Leute,
Ich versuche gerade in einer Datei eine bestimmte Zeile zu löschen.
Das funktioniert auch ganz gut, ich habe es mit ein bisschen herumprobieren
geschafft, aber so ganz zufrieden bin ich mit dem Ergebnis nicht.- Einmal Datei Öffnen , auslesen ( mit Schleife Linien auslesen )
- zwischendrin eine Temporäre Datei erstellen & in diese alle gelesenen Linien schreiben
- Mit einer Abfrage verhinderst du das Linien geschrieben werden die nicht benötigt werden
- Danach löscht du die alte Datei & benennst die alte um
Das hier habe ich versucht durchzusetzen, jedoch gelang es mir nicht die Datei
umzubenennnen.Ich habe mir meine eigene Funktion geschrieben, wobei
die wahrscheinlich sehr viel ressourcen verbraucht.Geht das nicht einfacher?
Hier der stock:
Spoiler anzeigen stock fdeleteline(Name[],Line[])
{
new File:datei=fopen(Name,io_read);
new File:datei2=fopen("tmp.txt",io_append);
new string[50];
while(fread(datei,string)) if(strfind(string,Line,true)==-1) fwrite(datei2,string);
fclose(datei);
fclose(datei2);
datei=fopen(Name,io_write);
datei2=fopen("tmp.txt",io_read);
while(fread(datei2,string)) fwrite(datei,string);
fclose(datei2);
fclose(datei);
fremove("tmp.txt");
return 1;
}LG
Pille -
-
PAWN Quelltext
public GiveCash(playerid,money)
{
PlayerInfo[playerid][pMoney]=PlayerInfo[playerid][pMoney]+money;
GivePlayerMoney(playerid,money);
return money;
}
Hmm, ist das nicht falsch?
So müsste es richtig sein... -
Smoker hat wieder die umständlichste Methode genommen -.-
Leute..??
Soll das jetzt hier ein Battle werden, wer die ressourcenschonendste,
beste, einfachste und kürzeste Antwort hat?Beim Scripten hat man verdammt viele Wege, die zum ZIel führen.
Jeder Weg ist dabei unterschiedlich, doch solang der Weg zum Ziel
führt, ist das weder falsch noch "Käse", das ist nur dann wichtig,
wenn jemand dannach fragt oder dieser Weg umständlich und lang ist.Alle 3 funktionieren.... Alle 3 sind richtig.
-
Völliger Käse, den Pille da von sich gelassen hat.
Käse?Ich habe lediglich "playerid" bei "GetPlayerName" vergessen
-
new string[200],name[MAX_PLAYER_NAME];
GetPlayerName(name,sizeof(name));
format(string,sizeof(string),"Willkommen bei meinem Dialog, %s.\nWir danken dir, dass du ihn angeschaut hast.",name);
ShowPlayerDialog(playerid,DIALOG_NAME,DIALOG_STYLE_MSGBOX,"Überschrift",string,"Okay",""); -
AddStaticVehicleEx
Der letzte Parameter gibt die Respawnzeit an
Setz die auf 0 oder -1 & es respawnt nicht. -
-
Soo, ich bin dabei Daten auszulesen, was leider nicht klappt.
stock AccountLaden(playerid)
{
new Int[5][20]={
"Level",
"Geld",
"Adminlevel",
"Fraktion",
"Skin"
};
new string[100];
for(new i=0;i<sizeof(Int);i++)
{
format(string,sizeof(string),"SELECT %s FROM accounts WHERE Name = %s",Int[i],Spieler[playerid][MySQL_Name]);
mysql_query(string);
mysql_store_result();
switch(i)
{
case 0: Spieler[playerid][Level]=mysql_fetch_int();
case 1: Spieler[playerid][Geld]=mysql_fetch_int();
case 2: Spieler[playerid][Adminlevel]=mysql_fetch_int();
case 3: Spieler[playerid][Fraktion]=mysql_fetch_int();
case 4: Spieler[playerid][Skin]=mysql_fetch_int();
}
mysql_free_result();
}
return 1;
} -
Hat man eine Chance, dass das beim nächsten Update herausgenommen wird?
-
Ach komm, da MUSS es ne Möglichkeit geben
-
Ich habs jetzt verstanden
Es spamt die Nachricht einfach wegMich würde aber interessieren, wie man es schafft,
dass der Spieler automatisch /audiomsg eingibt...Irgendwie muss es möglich sein
Hat man eine Chance, dass das beim nächsten Update herausgenommen wird?
Oder dass die Nachricht standartmäßig deaktiviert ist? -
Wurde anscheinend später freigeschaltet, jetzt funktionierts
-
Habs jetzt auch mal probiert, jedoch schaff ich es nicht auf den FTP Server zuzugreifen
Wie mach ich das?
-
Kann jemand erklären wie das ganze funktioniert?
Ich blick das nicht
-
-
Du setzt sie einfach in ihre eigene virtuelle Welt.
SetPlayerVirtualWorld(playerid,playerid+1);
-
mysql_store_result: Speichert das Ergebnis der ausgeführten Query. Beispielsweise du verwendest "SELECT * FROM spielerdaten", dann ist das Ergebnis alles aus den Spielerdaten.
Dann speichert MySQL alle Spielerdaten in den RAM?
Wie kann ich sie im Script auslesen und in einerVariable speichern? -
Weiss nicht genau was du damit meinst. welche zeichen sollten denn unbekannt sein?
Ich weiß nicht, was macht der denn sonst?
store_result speichert das ergebniss (sagt der name der funktion ja eigentlich schon^^), der vorherigen query.
Welches Ergebnis und worein speichert er das?
free_result gibt den speicher wieder frei.
Was passiert wenn man das nicht macht?
num_rows gibt die anzahl an reihen zurück.
Also er prüft eine Zeile, ob die dem gesuchten entspricht, wenn nicht,
dann gibt er +1 zurück, bis ers gefunden hat?