In deinem GameMode ändere da deinen Callback zu:
OnPlayerDisconnect(playerid, reason)
du hast den Parameter vergessen bei dir ![]()
In deinem GameMode ändere da deinen Callback zu:
OnPlayerDisconnect(playerid, reason)
du hast den Parameter vergessen bei dir ![]()
//Edit: Boahh den Code kann man ja nochmal aufklappen
sry..
Du musst in deiner Form noch den Pfad von dem File angebenen...
mit action="phpscript.php"
Du musst mit isset arbeiten...damit du weißt, ob nun die Variable existiert oder nicht ![]()
Eigentlich müsstest du einen Fehler bekommen...
PS: Man sieht nicht wie du die session startest bzw setzt...um auf den Namen eigentlich zuzugreifen..
Unter OnDialogResponse...der Code wäre relevant ![]()
...wie vergleichst du den inputtext, mit dem Text aus dem File? ![]()
Ehh ich weiß nicht genau was du vor hast...
Aber wenn er einen Text in einen Dialog eingibt, steht das in der Variable "inputtext".
Vielleicht sind die 1sen auch ein L ![]()
Und nochmal, weil es irgendwie hier ignoriert wird.
Es ist UNMÖGLICH einen Spieler permanent zu bannen.
Es gibt inzwischen genug Anti-Trashmail Listen welche frei zugänglich sind
...wenn jemand bereit ist seinen Router neu zu starten um auf einem Server zu cheaten...ist er erst recht dazu bereit sich in 5sek (autofill) bei web.de ne mail zu registrieren..und du kannst das sicher nicht erkennen...denn im Endeffekt könnte es ja auch seine echte Mail sein ![]()
...du hast mich nicht verstanden...ich meinte damit, du kannst niemanden global bannen, da jeder einfach seine Ip ändern kann..
Ist zwar eine nette Idee...aber das bringt nichts...
Der betroffene startet seinen Router neu..und hat eine neue Ip...
Range Ip Ban...kannst du hier auch nicht machen, weil du sonst auf mehreren Servern ganze Gruppen an Leuten bannst...
Somit betrachtet...ist die Idee zwar gut, aber nicht umsetzbar.
Der Sinn von einem Bann bezieht sich ja auf den Account. Ein Spieler erspielt sich ja was auf dem Server...und er sollte sich gut benehmen, weil sonst alles was er sich erspielt hat..verloren geht.
mfg. ![]()
...An Brainfuck ist gedacht bei der Code Syntax..aber nicht an Pawn oder C / ++ / # ...genial ![]()
Und wie die funktion wenn er letzendlich ins fahrzeug gesetzt wird?
Naja...so:
new seat = GetVehicleFreeSeat(vehicleid);
if(seat == -1) return //Hier ist alles voll
PutPlayerInVehicle(pID,vehicleid,seat);
Naja..doch das hilft dir weiter:
stock GetVehicleFreeSeat(vehicleid)
{
const max_sitze = 4; //Gehen wir davon aus, dein Fahrzeug hat max 4 sitze:
new bool:free[max_sitze] = {true, ...};
for(new i=GetPlayerPoolSize()+1; --i!=-1;)
{
if(!IsPlayerConnected(i) || !IsPlayerInVehicle(i,vehicleid)) continue;
switch(GetPlayerVehicleSeat(i))
{
case 0: free[0] = false;
case 1: free[1] = false;
case 2: free[2] = false;
case 3: free[3] = false;
default: continue;
}
}
for(new i; i<max_sitze; i++) if(free[i]) return i;
return -1;
}
Wenn -1 returnt wird, ist alles voll ![]()
PS: Den switch hab ich gemacht, damit kein Memory accsess Fehler auftritt ![]()
mfg. ![]()
//Edit: ![]()
Leider nein.
Nimm anstatt der Special Action eine der 2 Animation, entweder:
//1. Chair sit:
ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.0,1,0,0,0,0);
//2. Ground sit
ApplyAnimation(playerid,"BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0);
Schreib mal in die erste Zeile:
if(HausID >= sizeof(HausInfo)) return 1;
KALIBER, habs mir mal genauer angeschaut...hab grad schwachsinn geschrieben..
Ja...hier siehst es noch deutlicher:
new i=5;
printf("%d",i--); //Das ergibt 5
i=5;
printf("%d",--i); //Das ergibt 4
Also...wie du siehst...besteht da ein Unterschied ![]()
//Edit: So würde meine Funktion funktionieren:
stock GetNearestPlayerAtObject(objectid)
{
new Float:x,Float:y,Float:z,playerid=-1;
GetDynamicObjectPos(objectid,x,y,z);
for(new i=GetPlayerPoolSize()+1,Float:tmp,Float:max=3000.0; --i!=-1;)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
tmp = GetPlayerDistanceFromPoint(i,x,y,z);
if(tmp < max) max=tmp,playerid=i;
}
return playerid;
}
n man Logisch denkt dann weiß man dass das gleiche bewirkt
Achso ja natürlich:
new i=5;
printf ("%d", i--);
printf ("%d",--i);
Und oh wunder...es werden unterschiedliche Werte geprintet ![]()
Dann schreib mal in der Schleife es so:
i--!=-1
nd können viel mehr!
Das stimmt so ja nicht...
Zum einen sind Actor asynchron...d.h. du kannst ihre Position leider nicht bestimmten und kannst deshalb auch nichts an sie attachen oder gezielt laufen lassen..zum anderen können sie keine Autos oder Züge fahren...und sie können nicht schießen o.ä.
Also NPCs haben durchaus noch Vorteile...auch wenn sie einen Slot belegen ![]()
PS: Actors können nur Animationen ausführen...aber auch diese müssen permanent synchronisiert werden.