du musst dich neu als leader aufnehmen
Beiträge von [EGC] selEcT
-
-
ja, da fehlt das:
PlayerInfo[para1][pRank] = 6;
mach es so:
f(strcmp(cmd, "/makeleader", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /makeleader [spielerid/teildesnamens] [Nummer(1-13)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 14 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Die Nummer darf nicht unter 0 und über 13 sein!"); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 1337)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255)
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einer Organisation / Familie!");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLeader] = level;
PlayerInfo[para1][pRank] = 6;
format(string, sizeof(string), "Du wurdest von %s zum Leader gemacht.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Du hast %s zum Leader Level %d gemacht.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
if(level == 0) { PlayerInfo[para1][pChar] = 299; }
else if(level == 1) { PlayerInfo[para1][pChar] = 288; } //Police Force
else if(level == 2) { PlayerInfo[para1][pChar] = 286; } //FBI/ATF
else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //National Guard
else if(level == 4) { PlayerInfo[para1][pChar] = 228; } //Fire/Ambulance
else if(level == 5) { PlayerInfo[para1][pChar] = 113; } //Russische Mafia
else if(level == 6) { PlayerInfo[para1][pChar] = 120; } //Triaden
else if(level == 7) { PlayerInfo[para1][pChar] = 147; } //Mayor
else if(level == 8) { PlayerInfo[para1][pChar] = 294; } //Hitmans
else if(level == 9) { PlayerInfo[para1][pChar] = 227; } //News Reporters
else if(level == 10) { PlayerInfo[para1][pChar] = 61; } //Taxi Cab Company
else if(level == 11) { PlayerInfo[para1][pChar] = 171; } //Driving/Flying School
else if(level == 12) { PlayerInfo[para1][pChar] = 123; } //DaNang Boyz
else if(level == 13) { PlayerInfo[para1][pChar] = 68; } //Orcus Clan
else if(level == 14) { PlayerInfo[para1][pChar] = 275; } //Ordnungsamt
gTeam[para1] = 14;
PlayerInfo[para1][pTeam] = 14;
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
}
}
return 1;
} -
Anmerkungen:
1. Wie soll es beim Art 2 beim Laden wissen, welchen Spieler man meint? (playerid is ja net definiert)
2. Wieso bei OnGameModeInit? Ist ja noch kein Spieler da?
3. Wieso benutzt man beim Speichern WHERE id=%d? Das heisst ja eigentlich, das der erste Spieler der gespeichert wird, ID 0 hat, wenn dann aber beim nächsten mal einer kommt, der im Spiel dann auch ID 0 hat, wird der erste Spieler überschrieben o_O oder seh ich das falsch? und das speichern ist in demfall nur für einen Spieler? (if p == 0)
4. Hats noch irgendwo ein anderes Tut, mit mehr Sachen bei LoadPlayer & SavePlayer?Also das Tut ist ein bisschen komisch finde ich, dennoch gute arbeit..
MFG
-
nimm ma das playerid bei allem raus.. das brauchst da gar net eigentlich
-
was du net sagst ink /camera is für area51, /cam für das andere
-
der befehl für die area51 is net /cam, sondern /camERA
-
würd ich ja machen, allerdings hab ich eben kein zugriff auf den root.. ich kann da leider nix machen.
aber die datenbank wird erstellt vom besitzer des roots. danke für eure hilfe
MFG
-
wir haben keinen hoster, wir betreiben den selber, aber ich hab kein zugriff auf den webspace, da ich nur für den server zuständig bin..
-
ich möchte nur von einer mysql datenbank daten auslesen.. dies geschieht aus dem gamemode (script)..
-
und wie siehts aus mit "normalen" DB-Hostern? Also ohne webspace? gibts die auch?
-
hmm kostenlos wär mir am liebsten.. aber danke für die hilfe..
-
hmm laut forum von square 7 gehts net..
http://forum.square7.ch/viewtopic.php?f=4&t=763
edit: oh, zu spät gesehn.. das isch schade brauch ich jetzt echt nen root mit eigenem webspace?!
-
Ne, bei denen kann man net von aussen auf die MySQL zugreifen (von einer eigenen Applikation)...
-
nein, eigentlich ein Webspace mit einer MySQL-Datenbank, das einzige was ich eigentlich brauch. Eine ständig verfügbare MySQL-Datenbank mit externem zugriff.
-
Hallo leute!
Gibt es gewisse Anbieter, die einen externen Zugriff auf die MYSQL-Datenbank erlauben? Am besten ein kostenloser Anbieter
MFG selEcT
-
ja, aber ich möchte es gerne so lassen
jaa ich hab die abfrage gemacht, da es gleich direkt wieder abfragt, ob die 60 mins erreicht sind. Der Timer sollte ja stimmen, es kommt aber alle 10-15 minuten pro spieler ein payday?!
edit: hmm, hab jetzt die erste abfrage rausgenommen und es funktioniert bis jetzt
-
Moin leute.
Ich hab ein sehr sehr sehr komisches problem!
Ich hab beim script einen Timer eingesetzt, der anfängt zu laufen, sobald sich der Spieler eingeloggt hat (also SetTimerEx("PayDayTimer", 60000, 1, "i", playerid);).
Oben deklariert:
forward PayDayTimer(playerid);
Timer:
public PayDayTimer(playerid)
{
if(PlayerInfo[playerid][pPayDayMins] < 60)
{
PlayerInfo[playerid][pPayDayMins]++;
if(PlayerInfo[playerid][pPayDayMins] == 60)
{
PayDay(playerid);
}
}
else if(PlayerInfo[playerid][pPayDayMins] >= 60)
{
PayDay(playerid);
}
}Das ist der einzige Ort, der PayDayMins verändert (ausser beim PayDay, dort wird er wieder auf 0 gesetzt).
Was ist das Problem?
Muss beim Disconnect des Spielers der Timer gekillt werden?
Ich hoffe jemand kann mir helfen.
MFG selEcT
edit: keine idee?
-
joa, ich habs soweit.. habs auch mit ner for-schleife gemacht.. thx!
-
Du kannst bei den Berechtigungen ganz einfach sagen, wer zugreifen darf und wer nicht.
-
nee ich will einfach testen, ob sitz 2 und 3 (0+1 sind ja fahrer und beifahrer) noch frei ist..