Eine API (UDF 0.3.7) wird für GetChatLine benötigt, du musst ein Timer erstellen, der diesen Prozess alle X-Millisekunden wiederholen und den String-Inhalt prüfen.
Wenn du mir mehr Informationen und ChatLogs dazu gibst, kann ich dir helfen.
Eine API (UDF 0.3.7) wird für GetChatLine benötigt, du musst ein Timer erstellen, der diesen Prozess alle X-Millisekunden wiederholen und den String-Inhalt prüfen.
Wenn du mir mehr Informationen und ChatLogs dazu gibst, kann ich dir helfen.
Eventuell musst du wenn es ein Linux Server ist noch den Port freigeben (vServer oder höher).
Andernfalls hast du kein Zugriff oder die Daten sind falsch.
Musst zuvor jedoch die Multi-Connetion Funktion aktivieren.
Siehe dafür r33 Erklärung.
Echt sehr schöne Map, nur gefällt mir dort dieses Beige nicht so schön, da man dort die Konturen nicht sehen kann.
Sonst gut gemacht.
Genau wie bei deinem SendClientMessage da oben.
Erst formatieren und dann den Text mit der String-Variable ersetzen.
@XeroX deswegen steht auch im Wiki, dass man unbedingt den cache nach Gebrauch löschen muss.
Darf ich fragen warum?
Klar,
es nimmt zusätzliche Ressourcen für einen Wiedergabewert ein, den man auch über das "kleinere" Verfahren herauskriegen kann.
Ist in meinen Augen übersichtlicher und kompakter, ist aber im Endeffekt Geschmackssache.
Es geht ja schließlich um eine X-Zahl.
format(query,sizeof(query),"SELECT COUNT(besitzer) FROM hanf WHERE besitzer = '%s') ",SpielerName(playerid));
format(query,sizeof(query),"SELECT COUNT(besitzer) FROM hanf WHERE besitzer = '%s' ",SpielerName(playerid));
Das würde ich aber lieber per MySQL-Query und seiner Cache-Funktion machen.
Da ist ein neues Public dafür in meinen Augen relativ ungeeignet (sofern R33+, keine Ahnung mehr inwiefern sich diese unterscheiden).
Sprich:
new Cache:result = mysql_query(verbindungsid,query,true);
Dann einfach den Inhalt auslesen und mit cache_delete(result); den Speicher bereinigen.
Hey, das liegt daran, dass der Inhalt oben wahrscheinlich in einem Timer steht.
Wird der Timer mehrfach aufgerufen, wird der Timer auch mehrfach gestartet.
D.h. du musst dafür Sorge tragen, dass der Timer wirklich nur 1x gestartet wird.
z.B.
new Float:bhealth;
GetPlayerHealth(playerid, bhealth);
if(bhealth > 6.0)
{
TextDrawHideForPlayer(playerid,VERLETZT);
TextDrawShowForPlayer(playerid,Ts3);
TextDrawShowForPlayer(playerid,TsIp);
KillTimer(Verletzttimer[playerid]);
SetPVarInt(playerid,"verletzt_timer",0);
}
else if(bhealth < 6.0 && GetPVarInt(playerid,"verletzt_timer") != 1)
{
LoopingAnim(playerid, "SWEET", "Sweet_injuredloop", 2.5, 1, 0, 0, 0, 0); // Dieing of Crac
RemovePlayerFromVehicle(playerid);
TextDrawShowForPlayer(playerid,VERLETZT);
TextDrawHideForPlayer(playerid,Ts3);
Verletzttimer[playerid] = SetTimerEx("verletztsein",60000,0,"i",playerid);
TextDrawHideForPlayer(playerid,TsIp);
SetPVarInt(playerid,"verletzt_timer",1);
}
E: Was heißt wahrscheinlich, OnPlayerUpdate kann mehr als 10x pro Sekunde aufgerufen werden. xD
Gruß.
Dies habe ich für die Sprunkautomaten auch gemacht.
Ich habe das ganze so gelöst:
Cif(GetPlayerAnimationIndex(playerid)){ new animlib[32], animname[32]; GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32); if(strcmp(animname,"VEND_USE",true) == 0){ TogglePlayerControllable(playerid,0); TogglePlayerControllable(playerid,1); return SendClientMessage(playerid,-1,"Du kannst dir hier kein Getränk kaufen!"); } }
Danke, habe es aber etwas anders gelöst.
if(!strcmp(animlib,"VENDING",true)){
if((GetPVarFloat(playerid,"health") - health[0]) != 35.0)
SetPVarFloat(playerid,"health",health[0]+35.0);
}
Brauchte das für mein Anti-Cheat.
Empfehle dir aber das ebenfalls mit "animlib" zu machen, da es verschiedene VEND_USE-Arten gibt.
Gibt es eine Liste mit allen Heal-Automaten in SA oder gar eine Funktion mit der man abfragen kann, ob der Spieler in der Nähe eines Automaten ist, beziehungsweise mit ihm agiert?
Finde ich recht schick, sehr gut gemacht. =)
Naja, wurde es offiziell nicht. Es gab wohl Leute die es ohne Erlaubnis weitergegeben haben, aber das war es auch schon.
Soweit ich mich erinnere wurde das Script verkauft und dann von Team-Mitgliedern veröffentlicht.
Schade wenn man beachtet, wie viel Mühe dahinter steckte.
Es geht ums Betriebssystem, nicht um MySQL.
Hat dir mein Vorschlag geholen? Ja oder Nein?
Kontraproduktiv wenn du keine Resultate vorstellst.
Ich empfehle dir ohne Kenntnisse umbedingt zu Windows zu wechseln.
--------
MySQL installieren (falls nicht) und ggf. Das googlen: Linux MTA Server
Dann gehst du unter die 64bit Variante.
Dort wird von den MTA Herstellern eine Variante angeboten, die bei mir bisher immer funktionierte.
Gruß.
Darmstadt
Willkommen, und zu nah an mir v.v
Würde eine Wiederholung ebenfalls sinnvoll finden.
Wenn dann reine ST-G Mitglieder spielen hat man ein faires Duell und kein Mischmasch.
Zudem waren die Umstände schon so, dass es kein faires Ergebnis hätte geben können.
Koordinaten nach unten setzen oder oben \n hinklatschen.
OVH, würde aber eher zum deutschen Bereich greifen.
Da liegt bei mir SignalTransmitter ganz weit vorne!