Ich will einen Screen von der Tabelle über PHPMyAdmin z.B.
und dann zeig nochmal das ganze Query xD
Ich will einen Screen von der Tabelle über PHPMyAdmin z.B.
und dann zeig nochmal das ganze Query xD
Kurze Frage,
Warum funktioniert die Zeit nicht richtig? Lasse es Über OnGamemodeInt so abrufen und frage im Befehl so ab:
ocmd:time(playerid)
{
new string[98];
new monatname[24];
switch(Monat)
{
case 1: monatname = "Januar";
case 2: monatname = "Februar";
case 3: monatname = "Maerz";
case 4: monatname = "April";
case 5: monatname = "Mai";
case 6: monatname = "Juni";
case 7: monatname = "Juli";
case 8: monatname = "August";
case 9: monatname = "September";
case 10: monatname = "Oktoboer";
case 11: monatname = "November";
case 12: monatname = "Dezember";
}
if(Spieler[playerid][pTot] > 0){
format(string, sizeof(string), "~y~%02d. %s~n~~g~|~w~%02d:%02d~g~|~n~~w~in behandlung: %d Sekunden", Tag, monatname, Stunde, Minute, Spieler[playerid][pTotTime]);
GameTextForPlayer(playerid, string, 5000, 1);
return 1;
}
if(Spieler[playerid][pJailed] > 0){
if(Spieler[playerid][pJailTime] > 60){
format(string, sizeof(string), "~y~%02d. %s~n~~g~|~w~%02d:%02d~g~|~n~~w~Gefaengnis: %d Minuten", Tag, monatname, Stunde, Minute, (Spieler[playerid][pJailTime]/60));
GameTextForPlayer(playerid, string, 5000, 1);
return 1;
}
else
{
format(string, sizeof(string), "~y~%02d. %s~n~~g~|~w~%02d:%02d~g~|~n~~w~Gefaengnis: %d Sekunden", Tag, monatname, Stunde, Minute, Spieler[playerid][pJailTime]);
GameTextForPlayer(playerid, string, 5000, 1);
return 1;
}
}
format(string, sizeof(string), "~y~%02d. %s~n~~g~|~w~%02d:%02d~g~|", Tag, monatname, Stunde, Minute);
GameTextForPlayer(playerid, string, 5000, 1);
return 1;
}
Alles anzeigen
Die Zeit geht nicht weiter?
Lasse es Über OnGamemodeInt so abrufen
Musst es immer in dem Befehl wieder aufrufen und aktualisieren lassen...sonst geht es natürlich nicht weiter xD
if(PRESSED(KEY_NO))
{
for(new i=0;i<MAX_VEHICLES;i++)
{
if(IsValidVehicle(i))
{
new Float:Pos[3];
GetVehiclePos(i, Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2]))
{
if(GetVehicleModel(i) == 407 || GetVehicleModel(i) == 544)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du kannst dich nur an einem Firetruck und an einem Firetruck LA ausrüsten!");
if(Spieler[playerid][pFraktion] != 3)return SendClientMessage(playerid, COLOR_WHITE, ERROR_FRAKTION);
if(Spieler[playerid][pDuty] != 1)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du bist nicht im Dienst.");
if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du bist in einem Fahrzeug!");
ShowPlayerDialog(playerid, DIALOG_AUSRUESTEN_FEUERWEHR, DIALOG_STYLE_LIST, "{AA3333}Los Santos Rettungsdienst {FFFFFF}| Einsatzfahrzeug","{247BA6}1. {FFFFFF}Feuerloescher\n{247BA6}2. {FFFFFF}Schaufel\n{247BA6}3. {FFFFFF}Kettensaege", "OK", "Abbrechen");
return 1;
}
}
}
}
Alles anzeigen
Hey,
Kurze frage warum kann ich mich an einem RTW, Sultan ect ausrüsten obwohl es nur an der ID 407, 544 gehn soll?
stock saveStreetwar() {
new query[128];
for (new i = 0; i < sizeof(factionNames); i++) {
format(query, sizeof(query), "INSERT INTO `streetwar` (factionid, score) VALUES (%d, %d) ON DUPLICATE KEY UPDATE factionid = %d, score = %d", i, SW_score[i], i, SW_score[i]); //126
mysql_pquery(gSQL, query);
}
return 1;
}
[15:23:31] [debug] #0 003b26cc in saveStreetwar () at C:\Users\User\Desktop\SAMP\pawno\include\core\streetwar.inc:126
Wo liegt den da der Fehler?
MySQL: R39-3
Wie hast du factionNames und SW_score deklariert? Beide müssen die gleiche Array Größe haben.
new factionNames[][] = {
"Zivilist",
"LSPD",
"FBI",
"SAMD",
"SA-NA",
"Ordnungsamt",
"Grove Street",
"Ballas",
"Fahrschule",
"Regierung",
"Yakuza",
"Aztecas",
"Cali Kartell",
"Vagos",
"Agency",
"Nine Demons",
"LVPD",
"Wheelman",
"Army",
"Terroristen",
"LCN",
"Triaden",
"Zollamt"
};
new SW_score[MAX_FACTIONS];
Alles anzeigen
Welchen Wert hat MAX_FACTIONS?
23, bin gerade am Überprüfen ob es der fehler war es stande auf 22 nun schaue ich ob das der fehler tatsächlich war
Wenn es auf 22 war, dann war das der Fehler. Es muss auf 23 stehen.
Mit einem Timer, Stichwort SetTimer.
In das public OnPaintballArea baust du ein, was der Code machen soll. Das musst du ja selbst wissen, was der Code machen soll/muss, um den Modus zu wechseln.
Ich steh gerade echt auf der Leitung
-> Es soll sich einfach der Modus ändern zwischen 1 - 3
new RandomArena[3][e_ArenaData] = {
{1, 24, 29, "Paintball Classic"},
{2, 24, 29, "SIMPSON Classic"},
{3, 24, 29, "Schnee Classic"}
};
ocmd:pbenter(playerid)
{
if(Spieler[playerid][pLevel] < 2)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Um die Paintball-Arena betreten zu können musst du Level 2 sein.");
if(IsPlayerInRangeOfPoint(playerid, 3, Biz[73][bEnterX], Biz[73][bEnterY], Biz[73][bEnterZ]))
{
if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du darfst nicht im Fahrzeug sein.");
if(GetPlayerMoney(playerid) < Biz[73][bEintritt])return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du hast nicht genügend Geld dabei.");
if(Biz[73][bWaren] < 1)return GameTextForPlayer(playerid, "~r~Ausverkauft", 5000, 1);
if(Biz[73][bLock] == 1)
{
if(!strcmp(Biz[73][bBesitzer], GetName(playerid), true))
{
SetPlayerInterior(playerid, RandomArena[pbArena][pbInt]);
if(pbArena == 0){
new rSpawn = random(sizeof(PBRandomSpawnArena1));
SetPlayerPos(playerid, PBRandomSpawnArena1[rSpawn][0], PBRandomSpawnArena1[rSpawn][1], PBRandomSpawnArena1[rSpawn][2]);
}
if(pbArena == 1){
new rSpawn = random(sizeof(PBRandomSpawnArena1));
SetPlayerPos(playerid, PBRandomSpawnArena1[rSpawn][0], PBRandomSpawnArena1[rSpawn][1], PBRandomSpawnArena1[rSpawn][2]);
}
SetPlayerFacingAngle(playerid, 0.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, RandomArena[pbArena][pbWeapon1], 500);
GivePlayerWeapon(playerid, RandomArena[pbArena][pbWeapon2], 500);
pIsPB[playerid] = pbArena;
return 1;
}
else return GameTextForPlayer(playerid, "~r~Abgeschlossen", 3000, 6);
}
else
{
SetPlayerInterior(playerid, RandomArena[pbArena][pbInt]);
if(pbArena == 0){
new rSpawn = random(sizeof(PBRandomSpawnArena1));
SetPlayerPos(playerid, PBRandomSpawnArena1[rSpawn][0], PBRandomSpawnArena1[rSpawn][1], PBRandomSpawnArena1[rSpawn][2]);
}
if(pbArena == 1){
new rSpawn = random(sizeof(PBRandomSpawnArena1));
SetPlayerPos(playerid, PBRandomSpawnArena1[rSpawn][0], PBRandomSpawnArena1[rSpawn][1], PBRandomSpawnArena1[rSpawn][2]);
}
SetPlayerFacingAngle(playerid, 0.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, RandomArena[pbArena][pbWeapon1], 500);
GivePlayerWeapon(playerid, RandomArena[pbArena][pbWeapon2], 500);
pIsPB[playerid] = pbArena;
GivePlayerCash(playerid, -Biz[73][bEintritt]);
Biz[73][bKasse] += Biz[73][bEintritt];
return 1;
}
}
return 1;
}
Alles anzeigen
So betritt man die Paintball Arena aber er nimmt halt immer den Akuellen Modus,
Habe das versucht auch für die Neue Halle spawns einfügen nimmt er die auch Automatisch mit fraglich warum.
-> Heißt jetzt:
Paintball Classic -> Der Modus geht 15 Minuten.
Dann soll zufällig gewählt werden welche Arena jetzt gewählt wird.
Paintball Classic
SIMPSON Classic
Schnee Classic
Der Modus sollte sich halt alle 15 Minuten ändern.
-> Fraglich ist ob man die Spieler die akuell drinne sind in der Arena auch dahin spawn soll..
forward OnPaintballArea();
public OnPaintballArea()
{
new oldArena = pbArena, rSpawn;
pbArena = random(sizeof(RandomArena));
printf("Neue RandomArena: %d", pbArena);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && pIsPB[i] == oldArena)
{
SetPlayerInterior(i, RandomArena[pbArena][pbInt]);
if(pbArena == 0){
rSpawn = random(sizeof(PBRandomSpawnArena1));
SetPlayerPos(i, PBRandomSpawnArena1[rSpawn][0], PBRandomSpawnArena1[rSpawn][1], PBRandomSpawnArena1[rSpawn][2]);
}
else if(pbArena == 1){
rSpawn = random(sizeof(PBRandomSpawnArena2));
SetPlayerPos(i, PBRandomSpawnArena2[rSpawn][0], PBRandomSpawnArena2[rSpawn][1], PBRandomSpawnArena2[rSpawn][2]);
}
SetPlayerFacingAngle(i, 0.0);
ResetPlayerWeapons(i);
GivePlayerWeapon(i, RandomArena[pbArena][pbWeapon1], 500);
GivePlayerWeapon(i, RandomArena[pbArena][pbWeapon2], 500);
pIsPB[i] = pbArena;
}
}
return 1;
}
Alles anzeigen
In deinem Command oben hast du zwei mal PBRandomSpawnArena1 stehen, bei Arena 0 und 1.
Das ist richtig.
15 * 60 * 1000 = 900000
Hallo komme nicht weiter bekomme folgende Fehler:
D:\iTs Maho Selfmade\pawno\include\selfmade\Fahrschule.inc(90) : warning 213: tag mismatch
D:\iTs Maho Selfmade\pawno\include\selfmade\Fahrschule.inc(91) : warning 213: tag mismatch
D:\iTs Maho Selfmade\pawno\include\selfmade\Fahrschule.inc(92) : warning 213: tag mismatch
D:\iTs Maho Selfmade\pawno\include\selfmade\Fahrschule.inc(93) : warning 213: tag mismatch
stock CreateFSTextLabel()
{
fs_textlabel[0] = CreateDynamic3DTextLabel("Fahrschule\nBetreten mit 'ENTER' " , ORANGE, FS_EINGANG_POS, 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0);
fs_textlabel[1] = CreateDynamic3DTextLabel("Fahrschule\nVerlassen mit 'ENTER' " , ORANGE, FS_AUSGANG_POS, 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, FS_VIRTUALWORLD);
fs_textlabel[2] = CreateDynamic3DTextLabel("Fahrschule Dach\nBetreten mit 'ENTER' " , ORANGE, FS_DACH_EINGANG_POS, 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0);
fs_textlabel[3] = CreateDynamic3DTextLabel("Fahrschule Dach\nVerlassen mit 'ENTER'" , ORANGE, FS_DACH_AUSGANG_POS, 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0);
return 1;
}
fs_textlabel[0] ist Zeile 90.
fs_textlabel[1] ist Zeile 91.
fs_textlabel[2] ist Zeile 92.
fs_textlabel[3] ist Zeile 93.