Das geht bei Arrays aus einem enum nicht.
Du musst format oder strcat nutzen.
format(Spieler[playerid][p_IP], 16, playerIP);
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Wie ändere ich einen Laufstil im SPiel?
-
UsePlayerPedAnims();
unter OnGameModeInit -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Wie hast du p_IP im enum deklariert?
Wie gibst du die Variable aus? -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
enum SpielerInfo
{
p_IP[16]
};
new Spieler[MAX_PLAYERS][SpielerInfo];//Du kannst es auch einfach so schreiben:
GetPlayerIp(playerid, Spieler[playerid][p_IP], 16); -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
kurz eine kleine Frage:
if(GetPlayerScore(playerid)==0)return SetPlayerScore(playerid,1);
SetPlayerScore(playerid,cache_get_field_content_int(0,"level",dbverbindung));Wenn das Lvl nicht gleich 0 ist möchte ich es auf 1 setzen,
aber egal ob es lvl 0,1,2... ist möchte ich das was darunter steht ausführen.So wie ich das jetzt habe wird ja nur das nach dem return ausgeführt wenn der Spieler Lvl 0 ist.
Oder MUSS ich das dann ganz nach unten setzen?
-
if (!GetPlayerScore(playerid)) SetPlayerScore(playerid, 1);
SetPlayerScore(playerid, cache_get_field_content_int(0, "level", dbverbindung));Allerdings verstehe ich den Sinn deines Vorhabens noch nicht so ganz. Wenn sowieso ein PlayerScore durch die SQL gesetzt wird, warum dann erst der umständliche Kram davor? :p
-
Ich habs so gemacht, dass beim einloggen das Level aus der Datenbank direkt ausgelesen wird.
Jetzt war das Problem beim registrieren ist man ja Level 0 und da ich gleich nach dem Register den Login aufrufe dass er immer Level 0 aus der DB rauslädt.
Noch eine Frage:
public Onblabla
{
if(.........)
{
.....
}
else
{
if(GetPlayerScore(playerid)==0)return 1;
}
Wird das was hier steht dann noch ausgeführt?
}Eigentlich wird das nach dem return ja nicht mehr ausgeführt, aber hier dann schon oder? Weil das return ja nur auf das was im else drin steht bezogen ist oder?
also wenn unter dem if(GetPlayerScore(playerid)==0)return 1; direkt etwas steht wird das nicht ausgeführt richtig?
-
Wenn der Else-Block zutrifft und darin ein return vorkommt, wird danach NICHTS mehr ausgeführt. return = Callback zuende.
Warum setzt du bei der Registration das Level nicht einfach direkt auf 1, an der Stelle, wo du den SQL-Eintrag für den User erstellst? Dafür kann SQL sowas ja extra :p -
Beitrag von IceWave ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Hallo,
Wie macht man ein Skript z.B. Wenn man /auf macht geht das Auto auf und bei /zu Das Auto zu.
-----------------------------
Wie macht man, wenn ein Spieler die Taste '' N'' Drückt geht das Motor an und wenn man Wieder auf die Taste '' N'' drückt geht das Motor wieder aus.Danke schonmal im Vorraus.
MFg
SST -
Hey leute, ich habe eine kleine Frage undzwar, was wenn mein format zu lange wird? ich bin gerade dabei Stats in Textdraws zu machen und wollte fragen ob ich das:
format(string,sizeof string,"Privat:~n~----------~n~Name: ~g~%s~n~~w~Alter: ~g~%s~n~~w~Geschlecht: ~g~%d~n~~w~Level: ~g~%d~n~~w~Levelpunkte: ~g~%d~n~~w~Spawnenergie: ~g~%d~n~~w~Leben: ~g~%d"/*~n~~n~~n~~w~Arbeit:~n~----------~n~Beruf: ~g~%d~n~~w~Job: ~g~%d~n~~n~~n~~w~Geldverwaltung:~n~----------~n~Bargeld: ~g~%d~w~~n~Bankguthaben: ~g~%d~w~~n~"*/,SpielerName(playerid));Irgendwie in 2 Zeilen machen kann? aber es soll das selbe Format sein.
//Habe es selbst hinbekommen.
Mit freundlichen Grüßen
-
Yo ich hab ne Frage.
Und zwar wenn ich /smokeweed mache das halt man immer 25% Armour dazu bekommt, wie mache ich dies?
ocmd:smokeweed2(playerid, params[])
{
if(PlayerInfo[playerid][sWeed] > 0)
{
new Float:PlayersHealth;
GetPlayerHealth(playerid, PlayersHealth);
PlayerInfo[playerid][sWeed] -= 2;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GiveNameSpace(sendername);
SaveDrugs(playerid);
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "* Du hast kein Weed mehr");
}
return 1;
} -
Du frägst ab wieivel Armour der Spieler hat rechnest das + 25 und Settest dann das Armour neu, GivePlayerArmour gibt es nicht, kannst dir dafür aber eine Funktion schreiben

Edit: Beim else fehlt die Klammer

-
Ich nehme an du willst erst die Health voll machen, und dann die Armour, oder?
Dann so:ocmd:smokeweed2(playerid, params[])
{
if(PlayerInfo[playerid][sWeed] > 0)
{
new Float:pHealth, pArmour;
GetPlayerHealth(playerid, pHealth);
GetPlayerArmour(playerid, pArmour);
if(pHealth == 100.0 && pArmour == 100.0) return SendClientMessage(playerid, COLOR_WHITE, "* Du brauchst kein Weed mehr.");
if(pHealth > 100.0 || pArmour > 100.0) return SendClientMessage(playerid, COLOR_WHITE, "* Du bist ein Cheater.");
if(pHealth + 25.0 <= 100) SetPlayerHealth(playerid, pHealth+25.0);
else
{
SetPlayerHealth(playerid, 100.0);
pArmour += pHealth-75;
if(pArmour > 100.0) pArmour = 100.0;
SetPlayerArmour(playerid, pArmour);
}
PlayerInfo[playerid][sWeed] -= 2;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GiveNameSpace(sendername);
SaveDrugs(playerid);
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "* Du hast kein Weed mehr.");
}
return 1;
} -
hi, ich möchte gerade einen setskin Befehl machen,
funktioniert auch alles, nur beim erneuten einloggen habe ich den Skin der bei OnPlayerRequestClass unter SetSpawnInfo steht.Muss ich dann unter diesem Callback meine Skinid aus der DB laden oder geht das anders auch?
-
Muss ich dann unter diesem Callback meine Skinid aus der DB laden oder geht das anders auch?
Genau dann, wenn du auch deine anderen Daten wie (Geld) o.ä. lädst, genau da lädst du auch den Skin in eine Variable.und dann unter OnPlayerSpawn, machst du dann:
SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
mfg.


