Abspeicher in einer UserFile.
Dini und Dudb eignen sich dafür gut am Anfang. Sonst nimmst FF.
[ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, laden
Beiträge von KornChief
-
-
SetTimerEx braucht Variabeln, die übergeben werden. Hier wird nichts übergeben, also nur SetTimer . Könntest auch statt der For-Schleife PlayerID mitübergeben
-
Ich bin nicht dein Sklave :>.
"SetPlayerMoney" war in deinem FS nicht definiert, und wenns nicht in einer Include ist, muss folgendes kommen:error 017: undefined symbol "SetPlayerMoney"
Deine Methode, wie du es speicherst, ist ziemlich eigenartig ehrlich gesagt , denn zB gibst du das Geld, bevor überprüft wird, ob es den User (bzw. die .cer /.ini ) Datei gibt. Dann arbeitest du auch schlampig, zB lässt es einmal als "pGeld", "geld", "geldc" speicher. Kein Wunder, dass nichts ausgelesen werden kann, wenn es nichtmal existiert .
Das Tutorial sollte dir helfen, sonst guck dir das im englischen Wiki an - ist zwar FF aber erfüllt seinen Zweck.
-
Important note: This is a custom function, which can be found in Useful_Functions.
wie wärs einfach mit "playerid"?
-
Timer ganz doofe Lösung.
Bei OnPlayerStateChange oder bei OnPlayerEnterVehicle, doch würd ich dort nich mit Toggle... arbeiten sondern einfach return 0. Wenn das geht -
(343) : warning 201: redefinition of constant/macro (symbol "MAX_PICKUPS") -> MAX_PICKUPS wurde bereits definiert. Musst #undef MAX_PICKUPS und dann deins.
(82964) : warning 203: symbol is never used: "Anim"
(82964) : warning 203: symbol is never used: "Fight_GetXYInFrontOfPlayer"
(82964) : warning 203: symbol is never used: "Fight_OnPlayerConnect"
(82964) : warning 203: symbol is never used: "Fight_OnPlayerKeyStateChange"
(82964) : warning 203: symbol is never used: "FoodMachines"
(82964) : warning 203: symbol is never used: "GetPlayerFightingStyle2"
(82964) : warning 203: symbol is never used: "SetPlayerFightingStyle2"Vllt. sind sind sie in einem FS/einer Include verwendet bzw definiert worden? Einfach gucken oder #pragma unused
Es heißt:
public OnVehicleDeath(vehicleid, killerid) -
definierst einfache eine Variable, wie "Derby" und lässt sie bei /derby oder was auch immer ++ zählen und wenn eriner es verlässt -- und dabei TextDrawSetString verwenden um das Textdraw zu aktualisieren...auf gar keinen Fall nen Timer hernehmen. Das wars auch schon
-
Das sind Koordinate -> Float:
dini_FloatSet .... -
Unter OnGameModInit (soweit ich das vestanden habe ).
Guck dir lieber mal die Scripting Basics and und mach nicht den Fehler, mit komplett falschem zu beginnen....Schritt für Schritt -
!voteban Blitz
mal im Ernst, er hat doch Recht....Ich weiß nicht wie du dich so gehalten hast, aber da sind Sachen teilweise komplett falsch, die man nur mit logischen denken ausbessern könnte. Dann ist das einfachstes Englisch, und bei 1400 Posts muss einem das doch mal passiert sein und er es beheben können.... -
Kenne mich bei soetwas nicht aus , nur mich sprechen die Banner gar nicht an. Von den Clanpages nur die erste, andere etwas einfach....
Die Sendeplangrafiken find ich ganz gut -
1.Du speicherst es überall als "PlayerInfo[playerid][pGeld] = dini_Int(string,"geld");" oder lädst es. außer bei OnPlayerConnect:
GivePlayerMoney(playerid,dini_Int(string,"geldc"));2.
-
GivePlayerMoney(playerid,dini_Int(string,"geldc")); -
SendClientMessage(playerid, HELLBLAU, " Willkommen, auf dem Server"); -
if (dini_Exists(string)) { -
SendClientMessage(playerid, GELB, " Bitte einloggen: /login [Password]")
vor der if Abfrage gibst du ihm schon Geld? Wenn die File nicht existiert?
3. SetPlayerMoney ist - soweit ich sehe - nicht definiert.
-
-
Anthrax,
Sie schreibt, wie er geschrieben hat, was man lesen kann, dass er pGeld=0 macht.
Er meinte, wenn du die Variable nicht benutzt,schreibt er 0 rein.Mal doofe Frage:
Es steht da:
// Einmal
dini_IntSet(string, "pGeld", GetPlayerMoney(playerid));
PlayerInfo[playerid][pGeld] = dini_Int(string, "Geld"); // Beim Laden, also kann das Geld nicht stimmenLiest niemand meine Beiträge? Das ist 1 Grund warum dein Geld nicht geladen wird, und scheinbar übersiehst du das. Und ja, ich bin angefrssen, dass du zoch Thread deswegen aufmachst
-
Meine Posts liest keiner oder? Das selbe hab ich bereits gesagt
-
Weißt du, was dir echt was bringen würde - und uns dazu?
Wenn du dir mal die Basic angucken würdest
http://wiki.sa-mp.com/wiki/Scr…Basics#Control_Structureshttp://wiki.sa-mp.com/wiki/Main_Page
oder hier im Tutorial Bereich und nicht unzählige Threads wegen sowas aufmachen würdest und das bei knapp 1400 Posts
-
Ich glaube du meinst PlayerToPoint (oder die neue native Function), denn was soll das
&& GetPlayerPos(playerid, float:cXX, float:cYY, float:cZZ)) bewirken?Die Funktion speichert die Position in cXX ,cYY und cZZ....
Zudem:
Returns: This function returns coordinates of the current position of the player.und kein 1 oder 0 oder sonstwas
-
Um Blackfox's Post zu rechtfertigen:
Alex Yo hat in seinem "P.S." gefragt, wie man einen string in einen integer umwandelt und darauf war sein richtiges
new wert = strval(string);
bezogen . Klar ist es nicht nötig ,dann man das auch reinziehen kann printf("%d",strval(string)); , doch so zur Erklärung besser.
( Beispiel bei strtok: new giveplayerid = strval(tmp); und ja ich weiß, dcmd ist besser ).Back to Topic:
Ganz ehrlich Blitz, lern Scripten gescheit. Guck dir die CallBacks,Funktionen und Basics an, denn so wird das nie was .Und seine "Selfmade Vorstellung" ist kein "selfmade". Als ich dir geholfen habe per TV sah ich, dass oben stand "(C) by ..." und das war nicht dein Name , sowas finde ich mies. -
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{dialogid ist klar. Du brauchst "response".
if(response) // er hat Kaufen geklickt
if(!response) er hat verlassen geklickt
PlayerID wird ja mitübergeben -
Wie gesagt falsches Thema...
Außerdem das als Scriptwunsch zu machen ist dreist -
Jop. Nur SetTimerEx verbunden mit PlayerID, die ständig laufen, sind keine Gute Lösung...nimm da lieber wie du hast eine Schleife.