Ich will ein ganz neues anfangen
Hier der Link zu dem Video: http://www.youtube.com/watch?v=o1afIhDDc00
Und die autos habe ich unter OnGameModeInit eingefügt
Ich will ein ganz neues anfangen
Hier der Link zu dem Video: http://www.youtube.com/watch?v=o1afIhDDc00
Und die autos habe ich unter OnGameModeInit eingefügt
Ich würde einfach gar keine PlayerClass erstellen... Wenn du am anfang shift bzw. auf Spawn Dürckst wird der Public OnPlayerSpawn aufgerufen. Da kannst du dann z.B. SetplayerPos(playerid, x,y,z) rein schreiben. So kannst du immerhin schonmal auf der Map rummlaufen!
Danke für die hilfe.
Jetzt geht es
P.s. Sry, das ich so druck gemacht habe wollte nur hilfe haben.
MFG lukasf97
new save [13+ MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME;
GetPlayerName(playerid,pName,sizeof(pName));
format(save,sizeof(save),"/Spieler/%s.ini",pName));
Kann mir jemand sagen ob die String Größe optimiert wäre? Was muss ich alles zählen? Muss ich die " " auch dazu zählen? Ich finde leider nicht mehr den Thread wo die Antwort zu meiner Frage steht. Mag mir das jemand kurz beantworten?
Nimm einfach die ungefäre größe...
Bei einer Stringlänge von 13 kannst du auch ruhig 15 nehmen. Bei einer länge von 75 aber nicht 250
Anführungszeichen werden nie mitgezählt..
Jup
//edit
Wobei du solltest einfach folgendes noch ändern, weil es komfortabler ist und Zeilen Spart.
GetName(playerid) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); return playername;}
So kannst Du es einfacher verwenden:
new save [13+ MAX_PLAYER_NAME];
format(save,sizeof(save),"/Spieler/%s.ini",GetName(playerid));
Alles anzeigenJup
//edit
Wobei du solltest einfach folgendes noch ändern, weil es komfortabler ist und Zeilen Spart.
GetName(playerid) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); return playername;}
So kannst Du es einfacher verwenden:
new save [13+ MAX_PLAYER_NAME];
format(save,sizeof(save),"/Spieler/%s.ini",GetName(playerid));
Achso die erste Verbesserung wäre jetzt auf meine Art und das zweite wie es noch Optimierter wäre=?
Genau, so sparst Du Dir einfach jedes mal das ganze "gedudel" mit "GetPlayerName" etc.
hey leute,ich hab n kleines problem.
ich möchte in mein script so n dm dings machen,mit diesen strohballen,die kaputt gehen wenn man draufschießt. aber ich finde nirgendswo die Object ID
Was auch gut ist, wenn du bei OnPlayerconnect einmal GetPlayerName in eine Variabel enspeicherst und dann nur noch diese Aufrufst. Kleines Bespiel:
new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[50];
if(strcmp(cmd, "/test", true) == 0)
{
format(string, sizeof(string), "%s",PlayerName[playerid]);
SendClientMessageToAll(COLOR_LIGHTRED,string);
}
}
Jetzt habe ich aber auch noch mal ne frage ist es besser einen Globalen string[500] zu definieren oder lieber bei jedem public oder sogar bei jedem Befehl einen neuen aber dafür eben mit der genauen größe??
umso weniger, umso besser.
Es ist das beste wenn man einmal den Namen abfragt und den dann in eine globale variable speichert.
Genauso ist das mit anderen sachen auch. wozu 20 mal etwas abfragen, wenn einmal reicht.
hey, hätte ne frage.
Wie kann ich unter ondislogrespnse den Inputtext bei DIALOG_STYLE_INPUT abfragen?
Wie meinst du das Abfragen?
ich habs so:
if(GetPlayerMoney(playerid) >= inputtext)
dass das net geht is klar wie gehts richtig?
strval(inputtext)
wenn der spieler eine Zahl eingibt geht das^^
strval oder halt sscanf, wobei sscanf besser ist
Mal ne Frage:
Wie kann ich eine Nachricht an einen Spieler in einer vorher gewählten Farbe senden?
SendClientMessage(giveplayerid,colorcode,stringtogiveplayerid);
Kommt aber:
tag mismatch
Colorcode ist ein String (new colorcode[12])
Wie soll ich es denn sonst machen?