Du hast aber nicht gesagt, welche Leute es sehen dürfen.
Beiträge von Templer
-
-
Indem du folgendes einfügst, wenn du ins SFPD eintretest:
SetPlayerVirtualWorld(playerid,2);
und das einfügen, wenn du aus dem SFPD wieder gehst:
SetPlayerVirtualWorld(playerid,0);
-
Natürlich per ShowPlayerDialog Hab im Anhang das obige Tutorial umgewandelt in ein Dialog basiertes, wo man einfach neue Zeilen einfügen kann, ohne was am Code unten zu ändern. Sogar mit Weiter und Zurück Navigation ^^.
-
Da hilft ihm selbst format nichts. Sandy der Compiler hat Recht und nur weil du mit format es austauschen würdest, würde dann am Ende ein Zeichen fehlen, der Grund dafür is logisch (Programmier Grundlagen)
\0NULL character
Ends a string.Bedeutet jeder String benötigt am Ende diesen Character, damit Beispielsweise die Funktion strlen die Länge vom Inhalt richtig ausgeben kann.
Bsp:
Civilian - ArraySize = 9 => "C i v i l i a n \0"
Thorsten - ArraySize = 9 => "T h o r s t e n \0"
Mama - ArraySize = 5 => "M a m a \0"
Admin - ArraySize = 6 => "A d m i n \0"Die Leerschritte symbolisieren die Arrayzahl, also beim ersten steht in
[0] das 'C'[1] das 'i'..[8] das \0
usw
-
Habe es mir angeschaut und sehe, dass der Blackfox eine Zeile bei OnPlayerDisconnect fehlt
Füge in OnPlayerDisconnect folgendes hinzu:
GetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
damit die Position auch vor dem Speichern ermittelt wird.
-
In dem Fall die Array Größe von cmd und tmp erhöhen.
-
Also hier nun die Sachen was ich durchgeführt hab zum debuggen:
- Alle Tags "MySQL:" entfernt, da Sie total sinnlos sind.
- Bei einer "Mysql_Connect" Funktion den Parameter für die Verbindungsnummer weggelassen.Fazit:
Anscheinend buggt er mim Verbindungsparameter... Wozu erstellt der entwickler überhaupt solche sachen ein?!
Nebenbei hab ich iwie eh schon total genug, denn beim SQL Plugin von GStylezz wiedergibt die mysql_connect Funktion immer nur den Wert 1 und stellt nicht mehrere Verbindungen her und bei Strickenkid seinem ist der oben genannte Fehler..
Der Witz, dies alles passiert nur unter Linux-Servern. Also besorgt euch mehr Windows Server
-
Um mehrere Verbindungen zum SQL Server herstellen zu können und ich dann mehrfache SQL Operationen ineinander durchführen kann, ohne das die abgefragten Daten durcheinander kommen.
Edit:
@ Trooper: Aber ich muss mehrere Verbindungen aufbauen lassen, ansonsten spinnen meine SQL Abfragen (Siehe erste Zeile von diesem Beitrag) -
hab ich doch eh oben stehen??
EDIT:
Nun ich bin mir irgendwie nicht sicher ob die Funktion
#define CHECK_PARAMS(f, n, r) \
{ \
if ( params[ 0 ] != ( (n) * sizeof( cell ) ) ) \
{ \
logprintf( "Function: %s called with incorrect parameter count.", (f) );\
return (r); \
} \
}auch richtig verwendet wird mit
cell AMX_NATIVE_CALL Natives::n_mysql_connect( AMX *amx, cell *params )
{
CHECK_PARAMS( "mysql_connect", 6, -1 );
//...
}Den eig. kommt ja ein negativer Wert dabei heraus und blockiert mich, oder irre ich mich hier?
EDIT 2: Ok nein sry, falsch gesehen, da 'r' sowieso per return wiedergegeben wird..
-
Hallo,
Auch wenn dieses Problem klein erscheint, finde ich es doch ziemlich groß ^^.
Folgendes:
Wenn ich, sagen wir beim starten des Scriptes, folgendes ausführe
new MySQL:test=mysql_init(LOG_ALL);
mysql_connect("localhost", "sampuser", "pw", "samp_db", test);gibt er in den Log´s folgendes aus
Function: mysql_connect called with incorrect parameter count.
Obowhol meine Funktionen der native´s entsprechen und ich auch am Server die aktuellste Bibliotheksdatei bereits hochgeladen hab.
native MySQL:mysql_init(logtype = LOG_ONLY_ERRORS, printerrors = 1);
native mysql_connect(const host[], const user[], const pass[], const db[], MySQL:handle = (MySQL:0), auto_reconnect = 0);Link zum Plugin: http://forum.sa-mp.com/showthread.php?t=122983
Hoffe jemand hat Rat Danke!
-
Also ich weiß ned wo das Problem bei dir liegen soll Maddin...
Ich hab folgenden Code getestet (schräge Variante um Sicherzugehen ^^)
#include <a_samp>
#define STREAM_URL_TECHNOBASE ("http://listen.technobase.fm/dsl.asx")
main()
{
new string[128];
format(string,sizeof(string),"%s",STREAM_URL_TECHNOBASE);
printf("%s",string);
} -
Also als Scripter muss man wissen wie die Materie funktioniert und aus meinem Samp Wissen bedeutet dies das du entweder...
A) Gebannt wurdest (Ban)
B) Gekickt wurdest (Kick)Nun weißte vorerst wonach du suchen musst
-
Ah scheiße, entschuldige... Kommt aus schlampigkeit
dcmd_m(playerid,params[])
{
if(gTeam[playerid] != TEAM_COPS) return SendClientMessage(playerid,0xC8C8C8FF,"Sie sind kein Polizist.");
if(!IsAPoliceCar(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,0xC8C8C8FF,"Sie sind in keinem Polizeiwagen.");
new playername[MAX_PLAYER_NAME],string[128],Float:PlayerPos[3];
GetPlayerName(playerid,playername,sizeof(playername));
if(sscanf(params,"s[64]",string))return SendClientMessage(playerid,0xC8C8C8FF,"/m(egaphon) [Text]");
format(string,sizeof(string),"[[Officer %s: %s]]", playername,string);
GetPlayerPos(playerid,PlayerPos[0],PlayerPos[1],PlayerPos[2]);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerInRangeOfPoint(i,100.0,PlayerPos[0],PlayerPos[1],PlayerPos[2])) continue;
SendClientMessage(i,0xF5FF00FF, string);
}
return 1;
} -
Kopier den obigen Code neu, hatte ganz am Anfang nen Fehler
-
Probiers mal aus:
IsAPoliceCar(vehicleid)
{
for(new i = 0; i < sizeof(policecars); i++) if(vehicleid==policecars[i]) return true;
return false;
}dcmd_m(playerid,params[])
{
if(gTeam[playerid] != TEAM_COPS) return SendClientMessage(playerid,0xC8C8C8FF,"Sie sind kein Polizist.");
if(!IsAPoliceCar(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,0xC8C8C8FF,"Sie sind in keinem Polizeiwagen.");
new playername[MAX_PLAYER_NAME],string[128],Float:PlayerPos[3];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"[[Officer %s: %s]]", playername,string);
GetPlayerPos(playerid,PlayerPos[0],PlayerPos[1],PlayerPos[2]);
if(sscanf(params,"s[64]",string))return SendClientMessage(playerid,0xC8C8C8FF,"/m(egaphon) [Text]");
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerInRangeOfPoint(i,100.0,PlayerPos[0],PlayerPos[1],PlayerPos[2])) continue;
SendClientMessage(i,0xF5FF00FF, string);
}
return 1;
} -
Der Kollegah El_Cid hat es fast geschafft nur ich glaube das du das mit dem
gTeam[playerid]!= TEAM_COPS
so wolltestZum eigentlichen, zeig mal die Definition von policecars
Bei einem Array Overflow wird der Code ja abgebrochen.
EDIT://
Solltest du das neue sscanf nützen, so bitte nutz es bei Strings so..
sscanf(params,"s[64]",text)
damit sscanf weiß, wie groß der Text sein darf, da er sonst standartmäßig glaube nur 32 Zeichen verwendet.
-
-
Generell nur an SetSpawnInfo oder am CallBack OnPlayerSpawn, wenn du statt "SetSpawnInfo" "SetPlayerPos" verwendest
-
Nein Nein, wenn es eine Art Musik ist die Nie aufhört, dann brauchst du es, aber sollte der Sound nach der Zeit aufhören und du musst es erneut starten lassen, brauchst du es ned. Verstanden?
-
VehiclePos[vehicleid][0] = dini_Float(DATEINAME,"VehiclePosX");
VehiclePos[vehicleid][1] = dini_Float(DATEINAME,"VehiclePosY");
VehiclePos[vehicleid][2] = dini_Float(DATEINAME,"VehiclePosZ");und mehr ises eigentlich nicht, den Rest müsstest von DINI eh kennen.
//EDIT Warte kurz mim Lesen bearbeite kurz den Beitrag
//EDIT2:
So hab dir es erweitert:#
new rstring[128];
for(new vehicleid=0;vehicleid!=MAX_VEHICLES;vehicleid++)
{
if(AbfrageObFahrzeugAbgeschlepptIst) { }
format(rstring,sizeof(rstring),"AbgeschleppteFahrzeuge/Vehicle_%d.ini",vehicleid);
VehiclePos[vehicleid][0] = dini_Float(rstring,"VehiclePosX");
VehiclePos[vehicleid][1] = dini_Float(rstring,"VehiclePosY");
VehiclePos[vehicleid][2] = dini_Float(rstring,"VehiclePosZ");
//Sonstige Abspeicherungen der Variablen
}