Ja, es gibt bereits R39-3: https://github.com/pBlueG/SA-MP-MySQL/releases
Da ist immer ein Changelog dabei, kannst also alles genau nachlesen ![]()
Ja, es gibt bereits R39-3: https://github.com/pBlueG/SA-MP-MySQL/releases
Da ist immer ein Changelog dabei, kannst also alles genau nachlesen ![]()
Also so wie ich das jetzt verstanden habe, willst du die Variable MaxVeh dynamisch während der Laufzeit ändern und in einer Datei speichern.
Dann musst du das nicht für jeden Spieler machen, sondern kannst das einfach global machen:
//Oben anstatt dem Makro
#define MAX_VEH_PATH "MaxVeh.ini"
new MaxVeh;
//Am besten machst du dir 2 Funktionen:
stock SetMaxVeh(anzahl)
{
new File:f=fopen(MAX_VEH_PATH,io_write),buffer[8];
valstr(buffer,anzahl),MaxVeh = anzahl;
fwrite(f,buffer),fclose(f);
}
stock GetMaxVeh()
{
new buffer[8] = "3";
if(!fexist(MAX_VEH_PATH)) return strval(buffer); //Hier falls es nicht existiert der Defualt Wert 3
new File:f=fopen(MAX_VEH_PATH,io_read);
fread(f,buffer),fclose(f);
return strval(buffer);
}
//Dann unter OnGameModeInit
MaxVeh = GetMaxVeh();
//Und in einem Command oder so kannst du sie so setzen:
SetMaxVeh(5); //dann wäre das z.B. 5
Hoffe du hast es so grob verstanden ![]()
Naja, du machst ein Array:
//Oben in dein Skript schreiben:
stock const Float:checkP[][3] = {
{1436.0986,-1735.5679,13.0875},
{1818.4584,-1911.8336,13.0939},
{2059.4771,-1940.6632,13.0563},
{2008.5358,-1457.9471,13.0952},
{1718.0936,-1414.9360,13.0885},
{1558.5846,-1294.5383,16.4447},
{1427.1154,-1030.7017,23.3610},
{1203.2323,-933.3453,42.4372},
{793.3743,-1354.3220,13.0956},
{561.6163,-1399.9645,14.5171},
{357.1045,-1649.3328,32.5020},
{1143.0398,-1737.3237,13.2442}
};
//Und dann unten einfach so:
switch(Bus[playerid])
{
case 1..12: {
new str[64],id=Bus[playerid]-1;
format(str,64,"Du hast den Checkpoint Nr. %d erreicht.",Bus[playerid]);
SendClientMessage(playerid,GRUN,str);
SetPlayerCheckpoint(playerid,checkP[id][0],checkP[id][1],checkP[id][2], 5.0);
Bus[playerid]++;
}
case 13: {
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,GRUN, "Herzlichen Glueckwunsch Du hast Bestanden");
DestroyVehicle(GetPlayerVehicleID(playerid));
}
}
PS: Mit TogglePlayerControllable(playerid,0); freezt du den Spieler...musst ihn aber wieder entfreezen (TogglePlayerControllable(playerid,1)) mit einem Timer o.ä.
mfg. ![]()
aTickets...ist deine TextDraw id, beinhaltet aber nicht die Anzahl der Tickets ![]()
Dann mach es so:
//Oben ins Skript:
#define IsDriverFromModel(%0,%1) (GetVehicleModel(GetPlayerVehicleID(%0)) == %1 && GetPlayerState(%0) == PLAYER_STATE_DRIVER)
Mit dem Makro kannst du prüfen ob er Fahrer ist und sich in einem bestimmten Auto (modelid befindet).
if(!IsDriverFromModel(playerid,560)) return SendClientMessage(playerid,-1,"Sie befinden sich nicht als Fahrer in einem Sultan!"); //(560 = Sultan)
Hast du eine MySQL-Datenbank auch angelegt auf deinem Server? ![]()
Du hast da Rechtschreibfehler drinnen ![]()
if(sscanf(parmas,"i",pID))
Das zu: if(sscanf(params,"i",pID))
und das zu:
GetPlayerPos(pID,Floatx,Float:y,Floar:z);
SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z);
GetPlayerPos(pID,x,y,z);
SetPlayerCheckpoint(playerid,x,y,z);
[19:54:46] Failed.
Siehst du, die Plugins wurden nicht geladen.
Mach genau das mal: Gamemode lädt nicht
mfg. ![]()
...aber Internet hast du schon oder? ![]()
Mal Firewall ausschalten & evtl Antivirus...und wenn das nicht hilft, einfach mal PC restarten ![]()
an: Unknown!
Dann downloade dir mal das nativechecker Plugin...du lädst nicht alle oder die falsche Version von Plugins ![]()
Downloade dir mal das nativechecker & crashdetect Plugin und poste deinen server_log ![]()
Dir ist klar, dass du einfach einen doppelklick auf die Wand machen kannst und dann werden dir die Texturen aufgelistet? ![]()
sscanf2 ist die Include die du für das Plugin brauchst...(bzw sscanf3)
Hier ist der Thread dazu: http://forum.sa-mp.com/showthread.php?t=570927
Da kannst du dir alles downloaden...
Alles anzeigenbID++;
if(bID >= sizeof(bust1cps))
{
GivePlayerMoney(playerid,6000);
SetPVarInt(playerid,"bus_cp",0);
SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
SendClientMessage(playerid,rot,"Du hast soeben 6.000$ verdient");
}
else
{
SetPVarInt(playerid,"bus_cp",bID);
SetPlayerCheckpoint(playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z],5);
}
return 1;
Schreib das so:
bID++;
if(bID >= sizeof(bust1cps))
{
GivePlayerMoney(playerid,6000);
SetPVarInt(playerid,"bus_cp",0);
SetPlayerCheckpoint(playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z],5);
SendClientMessage(playerid,rot,"Du hast soeben 6.000$ verdient");
}
else
{
SetPVarInt(playerid,"bus_cp",bID);
SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
}
return 1;
SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
SendClientMessage(playerid,rot,"Du hast soeben 6.000$ verdient");
Da ist die Funktion falsch...da macht DisablePlayerCheckpoint(playerid); mehr Sinn ![]()
Ansonsten...ja einfach mal ausprobieren ![]()
aber es werden keine Checkpoints angezeigt ich weiss nicht wieso
Wie sollen da auch Checkpoints angezeigt werden, wenn du nirgends die Funktion SetPlayerCheckpoint verwendest? ![]()
Nein, jedoch klappt dies auch nicht
Sicher, dass du die 32-Bit Version gedownloadet hast?
Wenn ja, mach mal Windows Updates und versuche das: http://www.microsoft.com/en-us…oad/details.aspx?id=40784
mfg. ![]()
Hab ich, funktioniert immer noch nicht
Hast du mich evtl ignoriert mit dem Post: Gamemode lädt nicht
? ![]()