Soll ich jetzt lieber mit SII( was ich soweit gut kann weiter nutzen) oder soll ich MySQL lernen ??
Beiträge von Micktor
-
-
Damke der rest hat sich von selbst geklärt
-
Die letzten 4 Themen sind eig alle sinnlos
Raucht ihr ??
Kifft ihr ??
welches Handy habt ihr ??
und das hier ...
Pixelb2t :
Kennt eig jeder aber wenn man das auf youtube eingibt sieht man sich wie sich die Kinder erschrecken -
Hallo ,
ich versuche mir grade die schleifen etwas genauer anzuschauen habe hier 2 Beispiel die
nicht so ganz funktionieren wie ich es eigentlich gedacht habe.
DO:
new x=5;
new y=2;
do
{
new str[32];
format(str,32,"X=%d,Y=%d",x,y);
SendClientMessageToAll(COLOR_DEBUG,str);
y++;
}
while(x>y);
soll heißen tue was in do steht während x größer als y ist aber er tut es dauer haft .. also man wird im Chat zu gespammt
FOR:
for(new x;x<=3;x++)
{
new str[32];
format(str,32,"X=%d",x);
SendClientMessageToAll(COLOR_DEBUG,str);
}
soll heißen mache solange was in for steht bis x = 3 ist also die Message sollte 3 mal kommen
hier wird man aber auch wieder im Chat zugesammt und es kommt X=0,X=1,X=2,X=3
also 4 mal
was eigentlich nicht sein dürfte
hoffe ihr könnt mir es erklären
pixel -
Ich habe ein Sony Ericsson k610i
es reicht mir ich brauche diesen ganzen Quatsch mit Touch und sowas nicht -
dasdcmd_slap(playerid,cmdtext)
{
new pID,pSize;
if(sscanf(params, "dd",pID,pSize))
{
//wenn nur /slap eingegeben worden ist
}
new Float:X,Float:Y,Float:Z;
GetPlayerPos(pID,X,Y,Z);
SetPlayerPos(pID,X,Y,Z+pSize);
return 1;
}
in das ersetzten das geht es hoffe ich
dcmd_slap(playerid,params[])
{
new pID,pSize;
if(sscanf(params,"dd",pID,pSize))
{
return SendClientMessage(playerid,COLOR_ROT,"Verwendung: /slap [playerid] [höhe]");
}
new Float:X,Float:Y,Float:Z;
GetPlayerPos(pID,X,Y,Z);
SetPlayerPos(pID,X,Y,Z+pSize);
return 1;
} -
Zitat
Hast du aber fein erklärt, bekommst Seife, meld dich mal.
Fühlst du dich jetzt ganz toll ??
Ganz ehrlich das ist kiddy ...B2T:
Wie oben schon gesagt du solltest dir das hier mal durchlesen -
Ok hier sollte gehen
Oben in deinem Script unter include <a_samp>
kommt das
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
unter OnPlayerCommandText kommtdcmd(slap,4,cmdtext);
das dcmd_slap(playerid,cmdtext)
{
new pID,pSize;
if(sscanf(params, "dd",pID,pSize))
{
//wenn nur /slap eingegeben worden ist
}
new Float:X,Float:Y,Float:Z;
GetPlayerPos(pID,X,Y,Z);
SetPlayerPos(pID,X,Y,pSize);
return 1;
}
kommt ganz nach unten und das hier stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{
new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}kommt auch ganz nach unten -
du brauchst auch dcmd und sscanf am besten du liest dir das mal durch
-
Arg stimmt dcmd_slap(playerid,cmdtext)
{
new pID,pSize;
if(sscanf(params, "df",pID,pSize)) //<<<---- so meinst du ??
{
//wenn nur /slap eingegeben worden ist
}
new Float:X,Float:Y,Float:Z;
GetPlayerPos(pID,X,Y,Z);
SetPlayerPos(pID,X,Y,pSize);
return 1;
} -
dcmd(slap,4,cmdtext);
dcmd_slap(playerid,cmdtext)
{
new pID,pSize;
if(sscanf(params, "dd",pID,pSize))
{
//wenn nur /slap eingegeben worden ist
}
new Float:X,Float:Y,Float:Z;
GetPlayerPos(pID,X,Y,Z);
SetPlayerPos(pID,X,Y,pSize);
return 1;
}
Nicht getestet -
new a;
do a++;
while(a<10);SendClientMessage(playerid,COLOR_DEBUG,"DEBUG sagt Funktioniert!");
aber die SendClientMessage kommt immer wieder ...
while sagt doch aus ist a kleiner als 10 und do
erhöht sie jedes mal ?? -
do
ich glaube das ist eine Schleife aber ich habe die so selten gesehen
das sie mir garnicht aufgefallen ist dennoch möchte ich jetzt wissen was sie macht
was sie für ein Zweck hat -
ich habe eigentlich nie Probleme mit Viren bekomme so selten Viren ...
AntiVir meldet nur immer das von der externen Festplatte das Autostart geblockt wird
aber sonst eigentlich nie und ich denke auch nicht das die Seite hier infiziert ist .
Pixel -
Hier mal ein Beispiel
public OnPlayerText(playerid, text[])
{
new Rang = SpielerDaten[playerid][Adminlevel];
new Nachricht[256];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
switch(Rang)
{
case 1:{format(Nachricht,sizeof(Nachricht),"Supporter %s:%s",pName,text);}
case 2:{format(Nachricht,sizeof(Nachricht),"Moderator %s:%s",pName,text);}
case 3:{format(Nachricht,sizeof(Nachricht),"Admin %s:%s",pName,text);}
}
return SendClientMessage(playerid,COLOR_WEISS,Nachricht);
}
Hoffe das ist das was ihr meint nicht getestet
Pixel
//edit bei ]hp[´s Variante wird immer [Admin] Text gemachtbei meiner nicht
kleinen Bug gefixxt -
Ich finde das Forum etwas zu dunkel aber sonst sieht es ganz gut aus bin am überlegen ob ich mir auch einen Server dort hole
-
Ich finde die Seite ansich schön und übersichtlich aufgebaut und der Schlagschatten gefällt mir auch aber der graue Hintergrund ist zu einfach
-
Und wenn mich ich mich nicht irre musst du den alten auch erst löschen wenn du rein fährst
-
Wenn du das wie Portgas D Ace machst darfst du aber nicht auf dem Server angemeldet sein mit deinem Account ( den du bearbeiten möchtest)
-
Kein Wunder
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/rentcar", cmdtext, true, 0) == 0)
{
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == BMX1 || Vehicle == BMX2 || Vehicle == BMX3 || Vehicle == BMX4 || Vehicle == BMX5 || Vehicle == BMX6){ //<-- die ist zu viel einfach weg machen
{
GivePlayerMoney(playerid,-25);
TogglePlayerControllable(playerid, 1);
mietauto = Vehicle;
renttimer = SetTimer("rentcar",15000,false);
SendClientMessage(playerid,COLOR_GREEN,"Du hast dieses Auto erfolgreich gemietet.");
}
else
{
SendClientMessage(playerid,COLOR_GREEN,"Du bist in keinem Mietauto");
}
return 1;
}
return 0;
}
Netter Name