Kann mir das alles nicht erklären.
Das passiert, wenn man die Variable nicht cleart, sondern nur etwas löscht ![]()
z.B.:
Delete3DTextLabel(x);
x=-1; //z.B. nicht gemacht..
Kann mir das alles nicht erklären.
Das passiert, wenn man die Variable nicht cleart, sondern nur etwas löscht ![]()
z.B.:
Delete3DTextLabel(x);
x=-1; //z.B. nicht gemacht..
Dann so:
stock GetClosestATM(playerid)
{
new index=-1;
for(new Float:max=9999.0,Float:dis,i; i<sizeof(ATM); i++)
{
dis = GetPlayerDistanceFromPoint(playerid,ATM[i][atmX],ATM[i][atmY],ATM[i][atmZ]);
if(dis < max) max=dis,index=i;
}
return index;
}
//Nutzung:
new i = GetClosestATM(playerid);
if(i==-1) return print("Array mit ATMs ist leer!");
//ATM[i][atmX]
//ATM[i][atmY]
//ATM[i][atmZ]
//Closest Pos
Alles anzeigen
Frage dann zB mit ner for-Schleife ab.
Zeig mal den Variablen Namen und das enum ![]()
Schau mal was im MySQL Log steht und poste das evtl hier ![]()
..die Daten in der Tabelle sind alle 0...
Ehh du musst schon ein paar Testdaten drinnen haben..sonst ehh lädst er auch nur eine 0 ![]()
Ich hab aber das hier 2x:
Dann hast du...2x INSERT gemacht ![]()
Solltest nur 1x machen..
mit einem Delete query..oder einfach glaube iwo gibts da n klick zum löschen...
Es ist natürlich wichtig..dass nur eine Reihe existiert...
Nutze eventuell einfach mal nur format, anstatt mysql_format ![]()
and dem pquery kann es eigentlich nicht liegen, da hier ein neuer Thread gestartet wird...
Wird aber dann nicht in der DB ediitiert ...
...dooch wenn du in der Funktion bei onkeydown einen Ajax request machst..zu einem PHP Skript...und diesen Wert übergibst, kann dieser geändert werden in der Datenbank ![]()
Kann mir jemand sowas mal zeigen bitte?
Bin mir nicht ganz sicher was du suchst...
meinste sowas: https://jsfiddle.net/s3ksv8h8/
Wenn ja, kannste einfach einen Ajax Request noch hinzufügen der das dann alles Server-Seitig prüft ![]()
Kannst du mal die Deklaration der Funktionen von SchonGewusst und ShowInfo zeigen? ![]()
..dann zeig mal wie du das alles jetzt gemacht hast.. ![]()
Was ich mach ich bei der Funktion falsch?
Du musst einen Callback aufrufen...
stock LoadFreeRentVehicles()
{
mysql_pquery(handle, "SELECT id FROM free_rent_vehs", "LoadRentCache");
return 1;
}
forward LoadRentCache();
public LoadRentCache()
{
new rows, id;
cache_get_row_count(rows);
printf("Gefundene Rows: %i", rows);
if(rows == 0) return 1;
for(new i = 0; i < rows; i++)
{
cache_get_value_name_int(i, "id", id);
printf("Lade ID: %i", id);
LoadFreeRentVehicle(id);
}
return 1;
}
Alles anzeigen
Dr. Frauenarzt: Dein Fehler...ist aufgrund des Codes nicht ersichtlich...
Zeig nochmal genau..der Code der ausgegeben wird..und der Ausgegeben werden sollte..markiere das am besten jeweils ![]()
Die Errors treten auf, da du nicht die neuste SA:MP Include (Server) Version hast...
Downloade dir hier den neusten Server: http://www.sa-mp.com/download.php
das return 1 in der Schleife entfernen da es sonst nur einmal gesendet wird und setze das SetPlayerArmour und PlayerPlaySound nach oder vor der schleife da du es sonst pro spieler in der Fraktion hörst / Rüstung bekommst. @Kaliber
Nein..das ist alles richtig so.
Es soll nur der Spieler Rüstung bekommen, der den Command eingibt...
Hier mal deinen Code umgeschrieben..das sollte eigentlich reichen:
ocmd:getarmour(playerid)
{
if(!DarfPlayerCommand(playerid)) return ErrorMsg(playerid,"Du kannst keine Befehle benutzen.");
switch(SpielerInfo[playerid][Frakt])
{
case 2: if(!IsPlayerInRangeOfPoint(playerid,3,1712.0771,-1640.1244,20.2239)) return ErrorMsg(playerid,"Du kannst dich hier nicht ausrüsten.");
case 4: if(!IsPlayerInRangeOfPoint(playerid,3,1174.6534,-1186.5641,995.9297)) return ErrorMsg(playerid,"Du kannst dich hier nicht ausrüsten.");
case 5: if(!IsPlayerInRangeOfPoint(playerid,3,2498.6194,-1710.2561,1014.7422)) return ErrorMsg(playerid,"Du kannst dich hier nicht ausrüsten.");
case 8: if(!IsPlayerInRangeOfPoint(playerid,3,505.9581,-87.2091,998.9609)) return ErrorMsg(playerid,"Du kannst dich hier nicht ausrüsten.");
case 9: if(!IsPlayerInRangeOfPoint(playerid,3,960.7534,-59.3062,1001.1172)) return ErrorMsg(playerid,"Du kannst dich hier nicht ausrüsten.");
case 10: if(!IsPlayerInRangeOfPoint(playerid,3,-559.5900,2544.5581,31.5023)) return ErrorMsg(playerid,"Du kannst dich hier nicht ausrüsten.");
default: return ErrorMsg(playerid,"Du bist nicht in der jewaligen Fraktion.");
}
if(gettime()<SpielerInfo[playerid][AntiHealInFight])
{
new healtime=SpielerInfo[playerid][AntiHealInFight]-gettime();
format(string,sizeof(string),"Du kannst dich erst wieder in %i:%02d Minuten heilen oder eine Rüstung überziehen.",healtime/60,healtime%60);
return ErrorMsg(playerid,string);
}
for(new i; i<MAX_FBANKEN; i++)
{
if(Fbank[i][Fraktion]!=SpielerInfo[playerid][Frakt]||!Fbank[i][fwesten]) continue;
Fbank[i][fwesten]-=1;
format(string,sizeof(string),"<< Fraktionsmitglied %s hat sich eine Schutzweste aus der Fbank genommen. >>",SpielerName(playerid));
sendFraktMsg(SpielerInfo[playerid][Frakt],COLOR_LIGHTBLUE,string);
PlayerPlaySound(playerid,1054,0.0,0.0,0.0);
SetPlayerArmour(playerid,100);
return 1;
}
return ErrorMsg(playerid,"Es befinden sich nicht mehr genügend Westen in der F-Bank.");
}
Alles anzeigen
Nah mein Fehler..anscheinend brauchste bei der Funktion kein true..lösch das raus, also nur:
mysql_pquery(handle, "SELECT * FROM geldverwaltung", "LoadGeldverwaltung");
Mach mal:
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname,sizeof(botname));
if(!strcmp(botname,"BOT0",true))SetPlayerSkin(playerid,1);
return 1; //Das hier ist wichtig!
}
Und ... zeig mal dein NPC-Skript...das muss ja auch ein OnFoot NPC sein und so ![]()
PS: a_npc brauchst (bzw sollst) du in deinem Gamemmode nicht inkludieren, dass ist nur für NPC-Skripte gedacht ![]()
...mach das mal so wie ich das geschrieben habe...es geht hier um LoadGeldverwaltung..
Wie rufst du denn LoadGeldverwaltung auf? ![]()
Das sollte ungefähr so aussehen:
mysql_pquery(handle, "SELECT * FROM geldverwaltung", true, "LoadGeldverwaltung", "");
und aus dem stock mach mal ein:
forward LoadGeldverwaltung();
public LoadGeldverwaltung()
{
Unter OnPlayerRequestClass füg mal:
SetSpawnInfo(...);
SpawnPlayer(playerid);
Für den Bot hinzu ![]()
Und vergewissere dich, dass diese IsPlayerNPC Abfragen auch wirklich immer ganz oben im Callback stehen ![]()