Jump to content
  • 0

Problem in public OnDialogResponse


CrystyXSR

Question

Nick:CrystyXSR

Problema: Server crashed while executing ...amx

Erori / warnings: nu am erori sau warn-uri in gm tot ce am gasit era in server_log.txt

[pawn][21:24:50] [debug] Server crashed while executing ...amx

[21:24:50] [debug] AMX backtrace:

[21:24:50] [debug] #0 00000056 in ?? (... <8 arguments>) at C:\Users\crysty\Desktop\EXTREM~1\Pawno\include\float.inc:109

[21:24:50] [debug] #1 00000056 in public OnDialogResponse () at C:\Users\crysty\Desktop\EXTREM~1\Pawno\include\float.inc:109[/pawn]

Lini/script: sunt peste 9.000 de linii in public-ul onplayerdialogresponse.

Ai incercat sa rezolvi singur ?: da.

FLOAT.INC

[pawn]/* Float arithmetic

*

* © Copyright 1999, Artran, Inc.

* Written by Greg Garner ([email protected])

* Modified in March 2001 to include user defined

* operators for the floating point functions.

*

* This file is provided as is (no warranties).

*/

#if defined _Float_included

  #endinput

#endif

#define _Float_included

#pragma library Float

/* Different methods of rounding */

enum floatround_method {

  floatround_round,

  floatround_floor,

  floatround_ceil,

  floatround_tozero,

  floatround_unbiased

}

enum anglemode {

  radian,

  degrees,

  grades

}

/**************************************************/

/* Convert an integer into a floating point value */

native Float:float(value);

/**************************************************/

/* Convert a string into a floating point value */

native Float:floatstr(const string[]);

/**************************************************/

/* Multiple two floats together */

native Float:floatmul(Float:oper1, Float:oper2);

/**************************************************/

/* Divide the dividend float by the divisor float */

native Float:floatdiv(Float:dividend, Float:divisor);

/**************************************************/

/* Add two floats together */

native Float:floatadd(Float:oper1, Float:oper2);

/**************************************************/

/* Subtract oper2 float from oper1 float */

native Float:floatsub(Float:oper1, Float:oper2);

/**************************************************/

/* Return the fractional part of a float */

native Float:floatfract(Float:value);

/**************************************************/

/* Round a float into a integer value */

native floatround(Float:value, floatround_method:method=floatround_round);

/**************************************************/

/* Compare two integers. If the two elements are equal, return 0.

  If the first argument is greater than the second argument, return 1,

  If the first argument is less than the second argument, return -1. */

native floatcmp(Float:oper1, Float:oper2);

/**************************************************/

/* Return the square root of the input value, same as floatpower(value, 0.5) */

native Float:floatsqroot(Float:value);

/**************************************************/

/* Return the value raised to the power of the exponent */

native Float:floatpower(Float:value, Float:exponent);

/**************************************************/

/* Return the logarithm */

native Float:floatlog(Float:value, Float:base=10.0);

/**************************************************/

/* Return the sine, cosine or tangent. The input angle may be in radian,

  degrees or grades. */

native Float:floatsin(Float:value, anglemode:mode=radian);

native Float:floatcos(Float:value, anglemode:mode=radian);

native Float:floattan(Float:value, anglemode:mode=radian);

/**************************************************/

/* Return the absolute value */

native Float:floatabs(Float:value);

/**************************************************/

#pragma rational Float

/* user defined operators */

native Float:operator*(Float:oper1, Float:oper2) = floatmul;

native Float:operator/(Float:oper1, Float:oper2) = floatdiv;

native Float:operator+(Float:oper1, Float:oper2) = floatadd;

native Float:operator-(Float:oper1, Float:oper2) = floatsub;

native Float:operator=(oper) = float;

stock Float:operator-(Float:oper)

    return oper^Float:cellmin;                  /* IEEE values are sign/magnitude */

stock Float:operator*(Float:oper1, oper2)

    return floatmul(oper1, float(oper2));      /* "*" is commutative */

stock Float:operator/(Float:oper1, oper2)

    return floatdiv(oper1, float(oper2));

stock Float:operator/(oper1, Float:oper2)

    return floatdiv(float(oper1), oper2);

stock Float:operator+(Float:oper1, oper2)

    return floatadd(oper1, float(oper2));      /* "+" is commutative */

stock Float:operator-(Float:oper1, oper2)

    return floatsub(oper1, float(oper2));

stock Float:operator-(oper1, Float:oper2)

    return floatsub(float(oper1), oper2);

stock bool:operator==(Float:oper1, Float:oper2)

    return floatcmp(oper1, oper2) == 0;

stock bool:operator==(Float:oper1, oper2)

    return floatcmp(oper1, float(oper2)) == 0;  /* "==" is commutative */

stock bool:operator!=(Float:oper1, Float:oper2)

    return floatcmp(oper1, oper2) != 0;

stock bool:operator!=(Float:oper1, oper2)

    return floatcmp(oper1, float(oper2)) != 0;  /* "!=" is commutative */

stock bool:operator>(Float:oper1, Float:oper2)

    return floatcmp(oper1, oper2) > 0;

stock bool:operator>(Float:oper1, oper2)

    return floatcmp(oper1, float(oper2)) > 0;

stock bool:operator>(oper1, Float:oper2)

    return floatcmp(float(oper1), oper2) > 0;

stock bool:operator>=(Float:oper1, Float:oper2)

    return floatcmp(oper1, oper2) >= 0;

stock bool:operator>=(Float:oper1, oper2)

    return floatcmp(oper1, float(oper2)) >= 0;

stock bool:operator>=(oper1, Float:oper2)

    return floatcmp(float(oper1), oper2) >= 0;

stock bool:operator<(Float:oper1, Float:oper2)

    return floatcmp(oper1, oper2) < 0;

stock bool:operator<(Float:oper1, oper2)

    return floatcmp(oper1, float(oper2)) < 0;

stock bool:operator<(oper1, Float:oper2)

    return floatcmp(float(oper1), oper2) < 0;

stock bool:operator<=(Float:oper1, Float:oper2)

    return floatcmp(oper1, oper2) <= 0;

stock bool:operator<=(Float:oper1, oper2)

    return floatcmp(oper1, float(oper2)) <= 0;

stock bool:operator<=(oper1, Float:oper2)

    return floatcmp(float(oper1), oper2) <= 0;

stock bool:operator!(Float:oper)

    return (_:oper & cellmax) == 0;

/* forbidden operations */

forward operator%(Float:oper1, Float:oper2);

forward operator%(Float:oper1, oper2);

forward operator%(oper1, Float:oper2);

[/pawn]

93.119.26.23:7777

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.