Function OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid,Copyright);
TextDrawShowForPlayer(playerid,Datum);
if(PlayerInfo[playerid][pTot] == 1)
{
GameTextForPlayer(playerid, "~r~Gestorben!", 5000, 3);
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_LIGHTRED, " ");
SendClientMessage(playerid, COLOR_YELLOW, "::... Krankenhaus ...:::");
SendClientMessage(playerid, COLOR_LIGHTRED, "Da du keine hp mehr hattest wurdest du ins. ");
SendClientMessage(playerid, COLOR_LIGHTRED, " Krankenhaus gebracht. ");
SendClientMessage(playerid, COLOR_LIGHTRED, " Du wirst etwa 30 Sekunden behandelt. ");
SendClientMessage(playerid, COLOR_LIGHTRED, " Pass in Zukunft besser auf dich auf! ");
SetPlayerSpawn(playerid);
if(IsPlayerInFrac(playerid, 1))
{
SetPlayerColor(playerid,NAMECOLOR_LSCOP);
}
else if(IsPlayerInFrac(playerid, 4))
{
SetPlayerColor(playerid, NAMECOLOR_MEDIC);
}
else
{
SetPlayerColor(playerid,TEAM_HIT_COLOR);
}
ResetPlayerWeapons(playerid);
return 1;
}
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
Es wird anscheinend die Variable pTot gespeichert und beim Login geladen
-
PlayerInfo[playerid][pTot] =0;
das bei OnPlayerConnect rein -
Und wie kann ich das vermeiden? Weil das regt die User schon auf immer beim login 1 minute im Krankenhaus zu liegen
-
PlayerInfo[playerid][pTot] =0;
das bei OnPlayerConnect rein
erst lesen dann Posten
das is die antwort -
Guten Abend/Morgen,
Ich hätte ein paar kurze Fragen:
1. Wenn ich in meiner Datenbank eine Minute als "noch abzusitzende" Zeit angebe, also 3600ms, werde ich bereits kurz nach dem spawnen schon "befreit". Woran liegt das? Und existiert eine bessere Möglichkeit zu runden?
innerhalb OnPlayerSpawn():
if(pData[playerid][pJailtime] != 0) {
if(pData[playerid][pJailid] == 1)
{
SetPlayerPos(playerid,3113.17,-852.35,11.24);
knasttime = SetTimerEx("freedom", pData[playerid][pJailtime], false,"i", playerid);
new knastzeit[128];
new timesec,
timemin;
timesec = floatround(pData[playerid][pJailtime]/60,floatround_floor);
timemin = floatround(timesec/60,floatround_floor);
format(knastzeit,sizeof(knastzeit),"Du musst noch %i Sekunden (%i Minuten) absitzen.",timesec,timemin);
SendClientMessage(playerid, 0xFFFFFF,knastzeit);
} else {
SetPlayerPos(playerid,3113.17,-852.35,11.24);
knasttime = SetTimerEx("freedom", pData[playerid][pJailtime], false,"i", playerid);
new knastzeit[128];
new timesec,
timemin;
timesec = floatround(pData[playerid][pJailtime]/60,floatround_floor);
timemin = floatround(timesec/60,floatround_floor);
format(knastzeit,sizeof(knastzeit),"Du musst noch %i Sekunden (%i Minuten) absitzen.",timesec,timemin);
SendClientMessage(playerid, 0xFFFFFF,knastzeit);
}
}2. Wie kann ich einen Command realisieren, der die verbleibende Zeit anzeigt? Einen Timer zu setzen wäre doch möglich, jedoch ists doch nicht gerade ressourcenschonend...?
Vielen Dank schon im Vorraus!
-
1. 1 Sekunde = 1000 Millisekunden. 1 Minute = 60 * 1000 = 60.000. - Du solltest dich bei 3600 Millisekunden noch 3.6 Sekunden im Gefängnis befinden.
2. floatround() ist eine wunderbare Möglichkeit zum Runden, die dir verschiedene Optionen offen stellt. Ich würde dabei bleiben.
3. Irgendwie musst du eben die Zeit runterzählen, im Timer wäre dies die beste Möglichkeit. Du könntest jede Minute einfach die Gefängniszeit heruntersetzen, somit wird nur jede Minute der Timer aufgerufen. -
Hat Jemand eine Liste für solche Farben wo man in einer SendClientMessage verwenden kann? Also so zb:
{00FF5A}Teammitglied{FAFAFA}
Also die Farben in den Geschweifen Klammern.
mfg -
Nimm den SA:MP Colorpicker, stell auf HTLM und da hasste deine Codes.
lg
#E: Natürlich Raute (#) weglassen.
-
Hey Leute, habe heute mal selbst ein Problem.
Und zwar habe ich 15 Fahrzeuge mit der Variable WheelVehs erstellt.
Diese werden auch alle richtig erkannt, etc., wenn ich aber Abfrage, ob die
Vehicleid (OnVehicleSpawn) gleich der Variable WheelVehs[8] (bei 8-14) ist, erkennt er das Fahrzeug nicht.Ich möchte also diese Fahrzeuge einzeln tunen, wenn sie spawnen und es funktioniert nur bis zur 7, die 8 - 14 bleiben ungetunt.
MfG
ATzeGER_ -
hey leute,ich hab da ein kleines Problem mit nem Register/Loginsystem,eher mein Freund.
Wäre nett,wenn ihr mir helfen könnt.
weitere Infos:
Unser Problemchen ...MFG
-
Morgen,
kann mir einer eventuell folgendes erklären:
Ich möchte 2 Tore erstellen, diese sollen aber nur zwischen 6 Uhr frühs und 22 Uhr abends geöffnet sein, sprich das diese sich 22 Uhr schließen und 6 Uhr wieder öffnen. Kann man das irgendwie scripten? -
abfrage via gettime
ist die Zahl unter 20 uhr dann gehts darüber error -
Hallo,
Ich habe mich gefragt ob es in Pawn eine ähnliche Schleife bzw. Funktion gibt wie diese Schleife bei einer PHP-MySQL Abfrage:
while, klar. -
Morgen,
kann mir einer eventuell folgendes erklären:
Ich möchte 2 Tore erstellen, diese sollen aber nur zwischen 6 Uhr frühs und 22 Uhr abends geöffnet sein, sprich das diese sich 22 Uhr schließen und 6 Uhr wieder öffnen. Kann man das irgendwie scripten?
//muss in einem Timer sein oder Befehl
new hour,min,sec;
gettime(hour,min,sec);
if(hour >= 6 && hour <= 22)
{
//öffne tor
}
else if(hour >= 22 && hour < 6) //da bin ich mir grade ncht sicher :O bissl spät
{
//schließe tor
} -
Guten Morgen.
Ich habe eine Frage, Undzwar Lerne ich Momentan Mysql Auswendig.
Einen teil Von Mysql kann ich Schon, Aber wenn Ich jetzt Z.b Eine Neue Tabelle machen will.
Wie muss Ich dies dan im Script Auslesen?MFG
ShiNuX -
versuch ma das
mysql_query("CREATE TABLE IF NOT EXISTS `ServerLog` (`id` int(11) AUTO_INCREMENT, `Name` varchar(255), `Action` varchar(255), `Date` varchar(255), `Time` varchar(255), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;"); -
@RedJoker.
Habs schon Hinbekommen, Aber trotzdem Danke für den Tipp.MFG
ShiNuX -
Wie benutzt man strcmp mit Bezug auf dini_Get?
if(strcmp(0,dini_Get(Playerdatei,"Eingeloggt"),true))
Es soll so sein:
Wenn in der Playerdatei bei "Eingeloggt" 0 steht soll der Spieler sich anmelden können.
Wenn in der Playerdatei aber anstatt 0 1 bei Eingeloggt steht soll er das nicht können.Leider bekomm ich das mit strcmp nicht hin.
-
Die Funktion strcmp, wie schon die ersten drei Buchstaben aussagen, vergleicht zwei Variablen vom Typ 'String'. Daher solltest du wie folgt vorgehen:
if(dini_Get(Playerdatei,"Eingeloggt") == 0)
{
// ...
}
Falls du trotzdem Wissen möchtest wie es möglich wäre, siehe hier:
new str[2], val[2];
valstr(val, "0");
valstr(str, dini_Get(Playerdatei,"Eingeloggt"));
if(strcmp(val, str, true))
{
// valstr() formt einen Integer in einen String um, wodurch es möglich wird strcmp zu verwenden.
} -