Hallo,
Sind hier im Forum irgendwo die Grundkenntnisse aufgelistet ? Bräuchte da mal ein paar, z.B. Text-Labels, Spawn Punkte Fraktion mit Waffen,Spawn & Befehlen.
So kleine Dinger eben..
Beiträge von Mystogan
-
-
Ich denke nicht das mit dem new cmd es klappt weil new cmd ist schon defined hier das ergebnis
PAWN Quelltext1
2
3
4
5
6
7
8
9
10
11
12
13
14
15C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(17291) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(17299) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19020) : warning 219: local variable "strtok" shadows a variable at a preceding level
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : error 021: symbol already defined: "cmd"
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19032) : error 012: invalid function call, not a valid address
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19032) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19032) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19032) : error 001: expected token: ";", but found ")"
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19032) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19032) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
lösch die zeile 19031
und den rest kp.
gib mal den Public oder Command oder was du da hast -
ergäng mal mit
new cmd[128], idx;
cmd = strtok(cmdtext, idx); -
was ist die zeiel 19031?
-
@ Silent Pain
Als ich das ebend eingefügt hatte weil ich es nicht hatte kommt nun dieses:C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(17291) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(17299) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19020) : warning 219: local variable "strtok" shadows a variable at a preceding level
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : error 012: invalid function call, not a valid address
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : error 001: expected token: ";", but found ")"
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Daniel.DANIEL-C7E8E796\Desktop\Colo\gamemodes\CoLo.pwn(19031) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
gib mal die zeilen -
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
unten im script -
public PingTest()
{
for(new i= 0; i < GetMaxPlayers(); i++)
{
if(GetPlayerPing(i) >= 400)
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(i, name, sizeof(name));
PingWarnung[i] ++;
format(string,sizeof(string),"%s hast ein Warn bekommen. Grund: Hoher Ping(Über 400). ", name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
if(PingWarnung[i] > 3)
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(i, name, sizeof(name));
format(string,sizeof(string),"%s hast einen Kick bekommen. Grund: Hoher Ping(Über 400).[Zum 3. Mal] ", name);
SendClientMessageToAll(COLOR_YELLOW,string);
Kick(i);
}
}
return 1;
}
versuchs mal so -
die zeilen bitte
-
das muss unter die schleife
sry hatte mich vertahn -
Enzio mein kleiner ne
das ist kein zwingen -
wieso nciht die ganze?
trozdem nice -
Nee die gefallen mir nicht so
Ich will sowas wie Flyff haben ...
nur spannender -
Ich will auch MMORG haben -.- für die ferien.... help
-
Ich hab mir das neuste von code.Google.de Runtergeladen.
Hat noch jemand eine Version für 0.3d mit SAMP Patches ?
was meinste mit patches?
s0beit soll eig. erst ab 0.3e niemehr gehen -
GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
bei save playeR? -
bei mir funtz das geld geben nicht....
hehe
hat wer die lösung -
Zur Zeit sind 40 Benutzer online:
wie das forum jetzt befüllt ist -
Hallo Leute,
Ich wollte mal meine Referenzen etwas erhöhen
deswegen zeig ich euch mal wie man einen Ping Tester macht,
es ist kein großes System, jedoch hilfreich und ja es ist ein SchnippselWas ihr braucht:
- 2-7 Minuten Zeit
- eig. nicht mehr.Fangen wir an
Achso, davor noch es gibt 2 Möglich keiten,
einmal mit Warnungen und einmal Ohne.
Machen wir erstmal mit WarnungenAls Erstes erstellen wir ein New , bzw. die Warnings.
new PingWarnung[MAX_PLAYERS];
Ihr könnt es auch natürlich anders nennen. die Max Player bedeutet eig. nur das es immer erhöh bar ist.als nähstes erstellen wir den Timer.
forward PingTest();
Somit sagen wir dem Script, das wir in diesem Fall nen Timer haben wollen
public PingTest()
Das ist dann der Timer
Wir erstellen nun eine Schleife, und fragen somit alle User ab...
for(new i= 0; i < GetMaxPlayers(); i++)
anschließend die Ping Abfrage mit
if(GetPlayerPing(i) >= 400)
InDiesem Fall fragt man ab ob der Spieler mehr als 400 Ping hat, wenn er das hat, wollen wir ne Nachricht und ne WarnungPunkt geben. das machen wir mit
new string[64];
format(string,sizeof(string),"%s hast ein Warn bekommen. Grund: Hoher Ping(Über 400). ",/*Namen Abfragung*/);
SendClientMessageToAll(EURE FARBE, string);
Dan geben wir ihm noch nen WarnungPunkt mit
PingWarnung[i] ++;
Dann abfragen ob er schon 3 Warnings oder mehr schon hat mit
if(PingWarnung[i] > 3)
Dan kicken wir ihm mit
Kick(i);
wenn ihr wollt könnt ihr noch ne nachricht schreiben aber ich machs diesmal nicht
Jetzt fügen wir den Timer noch unter OnGameModeInit ein
SetTimer("PingTest",2000,true);
Damit wird es alle 2 Sekunden abgefragt[10 Sekunden wären auch gutaber 2-5 wären optimal
das wars dan auch mit der 1 Methode
Jetzt kommen wir zur 2x
Das gleiche nur das wir im Timer Public das
if(PingWarnung[i] > 3)
ganz auslassen
und bei if(GetPlayerPing(i) >= 400)
den kick einbauen
____________________-
Hier mal im Ganzen für die die es nicht verstanden habenMothode 1.
new PingWarnung[MAX_PLAYERS]; // Oben Im Script
forward PingTest(); // oben im Script
SetTimer("PingTest", 2000,true); // Unter OnGamemode Init//Unten Im Script
public PingTest()
{
for(new i= 0; i < GetMaxPlayers(); i++)
{
if(GetPlayerPing(i) >= 400)
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(i, name, sizeof(name));
PingWarnung[i] ++;
format(string,sizeof(string),"%s hast ein Warn bekommen. Grund: Hoher Ping(Über 400). ", name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
if(PingWarnung[i] > 3)
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(i, name, sizeof(name));
format(string,sizeof(string),"%s hast einen Kick bekommen. Grund: Hoher Ping(Über 400).[Zum 3. Mal] ", name);
SendClientMessageToAll(COLOR_YELLOW,string);
Kick(i);
}
}
return 1;
}Mothode 2.
forward PingTest(); // oben im Script
SetTimer("PingTest", 2000,true); // Unter OnGamemode Init//Unten Im Script
public PingTest()
{
for(new i= 0; i < GetMaxPlayers(); i++)
{
if(GetPlayerPing(i) >= 400)
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(i, name, sizeof(name));
PingWarnung[i] ++;
format(string,sizeof(string),"%s hast ein Warn bekommen. Grund: Hoher Ping(Über 400). ", name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
}
return 1;
}Oder Bei OnPlayerUpdate
for(new i= 0; i < GetMaxPlayers(); i++)
{
if(GetPlayerPing(i) >= 400)
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(i, name, sizeof(name));
PingWarnung[i] ++;
format(string,sizeof(string),"%s hast ein Warn bekommen. Grund: Hoher Ping(Über 400). ", name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
}____
Wenn ich etwas Falsch hab bitte sagen:Dp.s
das ist jetzt zum großteil freihand und ich bin müde, also garantie net garantiert -
ingame würds gehen aber nachm restart wären die objekte weg.
download dir den samp 0.3d map editor oder MTA -
nen timer mit ner abfrage